.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:var(--space-6);background-color:var(--color-primary);color:var(--color-primary-contrast);text-align:center}.app-header h1{color:var(--color-primary-contrast);margin-bottom:var(--space-2)}.app-header p{color:var(--color-primary-contrast);font-size:var(--font-size-lg)}.app-main{flex:1;padding:var(--space-6)}.alert{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);border-radius:8px;border:1px solid;max-width:600px;position:relative;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.alert--full-width{max-width:100%}.alert--info{background-color:#17a2b81a;border-color:var(--color-info);color:var(--color-info-dark)}.alert--info .alert__icon{color:var(--color-info)}.alert--success{background-color:#28a7451a;border-color:var(--color-success);color:var(--color-success-dark)}.alert--success .alert__icon{color:var(--color-success)}.alert--warning{background-color:#ffc1071a;border-color:var(--color-warning);color:var(--color-warning-dark)}.alert--warning .alert__icon{color:var(--color-warning-dark)}.alert--error{background-color:#dc35451a;border-color:var(--color-danger);color:var(--color-danger-dark)}.alert--error .alert__icon{color:var(--color-danger)}.alert__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px}.alert__content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.alert__title{font-weight:var(--font-weight-bold);font-size:var(--font-size-base);margin:0}.alert__message{font-size:var(--font-size-sm);margin:0;word-wrap:break-word;overflow-wrap:break-word}.alert__action{align-self:flex-start;margin-top:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:transparent;border:1px solid currentColor;border-radius:6px;color:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.alert__action:hover{background-color:#0000000d}.alert__action:focus-visible{outline:2px solid currentColor;outline-offset:2px}.alert__action:active{transform:scale(.98)}.alert__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:4px;color:inherit;cursor:pointer;opacity:.6;transition:all .2s ease}.alert__close:hover{opacity:1;background-color:#0000000d}.alert__close:focus-visible{outline:2px solid currentColor;outline-offset:2px;opacity:1}.alert__close:active{transform:scale(.95)}@media(max-width:640px){.alert{padding:var(--spacing-3);gap:var(--spacing-2)}.alert__title{font-size:var(--font-size-sm)}.alert__message{font-size:var(--font-size-xs)}.alert__action{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs)}}.toast-wrapper{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:9999;min-width:520px;max-width:780px;width:max-content;animation:toast-slide-in .3s ease-out}.toast-wrapper .alert{box-shadow:0 8px 32px #0000002e;padding:20px 24px;gap:14px;max-width:100%}.toast-wrapper .alert--info{background-color:#17a2b8;color:#fff}.toast-wrapper .alert--success{background-color:#28a745;color:#fff}.toast-wrapper .alert--warning{background-color:#ffc107;color:#1a1a1a}.toast-wrapper .alert--error{background-color:#dc3545;color:#fff}.toast-wrapper .alert__icon{flex-shrink:0;margin-top:1px}.toast-wrapper .alert__title{font-size:1rem;font-weight:600}.toast-wrapper .alert__message{font-size:.9375rem}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:480px){.toast-wrapper{min-width:unset;max-width:calc(100vw - 32px);width:calc(100vw - 32px)}}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;overflow:hidden}.avatar--sm{width:32px;height:32px}.avatar--md{width:48px;height:48px}.avatar--lg{width:64px;height:64px}.avatar__initials{font-weight:var(--font-weight-semibold);color:var(--color-white);line-height:1;-webkit-user-select:none;user-select:none}.avatar--sm .avatar__initials{font-size:var(--font-size-xs)}.avatar--md .avatar__initials{font-size:var(--font-size-sm)}.avatar--lg .avatar__initials{font-size:var(--font-size-lg)}.avatar--color-0{background-color:#4f46e5}.avatar--color-1{background-color:#7c3aed}.avatar--color-2{background-color:#db2777}.avatar--color-3{background-color:#059669}.avatar--color-4{background-color:#d97706}.avatar--color-5{background-color:#dc2626}.avatar--color-6{background-color:#0284c7}.badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap;-webkit-user-select:none;user-select:none}.badge--sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.badge--md{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.badge--success{background-color:var(--color-success-light);color:var(--color-success-contrast)}.badge--warning{background-color:var(--color-warning);color:var(--color-warning-contrast)}.badge--error{background-color:var(--color-danger);color:var(--color-danger-contrast)}.badge--info{background-color:var(--color-info);color:var(--color-info-contrast)}.badge--neutral{background-color:var(--color-gray-200);color:var(--color-gray-700)}@media(prefers-color-scheme:dark){.badge--neutral{background-color:var(--color-gray-700);color:var(--color-gray-200)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);position:relative;font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);text-align:center;text-decoration:none;white-space:nowrap;text-wrap:nowrap;vertical-align:middle;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,color .2s ease-in-out,box-shadow .2s ease-in-out,opacity .2s ease-in-out}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn:disabled,.btn.btn--loading{cursor:not-allowed;opacity:.6}.btn--sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);min-height:2rem}.btn--md{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);min-height:2.5rem}.btn--lg{padding:var(--space-4) var(--space-6);font-size:var(--font-size-lg);min-height:3rem}.btn--primary{background-color:var(--color-primary);color:var(--color-primary-contrast);border-color:var(--color-primary)}.btn--primary:hover:not(:disabled,.btn--loading){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn--primary:active:not(:disabled,.btn--loading){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:inset 0 2px 4px #0000001a}.btn--secondary{background-color:var(--color-secondary);color:var(--color-secondary-contrast);border-color:var(--color-secondary)}.btn--secondary:hover:not(:disabled,.btn--loading){background-color:var(--color-secondary-dark);border-color:var(--color-secondary-dark)}.btn--secondary:active:not(:disabled,.btn--loading){background-color:var(--color-secondary-dark);border-color:var(--color-secondary-dark);box-shadow:inset 0 2px 4px #0000001a}.btn--danger{background-color:var(--color-danger);color:var(--color-danger-contrast);border-color:var(--color-danger)}.btn--danger:hover:not(:disabled,.btn--loading){background-color:var(--color-danger-dark);border-color:var(--color-danger-dark)}.btn--danger:active:not(:disabled,.btn--loading){background-color:var(--color-danger-dark);border-color:var(--color-danger-dark);box-shadow:inset 0 2px 4px #0000001a}.btn--ghost{background-color:transparent;color:var(--color-text-primary);border-color:var(--color-border)}.btn--ghost:hover:not(:disabled,.btn--loading){background-color:var(--color-hover);border-color:var(--color-border-dark)}.btn--ghost:active:not(:disabled,.btn--loading){background-color:var(--color-gray-100);border-color:var(--color-border-dark);box-shadow:inset 0 2px 4px #0000000d}.btn--text{background-color:transparent;color:var(--color-text-primary);border-color:transparent}.btn--text:hover:not(:disabled,.btn--loading){background-color:var(--color-hover);border-color:transparent}.btn--text:active:not(:disabled,.btn--loading){background-color:var(--color-hover);border-color:transparent;box-shadow:none}.btn__spinner{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em}.btn__spinner svg{width:100%;height:100%;animation:btn-spin 1s linear infinite}@keyframes btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn__content{display:inline-flex;align-items:center;gap:var(--space-2)}.btn__content--loading{opacity:0}.card{background:var(--color-surface);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.card--default{border:1px solid var(--color-border)}.card--outlined{border:2px solid var(--color-border)}.card--elevated{border:none;box-shadow:var(--shadow-md)}.card--full-width{width:100%}.card__header{padding:var(--space-6);border-bottom:1px solid var(--color-border)}.card__body{padding:var(--space-6);flex:1}.card__footer{padding:var(--space-6);display:flex;justify-content:center;position:relative}.card__footer:before{content:"";position:absolute;left:var(--space-6);right:var(--space-6);top:0;height:1px;background:var(--color-border)}.card__body:first-child{border-top:none}.card__body:last-child{border-bottom:none}.checkbox-wrapper{display:flex;flex-direction:column;gap:var(--space-1)}.checkbox-container{display:flex;align-items:flex-start;gap:var(--space-2)}.checkbox-input{appearance:none;width:1.125rem;height:1.125rem;border:2px solid var(--color-border-dark);border-radius:var(--radius-sm);background-color:var(--color-white);cursor:pointer;position:relative;flex-shrink:0;margin-top:.125rem;transition:all .2s ease}.checkbox-input:hover:not(:disabled){border-color:var(--color-primary);background-color:var(--color-hover)}.checkbox-input:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 3px #0066cc1a}.checkbox-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-input:checked:after{content:"";position:absolute;left:.25rem;top:.0625rem;width:.375rem;height:.625rem;border:solid var(--color-white);border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-input--error{border-color:var(--color-danger)}.checkbox-input--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc35451a}.checkbox-input--disabled{cursor:not-allowed;opacity:.5;background-color:var(--color-gray-100)}.checkbox-label{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label--disabled{color:var(--color-text-disabled);cursor:not-allowed}.checkbox-error-message{color:var(--color-danger);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-left:calc(1.125rem + var(--space-2))}.checkbox-helper-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-left:calc(1.125rem + var(--space-2))}.container{margin-left:auto;margin-right:auto;width:100%}.container--sm{max-width:640px}.container--md{max-width:768px}.container--lg{max-width:1024px}.container--xl{max-width:1280px}.container--2xl{max-width:1536px}.container--full{max-width:100%}.container--fluid{max-width:none}.container--padding{padding-left:var(--space-md);padding-right:var(--space-md)}@media(min-width:640px){.container--padding{padding-left:var(--space-lg);padding-right:var(--space-lg)}}@media(min-width:1024px){.container--padding{padding-left:var(--space-xl);padding-right:var(--space-xl)}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal-backdrop);padding:var(--space-4);animation:modal-fade-in .2s ease}.modal{position:relative;background-color:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);z-index:var(--z-index-modal);max-height:90vh;overflow:hidden;display:flex;flex-direction:column;width:100%;animation:modal-slide-in .3s ease}.modal-sm{max-width:400px}.modal-md{max-width:600px}.modal-lg{max-width:800px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-component-lg);border-bottom:1px solid var(--color-border)}.modal-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.modal-close{background:none;border:none;font-size:var(--font-size-3xl);line-height:var(--line-height-none);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-0);width:var(--space-8);height:var(--space-8);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease}.modal-close:hover{background-color:var(--color-hover);color:var(--color-text-primary)}.modal-close:focus{outline:2px solid var(--color-focus);outline-offset:2px}.modal-body{padding:var(--spacing-component-lg);overflow-y:auto;flex:1}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--spacing-component-lg);border-top:1px solid var(--color-border);background-color:var(--color-background-secondary)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.modal-overlay{padding:var(--space-2)}.modal{max-height:95vh}.modal-sm,.modal-md,.modal-lg{max-width:100%}.modal-header,.modal-body,.modal-footer{padding:var(--spacing-component-md)}}.dialog{display:flex;flex-direction:column;gap:var(--space-3)}.dialog__description{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.dialog__content{display:flex;flex-direction:column;gap:var(--space-2)}.dropdown{position:relative;display:inline-block}.dropdown__trigger{all:unset;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.dropdown__trigger:disabled{cursor:not-allowed;opacity:.5}.dropdown__trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--spacing-xs)}.dropdown__menu{position:absolute;z-index:1000;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--spacing-sm);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:180px;max-width:320px;padding:var(--spacing-xs) 0;animation:dropdown-fade-in .15s ease-out}@keyframes dropdown-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dropdown__menu--bottom{top:calc(100% + var(--spacing-xs));left:0}.dropdown__menu--top{bottom:calc(100% + var(--spacing-xs));left:0}.dropdown__menu--right{left:calc(100% + var(--spacing-xs));top:0}.dropdown__menu--left{right:calc(100% + var(--spacing-xs));top:0}.dropdown__menu--auto{top:calc(100% + var(--spacing-xs));left:0}.dropdown__item{all:unset;display:flex;align-items:center;width:100%;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);transition:background-color .15s ease,color .15s ease;box-sizing:border-box;text-align:left}.dropdown__item:hover:not(:disabled){background-color:var(--color-background-hover)}.dropdown__item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.dropdown__item--focused{background-color:var(--color-background-hover)}.dropdown__item:disabled{cursor:not-allowed;opacity:.5;color:var(--color-text-tertiary)}.dropdown__item--danger{color:var(--color-error)}.dropdown__item--danger:hover:not(:disabled){background-color:var(--color-error-light, #fee);color:var(--color-error)}.dropdown__item-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:var(--spacing-sm);flex-shrink:0}.dropdown__item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown__separator{height:1px;background-color:var(--color-border);margin:var(--spacing-xs) 0}.dropdown--small .dropdown__item{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-small)}.dropdown--small .dropdown__menu{min-width:140px}.dropdown--medium .dropdown__item{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-body)}.dropdown--medium .dropdown__menu{min-width:180px}.dropdown--large .dropdown__item{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-large)}.dropdown--large .dropdown__menu{min-width:220px}@media(max-width:768px){.dropdown__menu{min-width:160px;max-width:280px}}.input-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.input-wrapper--full-width{width:100%}.input-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-tight)}.input-label__required{color:var(--color-danger);margin-left:var(--space-1)}.input{width:100%;font-family:var(--font-family-sans);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all .2s ease-in-out;outline:none}.input::placeholder{color:var(--color-text-disabled)}.input:-webkit-autofill,.input:-webkit-autofill:hover,.input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text-primary);box-shadow:0 0 0 1000px var(--color-background) inset;transition:background-color 5000s ease-in-out 0s}.input--sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-tight);min-height:2rem}.input--md{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);line-height:var(--line-height-normal);min-height:2.5rem}.input--lg{padding:var(--space-4) var(--space-5);font-size:var(--font-size-lg);line-height:var(--line-height-normal);min-height:3rem}.input:hover:not(:disabled,:read-only){border-color:var(--color-border-dark)}.input:focus:not(:disabled,:read-only){border-color:var(--color-focus);box-shadow:0 0 0 3px #0066cc1a}.input--error{border-color:var(--color-danger)}.input--error:focus:not(:disabled,:read-only){border-color:var(--color-danger);box-shadow:0 0 0 3px #dc35451a}.input--disabled{background-color:var(--color-background-tertiary);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.input--readonly{background-color:var(--color-background-secondary);cursor:default}.input--full-width{width:100%}.input-helper{display:block;font-size:var(--font-size-xs);line-height:var(--line-height-tight);color:var(--color-text-secondary)}.input-helper--error{color:var(--color-danger)}.input-story-container{display:flex;flex-direction:column;gap:var(--space-6)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8);border-radius:var(--radius-lg);background-color:var(--color-background);min-height:300px}.empty-state--transparent{background-color:transparent}.empty-state__icon{color:var(--color-gray-400);margin-bottom:var(--space-4);display:flex;align-items:center;justify-content:center}.empty-state__content{max-width:400px;margin-bottom:var(--space-6)}.empty-state__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;line-height:var(--line-height-tight)}.empty-state__description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-normal)}.empty-state__actions{display:flex;gap:var(--space-3);align-items:center;justify-content:center;flex-wrap:wrap}.empty-state--sm{padding:var(--space-6);min-height:200px}.empty-state--sm .empty-state__icon{margin-bottom:var(--space-3)}.empty-state--sm .empty-state__content{max-width:300px;margin-bottom:var(--space-4)}.empty-state--sm .empty-state__title{font-size:var(--font-size-lg)}.empty-state--sm .empty-state__description{font-size:var(--font-size-sm)}.empty-state--lg{padding:var(--space-12);min-height:400px}.empty-state--lg .empty-state__icon{margin-bottom:var(--space-6)}.empty-state--lg .empty-state__content{max-width:500px;margin-bottom:var(--space-8)}.empty-state--lg .empty-state__title{font-size:var(--font-size-2xl)}.empty-state--lg .empty-state__description{font-size:var(--font-size-lg)}@media(max-width:640px){.empty-state{padding:var(--space-6);min-height:250px}.empty-state__content{max-width:100%}.empty-state__actions{flex-direction:column;width:100%}.empty-state__actions button{width:100%}}.error-state{width:100%;display:flex}.info-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);padding:.25rem 0}.info-row__label{color:var(--color-text-secondary)}.info-row__value{font-weight:var(--font-weight-medium)}.info-row__value--success{color:var(--color-success)}.notification-panel__item{border-radius:var(--radius-md)}.notification-panel__item--unread{background-color:var(--color-hover)}.notification-panel__item--read{background-color:transparent}.notification-panel__item-button{width:100%;border:none;background:none;text-align:left;display:flex;gap:var(--space-2);padding:var(--space-2);cursor:pointer}.notification-panel__item-icon{color:var(--color-primary);margin-top:var(--space-1)}.notification-panel__item-content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.notification-panel__item-top{display:flex;align-items:center;gap:var(--space-2)}.notification-panel__item-title{color:var(--color-text-primary);font-size:var(--font-size-sm)}.notification-panel__item-message,.notification-panel__item-time{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.notification-panel__item-dot{width:.5rem;height:.5rem;border-radius:var(--radius-full);background-color:var(--color-danger)}.notification-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background-primary);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);max-height:24rem}.notification-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.notification-panel__title{margin:0;font-size:var(--font-size-sm);color:var(--color-text-primary)}.notification-panel__mark-all{border:none;background:none;color:var(--color-primary);font-size:var(--font-size-xs);cursor:pointer;padding:0}.notification-panel__mark-all:disabled{color:var(--color-text-secondary);cursor:not-allowed}.notification-panel__error{margin:0;color:var(--color-danger);font-size:var(--font-size-sm)}.notification-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto}.navbar__overlay{position:fixed;inset:0;background-color:#0006;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:100}.navbar__overlay--open{opacity:1;pointer-events:auto}.navbar__sidemenu{position:fixed;top:0;right:0;width:360px;height:100vh;border-left:1px solid var(--color-border);background-color:var(--color-background-secondary);transform:translate(100%);transition:transform .2s ease;z-index:200;display:flex;flex-direction:column;will-change:transform}.navbar__user-section{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border)}.navbar__user-avatar{width:2rem;height:2rem;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-hover);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.navbar__user-details{min-width:0}.navbar__notification-trigger{margin-left:auto;border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:transparent;color:var(--color-text-primary);width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.navbar__notification-badge{position:absolute;top:-.3rem;right:-.3rem;min-width:1rem;height:1rem;border-radius:var(--radius-full);background-color:var(--color-danger);color:var(--color-danger-contrast);font-size:.625rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0 .2rem}.navbar__notification-panel-wrapper{padding:0 var(--space-4) var(--space-3)}.navbar__user-name{margin:0;font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.navbar__user-email{margin:0;margin-top:var(--space-1);font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar__sidemenu--open{transform:translate(0)}.navbar__nav{display:flex;flex-direction:column;padding:var(--space-4);gap:var(--space-2);flex:1}.navbar__nav-link{display:block;padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text-primary)}.navbar__nav-link:hover{background-color:var(--color-hover);text-decoration:none}.navbar__nav-link--active{background-color:var(--color-hover);font-weight:var(--font-weight-medium)}.navbar__footer{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--color-border);padding:var(--space-4);margin-top:auto}.navbar__action-button-wrapper .btn{width:100%;justify-content:flex-start;padding:var(--space-3);border-radius:var(--radius-md)}.navbar__action-button-wrapper--danger .btn{color:var(--color-danger)}.layout{min-height:100vh;background-color:var(--color-background);color:var(--color-text-primary)}.layout__topbar{position:fixed;top:0;right:0;left:0;height:64px;border-bottom:1px solid var(--color-border);background-color:var(--color-background-secondary);z-index:30}.layout__topbar-inner{height:100%;max-width:var(--layout-max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-4)}.layout__brand{display:inline-flex;align-items:center;gap:var(--space-2)}.layout__brand-logo{display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary)}.layout__title{font-size:var(--font-size-lg);color:var(--color-text-primary)}.layout__content{padding:calc(64px + var(--space-4)) var(--space-4) var(--space-4)}.layout__content-inner{width:100%;max-width:var(--layout-max-width);margin:0 auto}.link-row{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.875rem 0;border:none;border-bottom:1px solid var(--color-border);background:transparent;font-size:var(--font-size-sm);color:inherit;cursor:pointer;text-align:left;transition:background-color .1s}.link-row:hover{background-color:var(--color-surface-hover)}.link-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.link-row--no-divider{border-bottom:none}.link-row__content{display:inline-flex;align-items:center}.link-row__icon{color:var(--color-text-secondary);display:inline-flex;align-items:center}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner__container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2)}.spinner__circle{display:inline-block;border-radius:50%;border-style:solid;border-color:var(--color-primary-500) var(--color-primary-200) var(--color-primary-200);animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner--small .spinner__circle{width:16px;height:16px;border-width:2px}.spinner--medium .spinner__circle{width:32px;height:32px;border-width:3px}.spinner--large .spinner__circle{width:48px;height:48px;border-width:4px}.spinner--inline{display:inline-flex;vertical-align:middle}.spinner--centered{display:flex;width:100%;min-height:200px}.spinner--overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999}.spinner__backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:9998}.spinner__label{font-family:var(--font-family-primary);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.spinner--small .spinner__label{font-size:var(--font-size-xs)}.spinner--large .spinner__label{font-size:var(--font-size-base)}.spinner__visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){.spinner__circle{animation:spinner-rotate 2s linear infinite}}.loading-state{width:100%;display:flex}.loading-state--section{min-height:200px}.loading-state--page{min-height:calc(100vh - 64px - var(--space-8))}.page-header{display:flex;flex-direction:column;gap:var(--space-1)}.page-header__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.page-header__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.radio-wrapper{display:flex;flex-direction:column;gap:var(--space-1)}.radio-container{display:flex;align-items:flex-start;gap:var(--space-2)}.radio-input{appearance:none;width:1.125rem;height:1.125rem;border:2px solid var(--color-border-dark);border-radius:var(--radius-full);background-color:var(--color-white);cursor:pointer;position:relative;flex-shrink:0;margin-top:.125rem;transition:all .2s ease}.radio-input:hover:not(:disabled){border-color:var(--color-primary);background-color:var(--color-hover)}.radio-input:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 3px #0066cc1a}.radio-input:checked{border-color:var(--color-primary)}.radio-input:checked:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:.5rem;height:.5rem;border-radius:var(--radius-full);background-color:var(--color-primary)}.radio-input--error{border-color:var(--color-danger)}.radio-input--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc35451a}.radio-input--error:checked:after{background-color:var(--color-danger)}.radio-input--disabled{cursor:not-allowed;opacity:.5;background-color:var(--color-gray-100)}.radio-label{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);cursor:pointer;-webkit-user-select:none;user-select:none}.radio-label--disabled{color:var(--color-text-disabled);cursor:not-allowed}.radio-error-message{color:var(--color-danger);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-left:calc(1.125rem + var(--space-2))}.radio-helper-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-left:calc(1.125rem + var(--space-2))}.radio-group-example{display:flex;flex-direction:column;gap:var(--space-4)}.section-card{padding:var(--space-4);border:1px solid var(--color-border);background-color:var(--color-background-secondary);border-radius:var(--radius-md)}.section-card--full-width{width:100%}.section-card__header{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.section-card__title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.section-card__description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.section-card__message{margin-bottom:var(--space-3)}.section-card__actions{margin-top:var(--space-4)}.select-wrapper{display:inline-flex;flex-direction:column;gap:var(--space-1);width:100%}.select{display:block;width:100%;box-sizing:border-box;font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);padding-right:var(--space-10);transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236c757d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:12px 8px;cursor:pointer}.select--sm{font-size:var(--font-size-sm);padding:var(--space-2) var(--space-3);padding-right:var(--space-8)}.select--lg{font-size:var(--font-size-lg);padding:var(--space-4) var(--space-5);padding-right:var(--space-12)}.select--placeholder{color:var(--color-text-secondary)}.select:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 3px #0066cc1a}.select:hover:not(:disabled){border-color:var(--color-border-dark)}.select--disabled,.select:disabled{background-color:var(--color-background-secondary);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23adb5bd' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.select:disabled:hover{border-color:var(--color-border)}.select--error{border-color:var(--color-danger)}.select--error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc35451a}.select--error:hover:not(:disabled){border-color:var(--color-danger-dark)}.select-error-message{display:block;font-size:var(--font-size-sm);color:var(--color-danger);margin-top:var(--space-1)}.select option{padding:var(--space-2) var(--space-3);background-color:var(--color-background);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select option:disabled{color:var(--color-text-disabled)}@media(prefers-color-scheme:dark){.select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%238b949e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.select--disabled,.select:disabled{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23484f58' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}.storybook-select-showcase{display:flex;flex-direction:column;gap:var(--space-4);max-width:400px}.stack{display:flex}.stack--vertical{flex-direction:column}.stack--horizontal{flex-direction:row}.stack--spacing-xs{gap:var(--space-xs)}.stack--spacing-sm{gap:var(--space-sm)}.stack--spacing-md{gap:var(--space-md)}.stack--spacing-lg{gap:var(--space-lg)}.stack--spacing-xl{gap:var(--space-xl)}.stack--spacing-2xl{gap:var(--space-2xl)}.stack--spacing-3xl{gap:var(--space-3xl)}.stack--align-start{align-items:flex-start}.stack--align-center{align-items:center}.stack--align-end{align-items:flex-end}.stack--align-stretch{align-items:stretch}.stack--justify-start{justify-content:flex-start}.stack--justify-center{justify-content:center}.stack--justify-end{justify-content:flex-end}.stack--justify-space-between{justify-content:space-between}.stack--justify-space-around{justify-content:space-around}.stack--wrap{flex-wrap:wrap}.stepper-wrapper{--stepper-circle-size: 2.5rem;--stepper-label-min-height: 2.5rem;display:flex;flex-direction:column;gap:var(--space-4)}.stepper{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin:var(--space-4) 0;width:100%}.stepper__content{width:100%}.stepper__step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1 1 0;min-width:0}.stepper__number{width:var(--stepper-circle-size);height:var(--stepper-circle-size);border-radius:var(--radius-full);background:var(--color-gray-200);color:var(--color-gray-600);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);transition:all .3s ease}.stepper__step--active .stepper__number{background:var(--color-primary);color:var(--color-white)}.stepper__step--completed .stepper__number{background:var(--color-success);color:var(--color-white)}.stepper__label{font-size:var(--font-size-xs);color:var(--color-gray-600);font-weight:var(--font-weight-medium);min-height:var(--stepper-label-min-height);display:flex;align-items:flex-start;justify-content:center;text-align:center;white-space:normal;overflow-wrap:break-word}.stepper__step--active .stepper__label{color:var(--color-primary)}.stepper__step--completed .stepper__label{color:var(--color-success)}.stepper__line{width:3rem;height:2px;background:var(--color-gray-300);flex-shrink:0;margin-top:calc((var(--stepper-circle-size) - 2px) / 2)}@media(max-width:640px){.stepper-wrapper{--stepper-circle-size: 2rem;--stepper-label-min-height: 2.25rem}.stepper{gap:var(--space-1)}.stepper__label{font-size:.625rem}.stepper__line{width:2rem}.stepper__number{font-size:.75rem}}.table{width:100%;border-collapse:collapse;font-family:var(--font-family-sans);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-surface)}.table-sm{font-size:var(--font-size-sm)}.table-sm .table-cell{padding:var(--space-2)}.table-md .table-cell{padding:var(--space-3)}.table-lg .table-cell{padding:var(--space-4)}.table-header{background-color:var(--color-background-secondary);border-bottom:2px solid var(--color-border)}.table-header .table-cell{font-weight:var(--font-weight-semibold);text-align:left;color:var(--color-text-secondary)}.table-body .table-row{border-bottom:1px solid var(--color-border)}.table-body .table-row:last-child{border-bottom:none}.table-row{transition:background-color .15s ease}.table-cell{padding:var(--space-3);vertical-align:middle}.table-cell-left{text-align:left}.table-cell-center{text-align:center}.table-cell-right{text-align:right}.table-striped .table-body .table-row:nth-child(2n){background-color:var(--color-background-secondary)}.table-hoverable .table-body .table-row:hover{background-color:var(--color-background-tertiary);cursor:pointer}.table-bordered,.table-bordered .table-cell{border:1px solid var(--color-border)}@media(max-width:768px){.table{font-size:var(--font-size-sm)}.table-cell{padding:var(--space-2)}}.tabs{display:flex;flex-direction:column;width:100%}.tabs__list{display:flex;border-bottom:1px solid var(--color-border, #e5e7eb);gap:0;overflow-x:auto;scrollbar-width:none}.tabs__list::-webkit-scrollbar{display:none}.tabs__tab{padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #6b7280);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;transition:color .15s ease,border-color .15s ease}.tabs__tab:hover{color:var(--color-text-primary, #111827)}.tabs__tab--active{color:var(--color-primary, #2563eb);border-bottom-color:var(--color-primary, #2563eb)}.tabs__panel{padding-top:1.25rem}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center}.tooltip-trigger{display:inline-flex;align-items:center;justify-content:center}.tooltip{position:absolute;z-index:9999;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-neutral-900);color:var(--color-neutral-0);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);pointer-events:none;white-space:normal;word-wrap:break-word;box-shadow:var(--shadow-md);animation:tooltip-fade-in .15s ease-out;max-width:var(--tooltip-max-width, 250px)}.tooltip__content{position:relative;z-index:1}.tooltip__arrow{position:absolute;width:0;height:0;border-style:solid}.tooltip--top{bottom:calc(100% + var(--spacing-xs));left:50%;transform:translate(-50%)}.tooltip--top .tooltip__arrow{top:100%;left:50%;transform:translate(-50%);border-width:6px 6px 0;border-color:var(--color-neutral-900) transparent transparent transparent}.tooltip--bottom{top:calc(100% + var(--spacing-xs));left:50%;transform:translate(-50%);animation:tooltip-fade-in-bottom .15s ease-out}.tooltip--bottom .tooltip__arrow{bottom:100%;left:50%;transform:translate(-50%);border-width:0 6px 6px;border-color:transparent transparent var(--color-neutral-900) transparent}.tooltip--left{right:calc(100% + var(--spacing-xs));top:50%;transform:translateY(-50%);animation:tooltip-fade-in-left .15s ease-out}.tooltip--left .tooltip__arrow{left:100%;top:50%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent var(--color-neutral-900)}.tooltip--right{left:calc(100% + var(--spacing-xs));top:50%;transform:translateY(-50%);animation:tooltip-fade-in-right .15s ease-out}.tooltip--right .tooltip__arrow{right:100%;top:50%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent var(--color-neutral-900) transparent transparent}.tooltip--focused{outline:2px solid var(--color-primary-300);outline-offset:2px}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes tooltip-fade-in-bottom{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes tooltip-fade-in-left{0%{opacity:0;transform:translateY(-50%) translate(4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}@keyframes tooltip-fade-in-right{0%{opacity:0;transform:translateY(-50%) translate(-4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}@media(max-width:640px){.tooltip{font-size:var(--font-size-xs);padding:var(--spacing-xxs) var(--spacing-xs);max-width:200px!important}}.language-selector-trigger{display:flex;align-items:center;gap:var(--space-2);color:#ffffffe6;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all .2s ease;cursor:pointer}.language-selector-trigger:hover{background:#ffffff1a;color:#fff}.language-selector-trigger__text{line-height:1}.loading-screen{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--color-background)}.link-code-input{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:end}@media(max-width:640px){.link-code-input{grid-template-columns:1fr}}.linked-athlete-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.linked-athlete-card__content{display:flex;flex-direction:column;gap:var(--space-2)}.linked-athlete-card__identity{display:flex;align-items:center;gap:var(--space-2)}.linked-athlete-card__name{margin:0;font-size:var(--font-size-lg)}.linked-athlete-card__meta{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}@media(max-width:640px){.linked-athlete-card{flex-direction:column;align-items:flex-start}}.athlete-linking-page{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0}.athlete-linking-page__list{display:flex;flex-direction:column;gap:var(--space-3)}.athlete-form{display:flex;flex-direction:column;gap:var(--space-6)}.athlete-form__section{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.athlete-form__section:last-of-type{border-bottom:none}.athlete-form__section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.athlete-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.athlete-form__full-row{grid-column:1 / -1}.athlete-form__photo{display:flex;align-items:center;gap:var(--space-4)}.athlete-form__photo-info{display:flex;flex-direction:column;gap:var(--space-2)}.athlete-form__photo-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.athlete-form__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.athlete-form__helper-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.athlete-form__array-field{display:flex;flex-direction:column;gap:var(--space-2)}.athlete-form__array-input{display:flex;align-items:flex-end;gap:var(--space-2)}.athlete-form__tags{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}.athlete-form__tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background-color:var(--color-primary-subtle);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.athlete-form__tag-remove{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;color:inherit;opacity:.7;transition:opacity .15s ease}.athlete-form__tag-remove:hover{opacity:1}.athlete-form__actions{display:flex;align-items:center;gap:var(--space-3);padding-top:var(--space-2)}.athlete-form__submit{flex:1}.athlete-form__submit>*{width:100%}@media(max-width:640px){.athlete-form__grid{grid-template-columns:1fr}.athlete-form__full-row{grid-column:1}}.athlete-header{display:flex;flex-direction:column;gap:var(--space-4)}.athlete-header__identity{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.athlete-header__main{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:220px}.athlete-header__name{margin:0;font-size:var(--font-size-2xl);color:var(--color-text-primary)}.athlete-header__badges{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.athlete-header__contact{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.athlete-header__actions{display:flex;flex-direction:column;gap:var(--space-2);margin-left:auto;width:max-content}.athlete-header__actions .btn{min-width:5rem}.athlete-header__actions-row{display:flex;gap:var(--space-2)}.athlete-header__actions-footer{width:100%}.athlete-header__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.athlete-header__metric-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background-color:var(--color-surface);display:flex;flex-direction:column;gap:var(--space-1)}.athlete-header__metric-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.athlete-header__metric-value{font-size:var(--font-size-lg);color:var(--color-text-primary)}.athlete-linking-section{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.athlete-linking-section .btn{width:100%}.athlete-linking-section--linked{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background-secondary)}.athlete-linking-section__linked-user{margin:0;color:var(--color-text-primary);font-size:var(--font-size-sm)}.athlete-overview-tab{display:flex;flex-direction:column;gap:var(--space-4)}.athlete-overview-tab__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.athlete-overview-tab__line{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0}.athlete-overview-tab__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.athlete-overview-tab__badges{display:flex;flex-wrap:wrap;gap:var(--space-2)}.athlete-overview-tab__empty{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.athlete-progress-tab{display:flex;flex-direction:column;gap:var(--space-4)}.athlete-progress-tab__chart{width:100%;height:320px}.athlete-progress-tab__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.athlete-sessions-tab{display:flex;flex-direction:column;gap:var(--space-3)}.athlete-sessions-tab__item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.athlete-sessions-tab__main{display:flex;flex-direction:column;gap:var(--space-1)}.athlete-sessions-tab__title{margin:0;font-size:var(--font-size-lg)}.athlete-sessions-tab__date,.athlete-sessions-tab__notes{margin:0;color:var(--color-text-secondary)}.athlete-sessions-tab__actions{margin-top:var(--space-2)}.athletes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}@media(max-width:1024px){.athletes-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.athletes-grid{grid-template-columns:1fr}}.athletes-grid__card{cursor:pointer;transition:box-shadow .2s ease}.athletes-grid__card:hover{box-shadow:var(--shadow-md)}.athletes-grid__card-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.athletes-grid__card-info{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.athletes-grid__card-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.athletes-grid__card-stats{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.athletes-grid__card-stat{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.athletes-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.athletes-list__item{display:grid;grid-template-columns:auto 1fr 1fr auto;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);transition:background-color .15s ease}.athletes-list__item:last-child{border-bottom:none}.athletes-list__item--clickable{cursor:pointer}.athletes-list__item:hover{background-color:var(--color-surface-hover)}@media(max-width:768px){.athletes-list__item{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.athletes-list__contact,.athletes-list__meta{grid-column:1 / -1}}.athletes-list__identity{display:flex;flex-direction:column;gap:var(--space-1)}.athletes-list__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.athletes-list__badges{display:flex;gap:var(--space-1);flex-wrap:wrap}.athletes-list__contact{display:flex;flex-direction:column;gap:var(--space-1)}.athletes-list__contact-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.athletes-list__contact-icon{font-size:var(--font-size-xs)}.athletes-list__meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.athletes-list__last-session{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.athletes-list__session-count{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.athletes-table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface)}.athletes-table__athlete-cell{display:flex;align-items:center;gap:var(--space-3)}.athletes-table__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.athletes-table__contact-cell{display:flex;flex-direction:column;gap:var(--space-1)}.athletes-table__contact-line{font-size:var(--font-size-sm);color:var(--color-text-primary)}.athletes-table__contact-line--secondary{color:var(--color-text-secondary)}.athletes-table__session-count{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.athletes-table__last-session,.athletes-table__actions{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.link-code-modal{display:flex;flex-direction:column;gap:var(--space-3)}.link-code-modal__description{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.link-code-modal__code{display:flex;align-items:center;justify-content:center;padding:var(--space-3);border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);background:var(--color-bg-muted);font-family:var(--font-family-mono);font-size:var(--font-size-xl);letter-spacing:.2em;font-weight:700}.link-code-modal__actions{display:flex;justify-content:center}.link-code-modal__expires{margin:0;text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.link-code-modal__footer{display:flex;justify-content:flex-end}.athlete-detail-page{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0}.athlete-detail-page__back{display:inline-flex;align-items:center;gap:var(--space-2);border:none;background:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:0;cursor:pointer}.athlete-detail-page__back-icon{transform:rotate(180deg);display:inline-flex}.athlete-detail-page__delete-error{margin:0;color:var(--color-danger);font-size:var(--font-size-sm)}.athletes-page{display:flex;flex-direction:column;gap:var(--space-6)}.athletes-page__controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.athletes-page__filters{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.athletes-page__filters .input-wrapper{width:100%}.athletes-page__filters .select-wrapper{width:fit-content}.athletes-page__filters .select{width:180px;flex-shrink:0}.athletes-page__search{min-width:220px;flex:1}.athletes-page__view-toggle{display:flex;gap:var(--space-1);flex-shrink:0}.athletes-page__state{display:flex;align-items:center;justify-content:center;min-height:300px}@media(max-width:640px){.athletes-page__fab{bottom:var(--space-6);right:var(--space-6)}}@media(max-width:640px){.athletes-page__controls{flex-direction:column;align-items:stretch}.athletes-page__view-toggle{justify-content:flex-end}}.dashboard-session-item{padding:var(--space-4) 0;display:flex;flex-direction:column;gap:var(--space-2)}.dashboard-session-item:not(:last-child){border-bottom:1px solid var(--color-border)}.dashboard-session-item__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.dashboard-session-item__title{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.dashboard-session-item__detail{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dashboard-session-item__weather-row{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dashboard{display:flex;flex-direction:column;gap:var(--space-6)}.dashboard--state{min-height:calc(100vh - 64px - var(--space-8));align-items:center;justify-content:center}.dashboard__header{display:flex;flex-direction:column;gap:var(--space-2)}.dashboard__title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.dashboard__title{font-size:var(--font-size-2xl)}.dashboard__date{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dashboard__tabs{display:inline-flex;width:fit-content;border:1px solid var(--color-border-dark);border-radius:999px;padding:2px;background:var(--color-background-secondary)}.dashboard__tab{border:0;border-radius:999px;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-sm);padding:.35rem .75rem;cursor:pointer}.dashboard__tab--active{background:var(--color-primary);color:var(--color-text-on-primary)}.dashboard__kpi-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.dashboard__kpi-grid .card,.dashboard__sessions-grid .card{background-color:var(--color-background-secondary);border-color:var(--color-border-dark)}.dashboard__kpi-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dashboard__kpi-value{margin-top:var(--space-2);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.dashboard__sessions-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.dashboard__section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.dashboard__session-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}@media(min-width:768px){.dashboard__kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.dashboard__sessions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard__kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.feature-flags-page{min-height:100vh;padding:var(--space-xl) var(--space-lg)}.feature-flags-page__header{margin-bottom:var(--space-xl)}.feature-flags-page__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-xs) 0}.feature-flags-page__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.feature-flags-page__badge{display:inline-flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-md)}.feature-flags-page__list{display:flex;flex-direction:column}.feature-flags-page__flag-row{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border)}.feature-flags-page__flag-row:last-child{border-bottom:none}.feature-flags-page__flag-description{flex:1;min-width:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.feature-flags-page__flag-control{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.feature-flags-page__flag-key{font-size:var(--font-size-xs);font-family:var(--font-family-mono);color:var(--color-text-primary);background-color:var(--color-background-secondary);padding:2px var(--space-xs);border-radius:var(--radius-sm);white-space:nowrap}.feature-flags-page__actions{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.colleagues-section__list{margin:0;padding:0;list-style:none;display:grid;gap:.55rem}.colleagues-section__item{display:flex;justify-content:space-between;align-items:center;gap:.6rem;border:1px solid var(--color-border-default);border-radius:.5rem;padding:.6rem .75rem}.my-session-header{display:grid;gap:.65rem}.my-session-header__back{border:0;background:transparent;display:inline-flex;align-items:center;gap:.4rem;color:var(--color-text-muted);cursor:pointer;width:fit-content}.my-session-header__back-icon{transform:rotate(180deg);display:inline-flex}.my-session-header__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.my-session-header__meta-item{margin:0;display:inline-flex;align-items:center;gap:.4rem;color:var(--color-text-muted)}.performance-section__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}.performance-section__grid p{margin:0;color:var(--color-text-muted)}.performance-section__feedback-form{display:grid;gap:.75rem}.performance-section__label{font-weight:600}.performance-section__textarea{width:100%;min-height:110px;resize:vertical;border-radius:.5rem;border:1px solid var(--color-border-default);background:var(--color-surface-elevated);color:var(--color-text-primary);padding:.65rem .7rem;font:inherit}.performance-section__actions{display:flex;justify-content:flex-end}@media(max-width:900px){.performance-section__grid{grid-template-columns:minmax(0,1fr)}}.session-overview-section{display:grid;gap:.9rem;grid-template-columns:repeat(2,minmax(0,1fr))}.session-overview-section__description,.session-overview-section__info{margin:0 0 .65rem;color:var(--color-text-muted)}.session-overview-section__list{margin:0;padding-left:1rem;display:grid;gap:.35rem}@media(max-width:900px){.session-overview-section{grid-template-columns:minmax(0,1fr)}}.my-session-detail-page{display:grid;gap:1rem;padding-block:1.5rem}.my-sessions-page{display:grid;gap:1.25rem;padding-block:1.5rem}.my-sessions-page__header{display:grid;gap:.25rem}.my-sessions-page__title{margin:0;font-size:1.8rem}.my-sessions-page__subtitle{margin:0;color:var(--color-text-muted)}.my-sessions-page__filters{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr))}.my-sessions-page__list{display:grid;gap:.75rem}.my-sessions-page__card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.my-sessions-page__card-title{margin:0;font-size:1.1rem}.my-sessions-page__coach{margin:.35rem 0 0;color:var(--color-text-muted);font-size:.92rem}.my-sessions-page__meta-grid{margin-top:.9rem;display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.my-sessions-page__meta-item{margin:0;display:inline-flex;align-items:center;gap:.45rem;color:var(--color-text-muted)}.my-sessions-page__weather{margin:.85rem 0 0;color:var(--color-text-muted)}.my-sessions-page__actions{margin-top:1rem;display:flex;justify-content:flex-end}@media(max-width:900px){.my-sessions-page__filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.my-sessions-page__filters,.my-sessions-page__meta-grid{grid-template-columns:minmax(0,1fr)}}.session-athlete-picker-row{display:flex;flex-direction:column;border-bottom:1px solid var(--color-border);padding-block:var(--space-3);transition:background-color .15s ease}.session-athlete-picker-row:last-child{border-bottom:none}.session-athlete-picker-row--selected{background-color:var(--color-surface-raised)}.session-athlete-picker-row__main{display:flex;align-items:center;gap:var(--space-3);padding-inline:var(--space-2)}.session-athlete-picker-row__info{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.session-athlete-picker-row__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.session-athlete-picker-row__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.session-athlete-picker-row__details{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-3);margin-top:var(--space-3);padding-inline:var(--space-2);padding-left:calc(var(--space-2) + 16px + var(--space-3) + 32px + var(--space-3))}.session-athletes-step{display:flex;flex-direction:column;gap:var(--space-4)}.session-athletes-step__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.session-athletes-step__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.session-athletes-step__count{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.session-athletes-step__list{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.session-basic-info-step{display:flex;flex-direction:column;gap:var(--space-5)}.session-basic-info-step__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.session-basic-info-step__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.session-basic-info-step__full-row{grid-column:1 / -1}.session-basic-info-step__field{display:flex;flex-direction:column;gap:var(--space-1)}.session-basic-info-step__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.session-review-step{display:flex;flex-direction:column;gap:var(--space-5)}.session-review-step__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.session-review-step__section{display:flex;flex-direction:column;gap:var(--space-3);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.session-review-step__section:last-child{border-bottom:none;padding-bottom:0}.session-review-step__section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.session-review-step__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-4)}.session-review-step__row{display:flex;flex-direction:column;gap:var(--space-1)}.session-review-step__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.session-review-step__value{font-size:var(--font-size-sm);color:var(--color-text-primary)}.session-review-step__empty{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.session-review-step__athletes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.session-review-step__athlete{font-size:var(--font-size-sm);color:var(--color-text-primary)}.session-weather-step{display:flex;flex-direction:column;gap:var(--space-5)}.session-weather-step__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.session-weather-step__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.session-weather-step__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.session-weather-step__full-row{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--space-1)}.session-weather-step__field{display:flex;flex-direction:column;gap:var(--space-1)}.session-weather-step__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.session-form{display:flex;flex-direction:column;gap:var(--space-6)}.session-form__content{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.session-form__nav{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:center}.session-form__nav-next{width:100%}.session-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);transition:box-shadow .15s ease}.session-card:hover{box-shadow:var(--shadow-sm)}.session-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.session-card__title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0;line-height:1.3}.session-card__meta{display:flex;flex-direction:column;gap:var(--space-1)}.session-card__meta-row{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm)}.session-card__weather{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--space-2) 0;border-top:1px solid var(--color-border-subtle)}.session-card__weather-item{display:flex;align-items:center;gap:var(--space-1)}.session-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-2);border-top:1px solid var(--color-border-subtle)}.session-card__type{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:var(--font-medium)}.session-card__details-btn{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:0;text-decoration:none;font-weight:var(--font-medium);transition:color .15s ease}.session-card__details-btn:hover{color:var(--color-primary-dark);text-decoration:underline}.session-card__details-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.session-group{display:flex;flex-direction:column;gap:var(--space-4)}.session-group__title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0}.session-group__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.session-group__pagination{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);padding-top:var(--space-2)}.session-group__pagination-info{font-size:var(--text-sm);color:var(--color-text-secondary);min-width:100px;text-align:center}@media(max-width:768px){.session-group__grid{grid-template-columns:1fr}}.sessions-page{display:flex;flex-direction:column;gap:var(--space-6)}.sessions-page__controls{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.sessions-page__filters{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.sessions-page__filters .input-wrapper{width:100%}.sessions-page__filters .select-wrapper{width:fit-content}.sessions-page__filters .select{width:180px;flex-shrink:0}.sessions-page__search{min-width:220px;flex:1}.sessions-page__groups{display:flex;flex-direction:column;gap:var(--space-8)}@media(max-width:640px){.sessions-page__controls{flex-direction:column;align-items:stretch}.sessions-page__filters{flex-wrap:wrap}}.report-bug{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem}.report-bug__back{margin-bottom:-.5rem}.report-bug__back-link{background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #2563eb);display:inline-flex;align-items:center;gap:.25rem}.report-bug__back-link:hover{text-decoration:underline}.report-bug__header{display:flex;flex-direction:column;gap:.25rem}.report-bug__title{font-size:1.5rem;font-weight:700;margin:0}.report-bug__subtitle{font-size:.875rem;color:var(--color-text-secondary, #6b7280);margin:0}.report-bug__type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.report-bug__type-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.875rem 1rem;background-color:var(--color-surface, #ffffff);border:1.5px solid var(--color-border, #e5e7eb);border-radius:.75rem;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.report-bug__type-btn:hover{border-color:var(--color-primary, #2563eb)}.report-bug__type-btn--active{border-color:var(--color-primary, #2563eb);background-color:var(--color-primary-subtle, #eff6ff)}.report-bug__type-icon{font-size:1.25rem;line-height:1}.report-bug__type-label{font-size:.8125rem;font-weight:500;color:var(--color-text-primary, #111827)}.report-bug__form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.report-bug__footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.about-tab{display:flex;flex-direction:column;gap:1.5rem}.about-tab__branding{display:flex;flex-direction:column;align-items:center;gap:.5rem}.about-tab__logo{width:3rem;height:3rem;background-color:var(--color-primary, #2563eb);border-radius:.5rem;display:flex;align-items:center;justify-content:center}.about-tab__app-name{font-size:1.25rem;font-weight:700}.about-tab__version{font-size:.875rem;color:var(--color-text-secondary, #6b7280)}.about-tab__copyright{font-size:.8125rem;color:var(--color-text-secondary, #6b7280)}.about-tab__links{overflow:hidden}.about-tab__support-desc{font-size:.875rem;color:var(--color-text-secondary, #6b7280);margin-bottom:.25rem}.about-tab__support-contact{display:flex;flex-direction:column;gap:.25rem}.about-tab__support-email{font-size:.875rem;color:var(--color-primary, #2563eb);text-decoration:none}.about-tab__support-email:hover{text-decoration:underline}.account-tab{display:flex;flex-direction:column;gap:1.5rem}.account-tab__form{display:flex;flex-direction:column;gap:.875rem}.account-tab__preferences{display:flex;flex-direction:column;gap:.75rem}.account-tab__account-info{display:flex;flex-direction:column;gap:.5rem}.account-tab__athlete-linking{margin:0}.account-tab__athlete-linking-link{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:underline}.profile-tab__avatar-section{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 0 1.25rem}.profile-tab__avatar{width:4rem;height:4rem;border-radius:50%;background-color:var(--color-primary, #2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;letter-spacing:.05em}.profile-tab__change-photo{font-size:.8125rem;color:var(--color-text-secondary, #6b7280);cursor:pointer;background:none;border:none;padding:0}.profile-tab__change-photo:hover{color:var(--color-primary, #2563eb);text-decoration:underline}.profile-tab__form{display:flex;flex-direction:column;gap:.875rem}.profile-tab__actions{display:flex;gap:.75rem;padding-top:.5rem}.settings-tab{display:flex;flex-direction:column;gap:1.5rem}.settings-tab__radios{display:flex;flex-direction:column;gap:.625rem}.settings-tab__theme-label{display:inline-flex;align-items:center;gap:var(--space-2)}.settings-page__header{margin-bottom:1.5rem}.settings-page__title{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.settings-page__subtitle{font-size:.875rem;color:var(--color-text-secondary, #6b7280)}:root{--color-primary: #0066cc;--color-primary-light: #3385d6;--color-primary-dark: #004d99;--color-primary-contrast: #ffffff;--color-secondary: #6c757d;--color-secondary-light: #8c959d;--color-secondary-dark: #4c545c;--color-secondary-contrast: #ffffff;--color-success: #28a745;--color-success-light: #48b765;--color-success-dark: #1e7e34;--color-success-contrast: #ffffff;--color-warning: #ffc107;--color-warning-light: #ffcd38;--color-warning-dark: #d39e00;--color-warning-contrast: #212529;--color-danger: #dc3545;--color-danger-light: #e25563;--color-danger-dark: #bd2130;--color-danger-contrast: #ffffff;--color-info: #17a2b8;--color-info-light: #3fb5c9;--color-info-dark: #117a8b;--color-info-contrast: #ffffff;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f8f9fa;--color-gray-100: #e9ecef;--color-gray-200: #dee2e6;--color-gray-300: #ced4da;--color-gray-400: #adb5bd;--color-gray-500: #6c757d;--color-gray-600: #495057;--color-gray-700: #343a40;--color-gray-800: #212529;--color-gray-900: #0d1117;--color-background: #ffffff;--color-background-secondary: #f8f9fa;--color-background-tertiary: #e9ecef;--color-text-primary: #212529;--color-text-secondary: #6c757d;--color-text-disabled: #adb5bd;--color-text-inverse: #ffffff;--color-border: #dee2e6;--color-border-light: #e9ecef;--color-border-dark: #ced4da;--color-surface: #f8f9fa;--color-surface-hover: #e9ecef;--color-focus: #0066cc;--color-hover: rgb(0, 102, 204, .08)}:root[data-theme=dark]{--color-background: #0d1117;--color-background-secondary: #161b22;--color-background-tertiary: #21262d;--color-text-primary: #c9d1d9;--color-text-secondary: #8b949e;--color-text-disabled: #484f58;--color-text-inverse: #0d1117;--color-border: #30363d;--color-border-light: #21262d;--color-border-dark: #484f58;--color-surface: #161b22;--color-surface-hover: #21262d}:root[data-theme=light]{--color-background: #ffffff;--color-background-secondary: #f8f9fa;--color-background-tertiary: #e9ecef;--color-text-primary: #212529;--color-text-secondary: #6c757d;--color-text-disabled: #adb5bd;--color-text-inverse: #ffffff;--color-border: #dee2e6;--color-border-light: #e9ecef;--color-border-dark: #ced4da;--color-surface: #f8f9fa;--color-surface-hover: #e9ecef}@media(prefers-color-scheme:dark){:root:not([data-theme]){--color-background: #0d1117;--color-background-secondary: #161b22;--color-background-tertiary: #21262d;--color-text-primary: #c9d1d9;--color-text-secondary: #8b949e;--color-text-disabled: #484f58;--color-text-inverse: #0d1117;--color-border: #30363d;--color-border-light: #21262d;--color-border-dark: #484f58;--color-surface: #161b22;--color-surface-hover: #21262d}}:root{--space-0: 0;--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;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--space-xs: var(--space-1);--space-sm: var(--space-2);--space-md: var(--space-4);--space-lg: var(--space-6);--space-xl: var(--space-8);--space-2xl: var(--space-12);--space-3xl: var(--space-16);--spacing-component-xs: var(--space-2);--spacing-component-sm: var(--space-3);--spacing-component-md: var(--space-4);--spacing-component-lg: var(--space-6);--spacing-layout-xs: var(--space-4);--spacing-layout-sm: var(--space-6);--spacing-layout-md: var(--space-8);--spacing-layout-lg: var(--space-12);--spacing-layout-xl: var(--space-16);--layout-max-width: 1280px;--radius-none: 0;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgb(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgb(0, 0, 0, .1), 0 1px 2px -1px rgb(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgb(0, 0, 0, .1), 0 2px 4px -2px rgb(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgb(0, 0, 0, .1), 0 4px 6px -4px rgb(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgb(0, 0, 0, .1), 0 8px 10px -6px rgb(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgb(0, 0, 0, .25);--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070}:root{--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Fira Code", "Consolas", "Monaco", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-weight-thin: 100;--font-weight-extralight: 200;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code,pre{font-family:var(--font-family-mono)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0}.fab{position:fixed;bottom:var(--space-8);right:var(--space-8);width:56px;height:56px;border-radius:var(--radius-full);background-color:var(--color-primary);color:var(--color-primary-contrast);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg);transition:background-color .2s ease,box-shadow .2s ease,transform .15s ease;z-index:var(--z-index-sticky)}.fab:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-xl)}.fab:active{transform:scale(.95)}.fab:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}@media(max-width:640px){.fab{bottom:var(--space-4);right:var(--space-4)}}.form-page{display:flex;flex-direction:column;gap:var(--space-6);padding-block:var(--space-6)}.form-page__back{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:none;cursor:pointer;padding:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color .15s ease;align-self:flex-start}.form-page__back:hover{color:var(--color-text-primary)}.form-page__back-icon{transform:rotate(180deg)}.form-page__card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.athlete-form__textarea,.session-weather-step__textarea{width:100%;padding:var(--space-3);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);resize:vertical;font-family:inherit;min-height:96px;transition:border-color .2s ease;box-sizing:border-box}.athlete-form__textarea::placeholder,.session-weather-step__textarea::placeholder{color:var(--color-text-placeholder)}.athlete-form__textarea:focus,.session-weather-step__textarea:focus{outline:none;border-color:var(--color-primary)}.edit-athlete-session-page__back,.session-detail-page__back{display:flex;align-items:center;gap:var(--space-1);background:none;border:none;cursor:pointer;padding:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);width:fit-content}.edit-athlete-session-page__back:hover,.session-detail-page__back:hover{color:var(--color-text-primary)}.edit-athlete-session-page__back-icon,.session-detail-page__back-icon{display:flex;align-items:center;transform:rotate(180deg)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{min-height:100%;background-color:var(--color-background);color:var(--color-text-primary)}#root{min-height:100vh}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
