.accordion{width:100%}.accordion__item{border-bottom:1px solid var(--color-border)}.accordion__header{display:flex}.accordion__trigger{width:100%;padding:var(--space-4)0;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text);text-align:left;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.accordion__trigger:hover{color:var(--color-primary)}.accordion__chevron{color:var(--color-text-muted);transition:transform var(--transition-base);flex-shrink:0}[data-state=open]>.accordion__trigger .accordion__chevron{transform:rotate(180deg)}.accordion__content{overflow:hidden}.accordion__content[data-state=open]{animation:accordion-expand var(--transition-base)ease-out}.accordion__content[data-state=closed]{animation:accordion-collapse var(--transition-base)ease-out}.accordion__content-inner{padding-bottom:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}@keyframes accordion-expand{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-collapse{0%{height:var(--radix-accordion-content-height)}to{height:0}}
.badge{padding:var(--space-1)var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap;align-items:center;line-height:1;display:inline-flex}.badge_variant_default{background-color:var(--color-gray-100);color:var(--color-gray-700)}.badge_variant_primary{background-color:var(--color-primary-light);color:var(--color-primary)}.badge_variant_success{background-color:var(--color-success-light);color:var(--color-success)}.badge_variant_warning{background-color:var(--color-warning-light);color:var(--color-warning)}
.button{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-family-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex;position:relative}.button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed}.button_size_sm{height:32px;padding:0 var(--space-3);font-size:var(--font-size-sm);border-radius:var(--radius-full)}.button_size_md{height:40px;padding:0 var(--space-5);font-size:var(--font-size-base);border-radius:var(--radius-full)}.button_size_lg{height:48px;padding:0 var(--space-8);font-size:var(--font-size-lg);border-radius:var(--radius-full)}.button_variant_primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.button_variant_primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.button_variant_primary:active:not(:disabled){background-color:var(--color-primary-active)}.button_variant_secondary{background-color:var(--color-gray-100);color:var(--color-text)}.button_variant_secondary:hover:not(:disabled){background-color:var(--color-gray-200)}.button_variant_secondary:active:not(:disabled){background-color:var(--color-gray-300)}.button_variant_outline{border-color:var(--color-border);color:var(--color-text);background-color:#0000}.button_variant_outline:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-border-hover)}.button_variant_outline:active:not(:disabled){background-color:var(--color-gray-100)}.button_variant_ghost{color:var(--color-text);background-color:#0000}.button_variant_ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.button_variant_ghost:active:not(:disabled){background-color:var(--color-gray-200)}.button_variant_link{color:var(--color-primary);background-color:#0000;height:auto;padding:0}.button_variant_link:hover:not(:disabled){color:var(--color-primary-hover);text-decoration:underline}.button_loading{cursor:wait}.button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite button-spin;position:absolute}.button__content{align-items:center;gap:var(--space-2);display:inline-flex}.button__content_hidden{visibility:hidden}@keyframes button-spin{to{transform:rotate(360deg)}}
.card{border-radius:var(--radius-lg);background-color:var(--color-white);transition:box-shadow var(--transition-base)}.card_variant_default{box-shadow:var(--shadow-sm)}.card_variant_outlined{border:1px solid var(--color-border)}.card_variant_elevated{box-shadow:var(--shadow-lg)}.card_padding_sm{padding:var(--space-4)}.card_padding_md{padding:var(--space-6)}.card_padding_lg{padding:var(--space-8)}
.container{width:100%;max-width:var(--container-max-width);padding-left:var(--container-padding);padding-right:var(--container-padding);margin-left:auto;margin-right:auto}
.dialog__overlay{background-color:var(--color-bg-overlay);z-index:var(--z-overlay);animation:dialog-overlay-enter var(--transition-base);position:fixed;inset:0}.dialog__content{background-color:var(--color-white);border-radius:var(--radius-lg);width:90vw;max-width:480px;max-height:85vh;padding:var(--space-6);box-shadow:var(--shadow-xl);z-index:var(--z-modal);animation:dialog-content-enter var(--transition-base);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog__content:focus{outline:none}@media (max-width:640px){.dialog__content_fullscreen-mobile{border-radius:0;width:100%;max-width:100%;height:100%;max-height:100%;top:0;left:0;transform:none}}.dialog__close{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-sm);width:44px;height:44px;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.dialog__close:hover{background-color:var(--color-gray-100);color:var(--color-text)}.dialog__header{margin-bottom:var(--space-4)}.dialog__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-black)}.dialog__description{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dialog__footer{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);display:flex}@media (max-width:480px){.dialog__content{width:95vw;padding:var(--space-4)}.dialog__footer{flex-direction:column}}@keyframes dialog-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes dialog-content-enter{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}
.dropdown-menu__content{min-width:180px;max-width:calc(100vw - var(--space-4));background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-1);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:dropdown-menu-enter var(--transition-fast)}.dropdown-menu__item{align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-3);min-height:44px;font-size:var(--font-size-sm);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);outline:none;display:flex}.dropdown-menu__item:hover,.dropdown-menu__item[data-highlighted]{background-color:var(--color-gray-50);color:var(--color-primary)}.dropdown-menu__item[data-disabled]{opacity:.5;cursor:not-allowed}.dropdown-menu__separator{height:1px;margin:var(--space-1)0;background-color:var(--color-border)}.dropdown-menu__label{padding:var(--space-2)var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}@keyframes dropdown-menu-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.icon{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon_size_sm{width:16px;height:16px}.icon_size_md{width:20px;height:20px}.icon_size_lg{width:24px;height:24px}.icon_size_xl{width:32px;height:32px}
.toast__viewport{top:var(--space-4);right:var(--space-4);gap:var(--space-2);width:360px;max-width:calc(100vw - var(--space-8));z-index:var(--z-toast);outline:none;flex-direction:column;list-style:none;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex}.toast[data-state=open]{animation:toast-enter var(--transition-base)ease-out}.toast[data-state=closed]{animation:toast-exit var(--transition-fast)ease-in}.toast[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}.toast[data-swipe=cancel]{transition:transform var(--transition-fast);transform:translate(0)}.toast[data-swipe=end]{animation:toast-swipe-out var(--transition-fast)ease-out}.toast_variant_default{border-left:3px solid var(--color-info)}.toast_variant_success{border-left:3px solid var(--color-success)}.toast_variant_error{border-left:3px solid var(--color-error)}.toast_variant_warning{border-left:3px solid var(--color-warning)}.toast__body{flex:1;min-width:0}.toast__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.toast__description{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.toast__close{width:44px;height:44px;margin:calc(-1*var(--space-2));border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.toast__close:hover{background-color:var(--color-gray-100);color:var(--color-text)}@media (max-width:480px){.toast__viewport{top:auto;bottom:var(--space-4);right:var(--space-2);left:var(--space-2);width:auto}}@keyframes toast-enter{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes toast-swipe-out{0%{transform:translateX(var(--radix-toast-swipe-end-x))}to{transform:translate(100%)}}
.heading{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-black)}.heading_size_4xl{font-size:var(--font-size-4xl)}.heading_size_3xl{font-size:var(--font-size-3xl)}.heading_size_2xl{font-size:var(--font-size-2xl)}.heading_size_xl{font-size:var(--font-size-xl)}.heading_size_lg{font-size:var(--font-size-lg)}.heading_size_base{font-size:var(--font-size-base)}.text{line-height:var(--line-height-base)}.text_size_xs{font-size:var(--font-size-xs)}.text_size_sm{font-size:var(--font-size-sm)}.text_size_base{font-size:var(--font-size-base)}.text_size_lg{font-size:var(--font-size-lg)}.text_size_xl{font-size:var(--font-size-xl)}.text_weight_regular{font-weight:var(--font-weight-regular)}.text_weight_medium{font-weight:var(--font-weight-medium)}.text_weight_semibold{font-weight:var(--font-weight-semibold)}.text_weight_bold{font-weight:var(--font-weight-bold)}.text_color_default{color:var(--color-text)}.text_color_secondary{color:var(--color-text-secondary)}.text_color_muted{color:var(--color-text-muted)}.text_color_inverse{color:var(--color-text-inverse)}.text_color_primary{color:var(--color-primary)}
