.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;border:none;border-radius:4px;cursor:pointer;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),background-color .2s cubic-bezier(.16,1,.3,1),background .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1);font-family:inherit;white-space:nowrap;text-decoration:none;outline:none}.btn:focus-visible{outline:2px solid var(--brand-start);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-sm{padding:8px 16px;font-size:var(--font-size-sm);border-radius:4px}.btn-md{padding:12px 24px;font-size:var(--font-size-base)}.btn-lg{padding:16px 32px;font-size:var(--font-size-lg);border-radius:4px}.btn-full-width{width:100%}.btn-loading{pointer-events:none}.btn-spinner{display:inline-flex;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-icon{display:inline-flex;align-items:center;justify-content:center}.btn-icon-left{margin-right:4px}.btn-icon-right{margin-left:4px}.btn-primary{background:var(--brand-gradient);color:#fff;box-shadow:0 4px 14px #ed0f664d;border:1px solid rgba(255,255,255,.1)}@media (hover: hover) and (pointer: fine){.btn-primary:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px #ed0f6666}}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 8px #ec096f4d}.btn-secondary{background:var(--surface-bg-low);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (hover: hover) and (pointer: fine){.btn-secondary:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #00000026;background:var(--surface-elev)}}.btn-secondary:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 8px #0000001a}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 4px 14px #ef44444d}@media (hover: hover) and (pointer: fine){.btn-danger:hover:not(:disabled){transform:translateY(-2px) scale(1.02);background:#dc2626;box-shadow:0 8px 24px #ef444466}}.btn-danger:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 8px #ef44444d}.btn-ghost{background:transparent;color:var(--text-primary);border:none}@media (hover: hover) and (pointer: fine){.btn-ghost:hover:not(:disabled){background:var(--surface-bg-low)}}.btn-ghost:active:not(:disabled){background:var(--border-subtle)}.btn-outline{background:transparent;color:var(--brand-start);border:2px solid var(--brand-start)}@media (hover: hover) and (pointer: fine){.btn-outline:hover:not(:disabled){background:var(--brand-start);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #ec096f4d}}.btn-outline:active:not(:disabled){transform:translateY(0)}.dark .btn-secondary{background:var(--surface-primary);border-color:var(--border-subtle);color:var(--text-primary)}@media (hover: hover) and (pointer: fine){.dark .btn-secondary:hover:not(:disabled){background:var(--surface-elev);border-color:var(--border-subtle)}}.dark .btn-ghost{color:var(--text-primary)}@media (hover: hover) and (pointer: fine){.dark .btn-ghost:hover:not(:disabled){background:var(--surface-bg-low)}}.dark .btn-ghost:active:not(:disabled){background:var(--border-subtle)}@media (max-width: 768px){.btn-lg{padding:14px 28px;font-size:var(--font-size-base)}.btn-md{padding:10px 20px;font-size:var(--font-size-base)}.btn-sm{padding:7px 14px;font-size:var(--font-size-sm)}}.btn:focus-visible{outline:3px solid var(--brand-start);outline-offset:2px}@media (prefers-contrast: high){.btn{border:2px solid currentColor}.btn-primary,.btn-danger{border-color:transparent}}@media (prefers-reduced-motion: reduce){.btn,.btn-spinner{transition:none;animation:none}@media (hover: hover) and (pointer: fine){.btn:hover:not(:disabled){transform:none}}}.textarea-wrapper{display:flex;flex-direction:column;gap:6px}.textarea-full-width{width:100%}.textarea-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.textarea-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.textarea-required{color:var(--color-danger)}.textarea-char-count{font-size:var(--font-size-sm);color:var(--text-tertiary);font-weight:500}.char-count-over{color:var(--color-danger)}.textarea-field{width:100%;font-family:inherit;font-size:var(--font-size-base);font-weight:400;line-height:1.6;color:var(--text-primary);background:var(--surface-primary);border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);outline:none;transition:border-color .2s ease,box-shadow .2s ease;min-height:80px}.textarea-sm{padding:8px 12px;font-size:var(--font-size-sm);min-height:60px}.textarea-md{padding:12px 16px}.textarea-lg{padding:14px 20px;font-size:var(--font-size-lg);min-height:120px}.textarea-resize-none{resize:none}.textarea-resize-vertical{resize:vertical}.textarea-resize-horizontal{resize:horizontal}.textarea-resize-both{resize:both}@media (hover: hover) and (pointer: fine){.textarea-field:hover:not(:disabled){border-color:var(--border-default)}}.textarea-field:focus{border-color:var(--brand-start);box-shadow:0 0 0 3px var(--brand-alpha-low)}.textarea-field::placeholder{color:var(--text-tertiary)}.textarea-disabled{opacity:.6;cursor:not-allowed;background:var(--bg-tertiary)}.textarea-error{border-color:var(--color-danger)}.textarea-error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--error-alpha-low)}.textarea-error-text{font-size:var(--font-size-sm);color:var(--color-danger);font-weight:500}.textarea-helper-text{font-size:var(--font-size-sm);color:var(--text-tertiary)}.dark .textarea-label{color:var(--text-primary)}.dark .textarea-field{color:var(--text-primary);background:var(--surface-primary);border-color:var(--border-subtle)}@media (hover: hover) and (pointer: fine){.dark .textarea-field:hover:not(:disabled){border-color:var(--border-default)}}.dark .textarea-field::placeholder{color:var(--text-tertiary)}.dark .textarea-disabled{background:var(--bg-tertiary)}.dark .textarea-char-count,.dark .textarea-helper-text{color:var(--text-tertiary)}.textarea-field:focus-visible{outline:2px solid var(--brand-start);outline-offset:2px}@media (max-width: 768px){.textarea-field,.textarea-lg{font-size:var(--font-size-base)}}@media (prefers-reduced-motion: reduce){.textarea-field{transition:none}}.textarea-field::-webkit-scrollbar{width:8px}.textarea-field::-webkit-scrollbar-track{background:var(--overlay-light);border-radius:4px}.textarea-field::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}@media (hover: hover) and (pointer: fine){.textarea-field::-webkit-scrollbar-thumb:hover{background:var(--border-default)}}.dark .textarea-field::-webkit-scrollbar-track{background:var(--overlay-light)}.dark .textarea-field::-webkit-scrollbar-thumb{background:var(--border-subtle)}@media (hover: hover) and (pointer: fine){.dark .textarea-field::-webkit-scrollbar-thumb:hover{background:var(--border-default)}}.select-wrapper{position:relative;display:flex;flex-direction:column;gap:4px;width:-webkit-fit-content;width:fit-content;min-width:160px}.select-full-width{width:100%}.select-label{font-size:.9rem;font-weight:600;color:var(--text-secondary);padding-left:4px;display:flex;align-items:center;gap:4px}.select-required{color:var(--color-danger)}.select-container{position:relative;width:100%}.select-premium-field{display:flex;align-items:center;justify-content:space-between;background:var(--glass-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1.5px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1);color:var(--text-primary)}@media (hover: hover) and (pointer: fine){.select-premium-field:hover{border-color:var(--brand-start);background:var(--glass-surface);opacity:.9}}.select-premium-field.is-open{border-color:var(--brand-start);box-shadow:0 0 15px var(--brand-alpha-low);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.select-premium-field.is-error{border-color:var(--color-danger)}.select-premium-field.is-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.select-sm{padding:8px 12px;font-size:.85rem;min-height:40px}.select-md{padding:12px 16px;font-size:1rem;min-height:48px}.select-lg{padding:14px 20px;font-size:1.1rem;min-height:56px}.select-selected-content{flex:1;display:flex;align-items:center;overflow:hidden}.select-placeholder{color:var(--text-secondary);font-style:italic}.option-inner{display:flex;align-items:center;gap:12px;overflow:hidden}.option-flag{font-size:1.25rem;line-height:1;flex-shrink:0}.option-icon{display:flex;align-items:center;color:var(--brand-start);flex-shrink:0}.option-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.select-arrow-icon{display:flex;align-items:center;color:var(--text-tertiary);transition:transform .3s ease;margin-left:8px}.is-open .select-arrow-icon{transform:rotate(180deg);color:var(--brand-start)}.select-dropdown-portal{pointer-events:auto}.select-dropdown{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);animation:selectFadeIn .2s ease-out;z-index:10001}.dark .select-dropdown{background:var(--surface-tertiary);border-color:var(--border-subtle)}.select-options-list{max-height:240px;overflow-y:auto;padding:6px;display:flex;flex-direction:column}.select-option-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:var(--radius-base);cursor:pointer;transition:background .2s ease,color .2s ease;margin-bottom:2px;color:var(--text-primary)}@media (hover: hover) and (pointer: fine){.select-option-item:hover{background:var(--brand-gradient);color:var(--text-on-overlay)}.select-option-item:hover .option-icon{color:#fff}}.select-option-item.selected{background:var(--brand-alpha-low);color:var(--brand-start)}.select-option-item.active:not(.disabled){background:var(--brand-gradient);color:var(--text-on-overlay)}.select-option-item.active:not(.disabled) .option-icon,.select-option-item.active:not(.disabled) .check-icon{color:#fff}.select-option-item.disabled{opacity:.5;cursor:not-allowed}.check-icon{color:var(--brand-start);flex-shrink:0}@media (hover: hover) and (pointer: fine){.select-option-item:hover .check-icon{color:#fff}}@keyframes selectFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.select-error-text{font-size:.8rem;color:var(--color-danger);padding-left:4px}.select-helper-text{font-size:.8rem;color:var(--text-tertiary);padding-left:4px}.select-options-list::-webkit-scrollbar{width:4px}.select-options-list::-webkit-scrollbar-track{background:transparent}.select-options-list::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:4px}@media (max-width: 480px){.select-wrapper{min-width:0;width:100%}.select-label{font-size:.82rem}.select-sm{padding:7px 10px;font-size:.8rem;min-height:36px}.select-md{padding:10px 12px;font-size:.9rem;min-height:44px}.select-lg{padding:12px 14px;font-size:1rem;min-height:50px}.select-options-list{max-height:200px}.select-option-item{padding:9px 12px}.option-inner{gap:8px}.option-flag{font-size:1.1rem}}@media (max-width: 768px){.select-wrapper{min-width:120px}.select-md{padding:11px 14px;min-height:46px}.select-options-list{max-height:220px}.select-option-item{padding:10px 12px}}@media (min-width: 1024px){.select-wrapper{min-width:180px}.select-lg{padding:16px 22px;font-size:1.15rem;min-height:60px}.select-options-list{max-height:280px}.select-option-item{padding:11px 16px}.option-inner{gap:14px}}
