.button{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;font-size:14px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.button:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.button--sm{height:32px;padding:0 var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}.button--md{height:38px;padding:0 var(--space-4);font-size:14px}.button--lg{height:44px;padding:0 var(--space-5);font-size:15px}.button--primary{background:var(--color-primary);color:var(--white);border-color:var(--color-primary)}.button--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.button--primary:active:not(:disabled){background:#0b0e14}.button--secondary{color:var(--color-primary);border-color:var(--neutral-200);background:0 0}.button--secondary:hover:not(:disabled){background:var(--neutral-100);color:var(--neutral-950)}.button--ghost{color:var(--color-accent);background:0 0}.button--ghost:hover:not(:disabled){background:var(--color-accent-subtle);color:var(--color-accent-hover)}.button--danger{background:var(--color-danger);color:var(--white);border-color:var(--color-danger)}.button--danger:hover:not(:disabled){background:#8e3b31}.button--full{width:100%}.button__spinner{border:1.5px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spin}
.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);letter-spacing:.01em}.form-input{width:100%;height:40px;padding:0 var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-normal);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;display:block}.form-input::placeholder{color:var(--text-tertiary)}.form-input:hover:not(:disabled){border-color:var(--color-gray-400)}.form-input:focus{border-color:var(--color-accent-500);box-shadow:0 0 0 3px #a9895c1f}.form-input--error{border-color:var(--color-error-500)}.form-input--error:focus{border-color:var(--color-error-500);box-shadow:0 0 0 3px #a5473c1f}.form-input:disabled{background:var(--bg-secondary);color:var(--text-tertiary);cursor:not-allowed;border-color:var(--border-primary)}.form-error{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--color-error-500);margin-top:var(--space-1)}.form-hint{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--text-tertiary);margin-top:var(--space-1)}.form-textarea{min-height:96px;padding:var(--space-3);resize:vertical;line-height:var(--leading-normal)}.input-wrapper{position:relative}.input-wrapper .form-input{padding-left:var(--space-10)}.input-icon{left:var(--space-3);color:var(--text-tertiary);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}
.card{background:var(--bg-card);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card--hover{transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.card--hover:hover{box-shadow:var(--shadow-md);border-color:var(--border-primary)}.card__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-secondary);justify-content:space-between;align-items:center;display:flex}.card__title{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary);letter-spacing:-.01em}.card__subtitle{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--text-tertiary);margin-top:2px}.card__body{padding:var(--space-5)}.card__footer{justify-content:flex-end;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-secondary);background:var(--bg-secondary);display:flex}
.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:var(--leading-normal);animation:.2s fadeInUp;display:flex}.alert--success{background:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-200)}.alert--error{background:var(--color-error-50);color:var(--color-error-700);border:1px solid var(--color-error-200)}.alert--warning{background:var(--color-warning-50);color:var(--color-warning-700);border:1px solid var(--color-warning-200)}.alert--info{background:var(--color-info-50);color:var(--color-info-700);border:1px solid var(--color-info-200)}.alert__icon{flex-shrink:0;width:18px;height:18px;margin-top:2px}.alert__content{flex:1;min-width:0}.alert__title{font-weight:var(--font-medium);margin-bottom:2px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.badge{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-medium);letter-spacing:.01em;border-radius:var(--radius-sm);white-space:nowrap;justify-content:center;align-items:center;gap:4px;padding:2px 8px;line-height:1.4;display:inline-flex}.badge--sm{padding:1px 6px;font-size:11px}.badge--md{font-size:var(--text-xs);padding:3px 10px}.badge--pill{border-radius:var(--radius-full)}.badge--default{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary)}.badge--primary{color:var(--color-primary-500);background-color:#1c223014;border:1px solid #1c223029}.badge--accent{color:#8c6e42;background-color:#a9895c1f;border:1px solid #a9895c3d}.badge--success{color:var(--color-success-500);background-color:#4e7a631f;border:1px solid #4e7a6333}.badge--warning{color:#8d6b28;background-color:#b08a3e1f;border:1px solid #b08a3e38}.badge--danger,.badge--error{color:var(--color-error-500);background-color:#a5473c1f;border:1px solid #a5473c33}.badge--info{color:var(--color-info-500);background-color:#5b70831f;border:1px solid #5b708333}
.tabs{gap:var(--space-6);flex-direction:column;width:100%;display:flex}.tabs__list{gap:var(--space-1);border-bottom:1px solid var(--border-primary);padding-bottom:0;display:flex;overflow-x:auto}.tabs__trigger{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;display:inline-flex}.tabs__trigger:hover{color:var(--text-primary)}.tabs__trigger--active{color:var(--text-primary);border-bottom-color:var(--color-accent-500)}.tabs__trigger-icon{color:var(--text-tertiary);transition:color var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.tabs__trigger:hover .tabs__trigger-icon{color:var(--text-primary)}.tabs__trigger--active .tabs__trigger-icon{color:var(--color-accent-500)}.tabs__content{gap:var(--space-6);flex-direction:column;animation:.15s ease-in-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}
