.base-button{border:none;--border-width: 2px;position:relative;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);outline:none;text-decoration:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background-color:var(--background-color);color:var(--color);padding:var(--padding);font-size:var(--font-size);min-height:var(--min-height);box-shadow:inset 0 0 0 var(--border-width) var(--border-color)}.base-button:disabled{cursor:not-allowed;opacity:.6}.base-button:active:not(:disabled){transform:var(--transform);transition:transform .1s ease}.base-button--sm{--padding: var(--spacing-sm) var(--spacing-md);--font-size: var(--font-size-sm);--min-height: 36px}.base-button--md{--padding: 12px var(--spacing-lg);--font-size: var(--font-size-base);--min-height: 44px}.base-button--lg{--padding: var(--spacing-md) var(--spacing-xl);--font-size: var(--font-size-lg);--min-height: 52px}.base-button--primary{--color: var(--color-text-light);--background-color: var(--color-primary);--border-color: var(--color-primary)}@media (hover: hover){.base-button--primary:hover:not(:disabled){--background-color: var(--color-primary-hover);--border-color: var(--color-primary);--transform: translateY(-1px);--color: var(--color-primary)}}.base-button--primary:active:not(:disabled){--background-color: var(--color-primary-hover);--border-color: var(--color-primary);--transform: scale(.98);--color: var(--color-primary)}.base-button--green{--background-color: var(--color-green);--color: var(--color-text-light);--border-color: var(--color-green)}@media (hover: hover){.base-button--green:hover:not(:disabled){--background-color: var(--color-green-hover);--border-color: var(--color-green);--transform: translateY(-1px);--color: var(--color-text-light)}}.base-button--green:active:not(:disabled){--background-color: var(--color-green-hover);--border-color: var(--color-green);--transform: scale(.98);--color: var(--color-text-light)}.base-button--secondary{--background-color: var(--color-bg-white);--color: var(--color-text-primary);--border-color: var(--color-border-light)}@media (hover: hover){.base-button--secondary:hover:not(:disabled){--background-color: #e2e8f0;--border-color: var(--color-text-muted);--transform: translateY(-1px)}}.base-button--secondary:active:not(:disabled){--background-color: #e2e8f0;--border-color: var(--color-text-muted);--transform: scale(.98)}.base-button--warning{--background-color: var(--color-warning);--color: var(--color-text-light);--border-color: var(--color-warning)}@media (hover: hover){.base-button--warning:hover:not(:disabled){--background-color: var(--color-warning);--border-color: var(--color-warning);--transform: translateY(-1px);--box-shadow: 0 4px 12px rgba(239, 68, 68, .3)}}.base-button--warning:active:not(:disabled){background-color:var(--color-warning);border-color:var(--color-warning);transform:scale(.98);box-shadow:0 2px 4px #ef44444d}.base-button--danger{--background-color: var(--color-danger);--color: var(--color-text-light);--border-color: var(--color-danger)}@media (hover: hover){.base-button--danger:hover:not(:disabled){background-color:var(--color-danger-hover);border-color:var(--color-danger-hover);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}}.base-button--danger:active:not(:disabled){--background-color: var(--color-danger-hover);--border-color: var(--color-danger-hover);--transform: scale(.98);--box-shadow: 0 2px 4px rgba(239, 68, 68, .3)}.base-button--ghost{--background-color: transparent;--color: var(--color-primary);--border-color: transparent}@media (hover: hover){.base-button--ghost:hover:not(:disabled){--background-color: rgba(59, 130, 246, .1)}}.base-button--ghost:active:not(:disabled){--background-color: rgba(59, 130, 246, .15);--transform: scale(.98)}.base-button--full-width{width:100%}.base-button--loading .base-button__content{opacity:0}.base-button__spinner{width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:var(--radius-full);animation:spin 1s linear infinite;position:absolute}.base-button__content{transition:opacity var(--transition-fast)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.base-select__wrapper{width:100%;margin-bottom:var(--spacing-md)}.base-select__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:6px}.base-select__label .required{color:var(--color-danger)}.base-select__container{position:relative;width:100%}.base-select__container.has-error .base-select__field{border-color:var(--color-danger)}.base-select__container.has-error .base-select__field:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #ef44441a}.base-select__container.is-disabled .base-select__field{background-color:var(--color-bg-light);color:var(--color-text-muted);cursor:not-allowed}.base-select__field{width:100%;padding:12px var(--spacing-md);padding-right:40px;font-size:var(--font-size-base);border:2px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-white);transition:all var(--transition-base);outline:none;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}.base-select__field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.base-select__field:disabled{cursor:not-allowed}.base-select__field::-ms-expand{display:none}.base-select__arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text-secondary)}.base-select__arrow-icon{display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor}.base-select__error{margin-top:6px;font-size:var(--font-size-sm);color:var(--color-danger)}.base-select__hint{margin-top:6px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media (max-width: 767px){.base-select__field{font-size:var(--font-size-base);padding:14px var(--spacing-md);padding-right:40px;min-height:44px;min-width:44px}.base-select__arrow{right:14px}}
