designbase-wp-library 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +230 -70
- package/dist/css/dewp.min.css +1 -1
- package/dist/js/dewp.min.js +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
> **DEWP** - DesignBase WordPress Library의 약자로, `mcp-` 접두사를 `dewp-`로 변경한 최신 버전입니다.
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## �� 특징
|
|
8
8
|
|
|
9
|
-
- **모듈화된 구조**:
|
|
9
|
+
- **모듈화된 구조**: TypeScript로 작성된 컴포넌트 기반 아키텍처
|
|
10
10
|
- **체계적인 SCSS**: 변수, 믹스인, 컴포넌트를 체계적으로 구성
|
|
11
11
|
- **반응형 디자인**: 모바일 우선 접근법으로 모든 디바이스 지원
|
|
12
12
|
- **접근성 고려**: WCAG 가이드라인을 준수하는 컴포넌트
|
|
13
|
-
- **TypeScript 지원**: 완전한 타입
|
|
13
|
+
- **TypeScript 지원**: 완전한 타입 정의와 ES6+ 모듈 지원
|
|
14
|
+
- **WordPress 최적화**: 플러그인 개발에 특화된 컴포넌트
|
|
14
15
|
|
|
15
16
|
## 📦 설치
|
|
16
17
|
|
|
@@ -22,33 +23,48 @@ npm install designbase-wp-library
|
|
|
22
23
|
|
|
23
24
|
```html
|
|
24
25
|
<!-- CSS -->
|
|
25
|
-
<link rel="stylesheet" href="https://unpkg.com/designbase-wp-library@
|
|
26
|
+
<link rel="stylesheet" href="https://unpkg.com/designbase-wp-library@0.1.0/dist/css/dewp.min.css">
|
|
26
27
|
|
|
27
28
|
<!-- JavaScript -->
|
|
28
|
-
<script src="https://unpkg.com/designbase-wp-library@
|
|
29
|
+
<script src="https://unpkg.com/designbase-wp-library@0.1.0/dist/js/dewp.min.js"></script>
|
|
29
30
|
```
|
|
30
31
|
|
|
31
32
|
## 🏗️ 프로젝트 구조
|
|
32
33
|
|
|
33
34
|
```
|
|
34
35
|
src/
|
|
35
|
-
├──
|
|
36
|
-
│ ├──
|
|
37
|
-
│ │ ├──
|
|
38
|
-
│ │ ├──
|
|
39
|
-
│ │
|
|
40
|
-
│ ├──
|
|
41
|
-
│ └──
|
|
36
|
+
├── scripts/
|
|
37
|
+
│ ├── components/ # 컴포넌트 스크립트
|
|
38
|
+
│ │ ├── dewp-modal.ts # 모달 컴포넌트
|
|
39
|
+
│ │ ├── dewp-dropdown.ts # 드롭다운 컴포넌트
|
|
40
|
+
│ │ ├── dewp-tabs.ts # 탭 컴포넌트
|
|
41
|
+
│ │ ├── dewp-toast.ts # 토스트 알림 컴포넌트
|
|
42
|
+
│ │ └── dewp-validate.ts # 폼 검증 컴포넌트
|
|
43
|
+
│ ├── utils/
|
|
44
|
+
│ │ └── dom.ts # DOM 유틸리티 함수
|
|
45
|
+
│ └── index.ts # 메인 진입점
|
|
42
46
|
├── styles/
|
|
43
47
|
│ └── scss/
|
|
44
|
-
│ ├── basic/
|
|
45
|
-
│ ├── components/
|
|
46
|
-
│ ├──
|
|
47
|
-
│
|
|
48
|
-
├──
|
|
49
|
-
│
|
|
50
|
-
├──
|
|
51
|
-
|
|
48
|
+
│ ├── basic/ # 기본 스타일 (변수, 믹스인, 타이포그래피, 레이아웃)
|
|
49
|
+
│ ├── components/ # 재사용 가능한 컴포넌트
|
|
50
|
+
│ │ ├── _badge.scss # 배지 컴포넌트
|
|
51
|
+
│ │ ├── _buttons.scss # 버튼 컴포넌트
|
|
52
|
+
│ │ ├── _dropdown.scss # 드롭다운 컴포넌트
|
|
53
|
+
│ │ ├── _empty-state.scss # 빈 상태 컴포넌트
|
|
54
|
+
│ │ ├── _forms.scss # 폼 컴포넌트
|
|
55
|
+
│ │ ├── _modal.scss # 모달 컴포넌트
|
|
56
|
+
│ │ ├── _notice.scss # 알림 컴포넌트
|
|
57
|
+
│ │ ├── _pagination.scss # 페이지네이션 컴포넌트
|
|
58
|
+
│ │ ├── _table.scss # 테이블 컴포넌트
|
|
59
|
+
│ │ ├── _tabs.scss # 탭 컴포넌트
|
|
60
|
+
│ │ ├── _toast.scss # 토스트 컴포넌트
|
|
61
|
+
│ │ └── _toggle.scss # 토글 컴포넌트
|
|
62
|
+
│ └── main.scss # 메인 스타일시트
|
|
63
|
+
└── dist/ # 빌드 출력
|
|
64
|
+
├── css/
|
|
65
|
+
│ └── dewp.min.css # 압축된 CSS
|
|
66
|
+
└── js/
|
|
67
|
+
└── dewp.min.js # 압축된 JavaScript
|
|
52
68
|
```
|
|
53
69
|
|
|
54
70
|
## 🎯 사용법
|
|
@@ -57,25 +73,29 @@ src/
|
|
|
57
73
|
|
|
58
74
|
#### 브라우저에서 직접 사용
|
|
59
75
|
```html
|
|
60
|
-
<script src="dist/js/dewp.min.js"></script>
|
|
76
|
+
<script src="https://unpkg.com/designbase-wp-library@0.1.0/dist/js/dewp.min.js"></script>
|
|
61
77
|
<script>
|
|
62
78
|
// 전역 DEWP 객체 사용
|
|
63
79
|
window.DEWP.showToast('안녕하세요!', 'success');
|
|
64
80
|
|
|
65
81
|
// 모달 표시
|
|
66
|
-
window.DEWP.showModal({
|
|
67
|
-
title: '알림',
|
|
68
|
-
content: '모달이 표시됩니다!',
|
|
82
|
+
window.DEWP.showModal('알림', '모달이 표시됩니다!', {
|
|
69
83
|
size: 'md'
|
|
70
84
|
});
|
|
71
85
|
|
|
72
86
|
// 확인 모달
|
|
73
|
-
window.DEWP.showConfirmModal(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
87
|
+
window.DEWP.showConfirmModal('정말로 진행하시겠습니까?')
|
|
88
|
+
.then((confirmed) => {
|
|
89
|
+
if (confirmed) {
|
|
90
|
+
console.log('사용자가 확인했습니다');
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
// 드롭다운 초기화
|
|
95
|
+
window.DEWP.initDropdowns();
|
|
96
|
+
|
|
97
|
+
// 탭 초기화
|
|
98
|
+
window.DEWP.initTabs();
|
|
79
99
|
</script>
|
|
80
100
|
```
|
|
81
101
|
|
|
@@ -87,78 +107,212 @@ import { showToast, showModal, showConfirmModal } from 'designbase-wp-library';
|
|
|
87
107
|
showToast('성공!', 'success');
|
|
88
108
|
|
|
89
109
|
// 모달 표시
|
|
90
|
-
showModal({
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
110
|
+
showModal('제목', '내용', { size: 'lg' });
|
|
111
|
+
|
|
112
|
+
// 확인 모달
|
|
113
|
+
showConfirmModal('정말 삭제하시겠습니까?')
|
|
114
|
+
.then((confirmed) => {
|
|
115
|
+
if (confirmed) {
|
|
116
|
+
// 삭제 로직
|
|
117
|
+
}
|
|
118
|
+
});
|
|
95
119
|
```
|
|
96
120
|
|
|
97
121
|
### CSS 사용
|
|
98
122
|
|
|
99
123
|
```html
|
|
100
|
-
<link rel="stylesheet" href="dist/css/dewp.min.css">
|
|
124
|
+
<link rel="stylesheet" href="https://unpkg.com/designbase-wp-library@0.1.0/dist/css/dewp.min.css">
|
|
101
125
|
```
|
|
102
126
|
|
|
103
|
-
##
|
|
127
|
+
## 🧩 컴포넌트
|
|
104
128
|
|
|
105
|
-
###
|
|
106
|
-
```
|
|
107
|
-
|
|
129
|
+
### 1. 토스트 알림 (Toast)
|
|
130
|
+
```javascript
|
|
131
|
+
// 기본 토스트
|
|
132
|
+
window.DEWP.showToast('메시지', 'success');
|
|
133
|
+
|
|
134
|
+
// 타입별 토스트
|
|
135
|
+
window.DEWP.showSuccessToast('성공 메시지');
|
|
136
|
+
window.DEWP.showWarningToast('경고 메시지');
|
|
137
|
+
window.DEWP.showErrorToast('오류 메시지');
|
|
138
|
+
window.DEWP.showInfoToast('정보 메시지');
|
|
108
139
|
```
|
|
109
140
|
|
|
110
|
-
###
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
|
|
141
|
+
### 2. 모달 (Modal)
|
|
142
|
+
```javascript
|
|
143
|
+
// 기본 모달
|
|
144
|
+
window.DEWP.showModal('제목', '내용');
|
|
145
|
+
|
|
146
|
+
// 확인 모달
|
|
147
|
+
window.DEWP.showConfirmModal('정말 삭제하시겠습니까?')
|
|
148
|
+
.then((confirmed) => {
|
|
149
|
+
if (confirmed) {
|
|
150
|
+
// 확인 시 실행할 코드
|
|
151
|
+
}
|
|
152
|
+
});
|
|
114
153
|
|
|
115
|
-
|
|
116
|
-
|
|
154
|
+
// 모달 생성 및 제어
|
|
155
|
+
const modal = window.DEWP.createModal('제목', '내용');
|
|
156
|
+
window.DEWP.openModal(modal);
|
|
157
|
+
window.DEWP.closeModal(modal);
|
|
158
|
+
```
|
|
117
159
|
|
|
118
|
-
|
|
119
|
-
|
|
160
|
+
### 3. 드롭다운 (Dropdown)
|
|
161
|
+
```html
|
|
162
|
+
<div class="dropdown">
|
|
163
|
+
<button class="dropdown-trigger">
|
|
164
|
+
선택하세요 <i class="designbase-icon-arrow-down"></i>
|
|
165
|
+
</button>
|
|
166
|
+
<div class="dropdown-menu">
|
|
167
|
+
<div class="dropdown-item" data-value="option1">옵션 1</div>
|
|
168
|
+
<div class="dropdown-item" data-value="option2">옵션 2</div>
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
|
|
172
|
+
<script>
|
|
173
|
+
// 드롭다운 초기화
|
|
174
|
+
window.DEWP.initDropdowns();
|
|
175
|
+
|
|
176
|
+
// 선택된 값 가져오기
|
|
177
|
+
const value = window.DEWP.getSelectedValue('.dropdown');
|
|
178
|
+
const text = window.DEWP.getSelectedText('.dropdown');
|
|
179
|
+
|
|
180
|
+
// 값 설정
|
|
181
|
+
window.DEWP.setDropdownValue('.dropdown', 'option1');
|
|
182
|
+
</script>
|
|
120
183
|
```
|
|
121
184
|
|
|
122
|
-
###
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
|
|
185
|
+
### 4. 탭 (Tabs)
|
|
186
|
+
```html
|
|
187
|
+
<div class="tabs">
|
|
188
|
+
<button class="tab-btn active" data-tab="tab1">탭 1</button>
|
|
189
|
+
<button class="tab-btn" data-tab="tab2">탭 2</button>
|
|
190
|
+
</div>
|
|
191
|
+
|
|
192
|
+
<div class="tab-content">
|
|
193
|
+
<div class="tab-pane active" data-tab="tab1">탭 1 내용</div>
|
|
194
|
+
<div class="tab-pane" data-tab="tab2">탭 2 내용</div>
|
|
195
|
+
</div>
|
|
126
196
|
|
|
127
|
-
|
|
128
|
-
|
|
197
|
+
<script>
|
|
198
|
+
// 탭 초기화
|
|
199
|
+
window.DEWP.initTabs();
|
|
200
|
+
|
|
201
|
+
// 특정 탭 활성화
|
|
202
|
+
window.DEWP.activateTab('tab2');
|
|
129
203
|
|
|
130
|
-
|
|
131
|
-
|
|
204
|
+
// 활성 탭 정보 가져오기
|
|
205
|
+
const activeTab = window.DEWP.getActiveTab('.tabs');
|
|
206
|
+
</script>
|
|
132
207
|
```
|
|
133
208
|
|
|
134
|
-
|
|
209
|
+
### 5. DOM 유틸리티
|
|
210
|
+
```javascript
|
|
211
|
+
// DOM 요소 선택
|
|
212
|
+
const element = window.DEWP.qs('.my-class');
|
|
213
|
+
const elements = window.DEWP.qsa('.my-class');
|
|
214
|
+
|
|
215
|
+
// 클래스 조작
|
|
216
|
+
window.DEWP.addClass(element, 'active');
|
|
217
|
+
window.DEWP.removeClass(element, 'inactive');
|
|
218
|
+
window.DEWP.toggleClass(element, 'visible');
|
|
219
|
+
|
|
220
|
+
// 텍스트 및 HTML 설정
|
|
221
|
+
window.DEWP.setText(element, '새로운 텍스트');
|
|
222
|
+
window.DEWP.setHTML(element, '<strong>HTML</strong>');
|
|
223
|
+
|
|
224
|
+
// 이벤트 처리
|
|
225
|
+
window.DEWP.on(element, 'click', (e) => console.log('클릭됨'));
|
|
226
|
+
window.DEWP.off(element, 'click');
|
|
227
|
+
|
|
228
|
+
// DOM 상태 확인
|
|
229
|
+
if (window.DEWP.isDOMReady()) {
|
|
230
|
+
// DOM이 준비됨
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
window.DEWP.onDOMReady(() => {
|
|
234
|
+
// DOM 로드 완료 후 실행
|
|
235
|
+
});
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
## 🎨 SCSS 컴포넌트
|
|
135
239
|
|
|
136
240
|
### 기본 컴포넌트
|
|
137
241
|
|
|
138
242
|
#### 버튼
|
|
139
243
|
```html
|
|
140
|
-
<button class="btn btn-primary">Primary Button</button>
|
|
141
|
-
<button class="btn btn-outline-secondary">Outline Button</button>
|
|
142
|
-
<button class="btn btn-success btn-lg">Large Success Button</button>
|
|
244
|
+
<button class="dewp-btn dewp-btn-primary">Primary Button</button>
|
|
245
|
+
<button class="dewp-btn dewp-btn-outline-secondary">Outline Button</button>
|
|
246
|
+
<button class="dewp-btn dewp-btn-success dewp-btn-lg">Large Success Button</button>
|
|
143
247
|
```
|
|
144
248
|
|
|
145
249
|
#### 배지
|
|
146
250
|
```html
|
|
147
|
-
<span class="badge badge-primary">Primary</span>
|
|
148
|
-
<span class="badge badge-success badge-pill">Success</span>
|
|
149
|
-
<span class="badge badge-danger badge-ring"
|
|
251
|
+
<span class="dewp-badge dewp-badge-primary">Primary</span>
|
|
252
|
+
<span class="dewp-badge dewp-badge-success dewp-badge-pill">Success</span>
|
|
253
|
+
<span class="dewp-badge dewp-badge-danger dewp-badge-ring">Danger</span>
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
#### 폼
|
|
257
|
+
```html
|
|
258
|
+
<div class="dewp-form-group">
|
|
259
|
+
<label class="dewp-form-label">이름</label>
|
|
260
|
+
<input type="text" class="dewp-form-input" placeholder="이름을 입력하세요">
|
|
261
|
+
</div>
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
#### 테이블
|
|
265
|
+
```html
|
|
266
|
+
<table class="dewp-table">
|
|
267
|
+
<thead>
|
|
268
|
+
<tr>
|
|
269
|
+
<th>제목</th>
|
|
270
|
+
<th>설명</th>
|
|
271
|
+
</tr>
|
|
272
|
+
</thead>
|
|
273
|
+
<tbody>
|
|
274
|
+
<tr>
|
|
275
|
+
<td>내용 1</td>
|
|
276
|
+
<td>설명 1</td>
|
|
277
|
+
</tr>
|
|
278
|
+
</tbody>
|
|
279
|
+
</table>
|
|
150
280
|
```
|
|
151
281
|
|
|
152
|
-
####
|
|
282
|
+
#### 페이지네이션
|
|
153
283
|
```html
|
|
154
|
-
<div class="
|
|
155
|
-
<div class="
|
|
156
|
-
<
|
|
157
|
-
|
|
284
|
+
<div class="dewp-pagination">
|
|
285
|
+
<div class="dewp-page-item">
|
|
286
|
+
<a href="#" class="dewp-page-link">1</a>
|
|
287
|
+
</div>
|
|
288
|
+
<div class="dewp-page-item active">
|
|
289
|
+
<a href="#" class="dewp-page-link">2</a>
|
|
290
|
+
</div>
|
|
291
|
+
<div class="dewp-page-item">
|
|
292
|
+
<a href="#" class="dewp-page-link">3</a>
|
|
158
293
|
</div>
|
|
159
294
|
</div>
|
|
160
295
|
```
|
|
161
296
|
|
|
297
|
+
#### 토글
|
|
298
|
+
```html
|
|
299
|
+
<label class="dewp-toggle-label">
|
|
300
|
+
<input type="checkbox" class="dewp-toggle-input">
|
|
301
|
+
<span class="dewp-toggle-slider"></span>
|
|
302
|
+
</label>
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
#### 알림
|
|
306
|
+
```html
|
|
307
|
+
<div class="dewp-notice dewp-notice-success">
|
|
308
|
+
<p>성공 메시지입니다.</p>
|
|
309
|
+
</div>
|
|
310
|
+
|
|
311
|
+
<div class="dewp-notice dewp-notice-warning">
|
|
312
|
+
<p>경고 메시지입니다.</p>
|
|
313
|
+
</div>
|
|
314
|
+
```
|
|
315
|
+
|
|
162
316
|
### 유틸리티 클래스
|
|
163
317
|
|
|
164
318
|
#### 간격
|
|
@@ -220,9 +374,9 @@ $font-family-base: 'Your Font', sans-serif;
|
|
|
220
374
|
```
|
|
221
375
|
dist/
|
|
222
376
|
├── css/
|
|
223
|
-
│ └── dewp.min.css # 압축된 CSS
|
|
377
|
+
│ └── dewp.min.css # 압축된 CSS (80.8kB)
|
|
224
378
|
└── js/
|
|
225
|
-
└── dewp.min.js # 압축된 JavaScript
|
|
379
|
+
└── dewp.min.js # 압축된 JavaScript (16.0kB)
|
|
226
380
|
```
|
|
227
381
|
|
|
228
382
|
## 🚀 배포
|
|
@@ -263,3 +417,9 @@ MIT License
|
|
|
263
417
|
## 📞 지원
|
|
264
418
|
|
|
265
419
|
문제가 있거나 질문이 있으시면 이슈를 생성해 주세요.
|
|
420
|
+
|
|
421
|
+
## 🔗 관련 링크
|
|
422
|
+
|
|
423
|
+
- [npm 패키지](https://www.npmjs.com/package/designbase-wp-library)
|
|
424
|
+
- [CDN (unpkg)](https://unpkg.com/designbase-wp-library@0.1.0/)
|
|
425
|
+
- [CDN (jsDelivr)](https://cdn.jsdelivr.net/npm/designbase-wp-library@0.1.0/)
|
package/dist/css/dewp.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.margin-1{margin:4px}.margint-1{margin-top:4px}.marginr-1{margin-right:4px}.marginb-1{margin-bottom:4px}.marginl-1{margin-left:4px}.marginx-1{margin-left:4px;margin-right:4px}.marginy-1{margin-top:4px;margin-bottom:4px}.margin-2{margin:8px}.margint-2{margin-top:8px}.marginr-2{margin-right:8px}.marginb-2{margin-bottom:8px}.marginl-2{margin-left:8px}.marginx-2{margin-left:8px;margin-right:8px}.marginy-2{margin-top:8px;margin-bottom:8px}.margin-3{margin:12px}.margint-3{margin-top:12px}.marginr-3{margin-right:12px}.marginb-3{margin-bottom:12px}.marginl-3{margin-left:12px}.marginx-3{margin-left:12px;margin-right:12px}.marginy-3{margin-top:12px;margin-bottom:12px}.margin-4{margin:16px}.margint-4{margin-top:16px}.marginr-4{margin-right:16px}.marginb-4{margin-bottom:16px}.marginl-4{margin-left:16px}.marginx-4{margin-left:16px;margin-right:16px}.marginy-4{margin-top:16px;margin-bottom:16px}.margin-5{margin:20px}.margint-5{margin-top:20px}.marginr-5{margin-right:20px}.marginb-5{margin-bottom:20px}.marginl-5{margin-left:20px}.marginx-5{margin-left:20px;margin-right:20px}.marginy-5{margin-top:20px;margin-bottom:20px}.margin-6{margin:24px}.margint-6{margin-top:24px}.marginr-6{margin-right:24px}.marginb-6{margin-bottom:24px}.marginl-6{margin-left:24px}.marginx-6{margin-left:24px;margin-right:24px}.marginy-6{margin-top:24px;margin-bottom:24px}.margin-7{margin:28px}.margint-7{margin-top:28px}.marginr-7{margin-right:28px}.marginb-7{margin-bottom:28px}.marginl-7{margin-left:28px}.marginx-7{margin-left:28px;margin-right:28px}.marginy-7{margin-top:28px;margin-bottom:28px}.margin-8{margin:32px}.margint-8{margin-top:32px}.marginr-8{margin-right:32px}.marginb-8{margin-bottom:32px}.marginl-8{margin-left:32px}.marginx-8{margin-left:32px;margin-right:32px}.marginy-8{margin-top:32px;margin-bottom:32px}.margin-9{margin:36px}.margint-9{margin-top:36px}.marginr-9{margin-right:36px}.marginb-9{margin-bottom:36px}.marginl-9{margin-left:36px}.marginx-9{margin-left:36px;margin-right:36px}.marginy-9{margin-top:36px;margin-bottom:36px}.margin-10{margin:40px}.margint-10{margin-top:40px}.marginr-10{margin-right:40px}.marginb-10{margin-bottom:40px}.marginl-10{margin-left:40px}.marginx-10{margin-left:40px;margin-right:40px}.marginy-10{margin-top:40px;margin-bottom:40px}.margin-11{margin:44px}.margint-11{margin-top:44px}.marginr-11{margin-right:44px}.marginb-11{margin-bottom:44px}.marginl-11{margin-left:44px}.marginx-11{margin-left:44px;margin-right:44px}.marginy-11{margin-top:44px;margin-bottom:44px}.margin-12{margin:48px}.margint-12{margin-top:48px}.marginr-12{margin-right:48px}.marginb-12{margin-bottom:48px}.marginl-12{margin-left:48px}.marginx-12{margin-left:48px;margin-right:48px}.marginy-12{margin-top:48px;margin-bottom:48px}.margin-13{margin:52px}.margint-13{margin-top:52px}.marginr-13{margin-right:52px}.marginb-13{margin-bottom:52px}.marginl-13{margin-left:52px}.marginx-13{margin-left:52px;margin-right:52px}.marginy-13{margin-top:52px;margin-bottom:52px}.margin-14{margin:56px}.margint-14{margin-top:56px}.marginr-14{margin-right:56px}.marginb-14{margin-bottom:56px}.marginl-14{margin-left:56px}.marginx-14{margin-left:56px;margin-right:56px}.marginy-14{margin-top:56px;margin-bottom:56px}.margin-15{margin:60px}.margint-15{margin-top:60px}.marginr-15{margin-right:60px}.marginb-15{margin-bottom:60px}.marginl-15{margin-left:60px}.marginx-15{margin-left:60px;margin-right:60px}.marginy-15{margin-top:60px;margin-bottom:60px}.margin-16{margin:64px}.margint-16{margin-top:64px}.marginr-16{margin-right:64px}.marginb-16{margin-bottom:64px}.marginl-16{margin-left:64px}.marginx-16{margin-left:64px;margin-right:64px}.marginy-16{margin-top:64px;margin-bottom:64px}.margin-17{margin:68px}.margint-17{margin-top:68px}.marginr-17{margin-right:68px}.marginb-17{margin-bottom:68px}.marginl-17{margin-left:68px}.marginx-17{margin-left:68px;margin-right:68px}.marginy-17{margin-top:68px;margin-bottom:68px}.margin-18{margin:72px}.margint-18{margin-top:72px}.marginr-18{margin-right:72px}.marginb-18{margin-bottom:72px}.marginl-18{margin-left:72px}.marginx-18{margin-left:72px;margin-right:72px}.marginy-18{margin-top:72px;margin-bottom:72px}.margin-19{margin:76px}.margint-19{margin-top:76px}.marginr-19{margin-right:76px}.marginb-19{margin-bottom:76px}.marginl-19{margin-left:76px}.marginx-19{margin-left:76px;margin-right:76px}.marginy-19{margin-top:76px;margin-bottom:76px}.margin-20{margin:80px}.margint-20{margin-top:80px}.marginr-20{margin-right:80px}.marginb-20{margin-bottom:80px}.marginl-20{margin-left:80px}.marginx-20{margin-left:80px;margin-right:80px}.marginy-20{margin-top:80px;margin-bottom:80px}.margin-0{margin:0}.margint-0{margin-top:0}.marginr-0{margin-right:0}.marginb-0{margin-bottom:0}.marginl-0{margin-left:0}.marginx-0{margin-left:0;margin-right:0}.marginy-0{margin-top:0;margin-bottom:0}.p-1{padding:4px}.pt-1{padding-top:4px}.pr-1{padding-right:4px}.pb-1{padding-bottom:4px}.pl-1{padding-left:4px}.px-1{padding-left:4px;padding-right:4px}.py-1{padding-top:4px;padding-bottom:4px}.p-2{padding:8px}.pt-2{padding-top:8px}.pr-2{padding-right:8px}.pb-2{padding-bottom:8px}.pl-2{padding-left:8px}.px-2{padding-left:8px;padding-right:8px}.py-2{padding-top:8px;padding-bottom:8px}.p-3{padding:12px}.pt-3{padding-top:12px}.pr-3{padding-right:12px}.pb-3{padding-bottom:12px}.pl-3{padding-left:12px}.px-3{padding-left:12px;padding-right:12px}.py-3{padding-top:12px;padding-bottom:12px}.p-4{padding:16px}.pt-4{padding-top:16px}.pr-4{padding-right:16px}.pb-4{padding-bottom:16px}.pl-4{padding-left:16px}.px-4{padding-left:16px;padding-right:16px}.py-4{padding-top:16px;padding-bottom:16px}.p-5{padding:20px}.pt-5{padding-top:20px}.pr-5{padding-right:20px}.pb-5{padding-bottom:20px}.pl-5{padding-left:20px}.px-5{padding-left:20px;padding-right:20px}.py-5{padding-top:20px;padding-bottom:20px}.p-6{padding:24px}.pt-6{padding-top:24px}.pr-6{padding-right:24px}.pb-6{padding-bottom:24px}.pl-6{padding-left:24px}.px-6{padding-left:24px;padding-right:24px}.py-6{padding-top:24px;padding-bottom:24px}.p-7{padding:28px}.pt-7{padding-top:28px}.pr-7{padding-right:28px}.pb-7{padding-bottom:28px}.pl-7{padding-left:28px}.px-7{padding-left:28px;padding-right:28px}.py-7{padding-top:28px;padding-bottom:28px}.p-8{padding:32px}.pt-8{padding-top:32px}.pr-8{padding-right:32px}.pb-8{padding-bottom:32px}.pl-8{padding-left:32px}.px-8{padding-left:32px;padding-right:32px}.py-8{padding-top:32px;padding-bottom:32px}.p-9{padding:36px}.pt-9{padding-top:36px}.pr-9{padding-right:36px}.pb-9{padding-bottom:36px}.pl-9{padding-left:36px}.px-9{padding-left:36px;padding-right:36px}.py-9{padding-top:36px;padding-bottom:36px}.p-10{padding:40px}.pt-10{padding-top:40px}.pr-10{padding-right:40px}.pb-10{padding-bottom:40px}.pl-10{padding-left:40px}.px-10{padding-left:40px;padding-right:40px}.py-10{padding-top:40px;padding-bottom:40px}.p-11{padding:44px}.pt-11{padding-top:44px}.pr-11{padding-right:44px}.pb-11{padding-bottom:44px}.pl-11{padding-left:44px}.px-11{padding-left:44px;padding-right:44px}.py-11{padding-top:44px;padding-bottom:44px}.p-12{padding:48px}.pt-12{padding-top:48px}.pr-12{padding-right:48px}.pb-12{padding-bottom:48px}.pl-12{padding-left:48px}.px-12{padding-left:48px;padding-right:48px}.py-12{padding-top:48px;padding-bottom:48px}.p-13{padding:52px}.pt-13{padding-top:52px}.pr-13{padding-right:52px}.pb-13{padding-bottom:52px}.pl-13{padding-left:52px}.px-13{padding-left:52px;padding-right:52px}.py-13{padding-top:52px;padding-bottom:52px}.p-14{padding:56px}.pt-14{padding-top:56px}.pr-14{padding-right:56px}.pb-14{padding-bottom:56px}.pl-14{padding-left:56px}.px-14{padding-left:56px;padding-right:56px}.py-14{padding-top:56px;padding-bottom:56px}.p-15{padding:60px}.pt-15{padding-top:60px}.pr-15{padding-right:60px}.pb-15{padding-bottom:60px}.pl-15{padding-left:60px}.px-15{padding-left:60px;padding-right:60px}.py-15{padding-top:60px;padding-bottom:60px}.p-16{padding:64px}.pt-16{padding-top:64px}.pr-16{padding-right:64px}.pb-16{padding-bottom:64px}.pl-16{padding-left:64px}.px-16{padding-left:64px;padding-right:64px}.py-16{padding-top:64px;padding-bottom:64px}.p-17{padding:68px}.pt-17{padding-top:68px}.pr-17{padding-right:68px}.pb-17{padding-bottom:68px}.pl-17{padding-left:68px}.px-17{padding-left:68px;padding-right:68px}.py-17{padding-top:68px;padding-bottom:68px}.p-18{padding:72px}.pt-18{padding-top:72px}.pr-18{padding-right:72px}.pb-18{padding-bottom:72px}.pl-18{padding-left:72px}.px-18{padding-left:72px;padding-right:72px}.py-18{padding-top:72px;padding-bottom:72px}.p-19{padding:76px}.pt-19{padding-top:76px}.pr-19{padding-right:76px}.pb-19{padding-bottom:76px}.pl-19{padding-left:76px}.px-19{padding-left:76px;padding-right:76px}.py-19{padding-top:76px;padding-bottom:76px}.p-20{padding:80px}.pt-20{padding-top:80px}.pr-20{padding-right:80px}.pb-20{padding-bottom:80px}.pl-20{padding-left:80px}.px-20{padding-left:80px;padding-right:80px}.py-20{padding-top:80px;padding-bottom:80px}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.rounded-1{border-radius:4px}.rounded-top-1{border-top-left-radius:4px;border-top-right-radius:4px}.rounded-right-1{border-top-right-radius:4px;border-bottom-right-radius:4px}.rounded-bottom-1{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.rounded-left-1{border-top-left-radius:4px;border-bottom-left-radius:4px}.rounded-2{border-radius:8px}.rounded-top-2{border-top-left-radius:8px;border-top-right-radius:8px}.rounded-right-2{border-top-right-radius:8px;border-bottom-right-radius:8px}.rounded-bottom-2{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.rounded-left-2{border-top-left-radius:8px;border-bottom-left-radius:8px}.rounded-3{border-radius:12px}.rounded-top-3{border-top-left-radius:12px;border-top-right-radius:12px}.rounded-right-3{border-top-right-radius:12px;border-bottom-right-radius:12px}.rounded-bottom-3{border-bottom-right-radius:12px;border-bottom-left-radius:12px}.rounded-left-3{border-top-left-radius:12px;border-bottom-left-radius:12px}.rounded-4{border-radius:16px}.rounded-top-4{border-top-left-radius:16px;border-top-right-radius:16px}.rounded-right-4{border-top-right-radius:16px;border-bottom-right-radius:16px}.rounded-bottom-4{border-bottom-right-radius:16px;border-bottom-left-radius:16px}.rounded-left-4{border-top-left-radius:16px;border-bottom-left-radius:16px}.rounded-5{border-radius:20px}.rounded-top-5{border-top-left-radius:20px;border-top-right-radius:20px}.rounded-right-5{border-top-right-radius:20px;border-bottom-right-radius:20px}.rounded-bottom-5{border-bottom-right-radius:20px;border-bottom-left-radius:20px}.rounded-left-5{border-top-left-radius:20px;border-bottom-left-radius:20px}.rounded-6{border-radius:24px}.rounded-top-6{border-top-left-radius:24px;border-top-right-radius:24px}.rounded-right-6{border-top-right-radius:24px;border-bottom-right-radius:24px}.rounded-bottom-6{border-bottom-right-radius:24px;border-bottom-left-radius:24px}.rounded-left-6{border-top-left-radius:24px;border-bottom-left-radius:24px}.rounded-7{border-radius:28px}.rounded-top-7{border-top-left-radius:28px;border-top-right-radius:28px}.rounded-right-7{border-top-right-radius:28px;border-bottom-right-radius:28px}.rounded-bottom-7{border-bottom-right-radius:28px;border-bottom-left-radius:28px}.rounded-left-7{border-top-left-radius:28px;border-bottom-left-radius:28px}.rounded-8{border-radius:32px}.rounded-top-8{border-top-left-radius:32px;border-top-right-radius:32px}.rounded-right-8{border-top-right-radius:32px;border-bottom-right-radius:32px}.rounded-bottom-8{border-bottom-right-radius:32px;border-bottom-left-radius:32px}.rounded-left-8{border-top-left-radius:32px;border-bottom-left-radius:32px}.rounded-9{border-radius:36px}.rounded-top-9{border-top-left-radius:36px;border-top-right-radius:36px}.rounded-right-9{border-top-right-radius:36px;border-bottom-right-radius:36px}.rounded-bottom-9{border-bottom-right-radius:36px;border-bottom-left-radius:36px}.rounded-left-9{border-top-left-radius:36px;border-bottom-left-radius:36px}.rounded-10{border-radius:40px}.rounded-top-10{border-top-left-radius:40px;border-top-right-radius:40px}.rounded-right-10{border-top-right-radius:40px;border-bottom-right-radius:40px}.rounded-bottom-10{border-bottom-right-radius:40px;border-bottom-left-radius:40px}.rounded-left-10{border-top-left-radius:40px;border-bottom-left-radius:40px}.rounded-0{border-radius:0}.rounded-top-0{border-top-left-radius:0;border-top-right-radius:0}.rounded-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-bottom-0{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:50rem}.rounded-top-left{border-top-left-radius:12px}.rounded-top-right{border-top-right-radius:12px}.rounded-bottom-left{border-bottom-left-radius:12px}.rounded-bottom-right{border-bottom-right-radius:12px}.rounded-0{border-radius:0}.rounded-inherit{border-radius:inherit}.rounded-initial{border-radius:initial}.rounded-unset{border-radius:unset}html{font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#111827;background-color:#fff;margin:0;padding:0}h1,h2,h3,h4,h5,h6{margin:0 0 12px 0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:600;line-height:1.25;color:#111827}h1{font-size:2rem;margin-bottom:24px}h2{font-size:1.5rem;margin-bottom:16px}h3{font-size:1.25rem;margin-bottom:16px}h4{font-size:1.125rem;margin-bottom:8px}h5{font-size:1rem;margin-bottom:8px}h6{font-size:.875rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}p{margin:0 0 16px 0;line-height:1.5}p:last-child{margin-bottom:0}.text-xs{font-size:.75rem}.text-s{font-size:.875rem}.text-base{font-size:1rem}.text-m{font-size:1.125rem}.text-l{font-size:1.25rem}.text-xl{font-size:1.5rem}.text-xxl{font-size:2rem}.text-light{font-weight:300}.text-normal{font-weight:400}.text-medium{font-weight:500}.text-semibold{font-weight:600}.text-bold{font-weight:700}.text-primary{color:#111827}.text-secondary{color:#4b5563}.text-muted{color:#6b7280}.text-light{color:#9ca3af}.text-white{color:#fff}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.leading-tight{line-height:1.25}.leading-base{line-height:1.5}.leading-relaxed{line-height:1.8}a{color:#3b82f6;text-decoration:none;transition:color .15s ease}a:hover{color:rgb(11.1512195122,99.1219512195,242.8487804878);text-decoration:underline}a:focus{outline:2px solid #3b82f6;outline-offset:2px}.link-secondary{color:#4b5563}.link-secondary:hover{color:#111827}.link-muted{color:#6b7280}.link-muted:hover{color:#111827}ul,ol{margin:0 0 8px 0;padding-left:12px}li{margin-bottom:4px;line-height:1.5}.list-unstyled{list-style:none;padding-left:0}.list-inline{list-style:none;padding-left:0}.list-inline li{display:inline-block;margin-right:8px;margin-bottom:0}.list-inline li:last-child{margin-right:0}blockquote{margin:12px 0;padding:12px;border-left:2px solid #3b82f6;background-color:#f9fafb}blockquote p:last-child{margin-bottom:0}blockquote cite{display:block;margin-top:8px;font-size:.875rem;color:#6b7280;font-style:normal}code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:.875rem;color:#ef4444;background-color:#f9fafb;padding:4px;border-radius:4px}pre{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:.875rem;line-height:1.5;color:#111827;background-color:#f9fafb;padding:4px;border-radius:8px;overflow-x:auto;margin:8px 0}pre code{color:inherit;background-color:rgba(0,0,0,0);padding:0;border-radius:0}hr{margin:12px 0;border:0;border-top:1px solid #f3f4f6;height:1px}small,.small{font-size:.75rem;color:#6b7280}strong,b{font-weight:600}em,i{font-style:italic}mark{background-color:#f59e0b;color:#111827;padding:4px;border-radius:.2em}del,s{text-decoration:line-through;color:#6b7280}ins,u{text-decoration:underline}sub,sup{font-size:.75rem;line-height:0;position:relative;vertical-align:baseline}sup{top:-4px}sub{bottom:-4px}*{box-sizing:border-box}.container{width:100%;margin:0 auto;padding:0 16px;max-width:1200px}@media(min-width: 576px){.container{padding:0 24px}}@media(min-width: 992px){.container{padding:0 32px}}.container-fluid{width:100%;margin:0 auto;padding:0 16px}@media(min-width: 576px){.container-fluid{padding:0 24px}}.row{display:flex;flex-wrap:wrap;margin:0 -8px}.col,.col-auto,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{position:relative;width:100%;padding:0 8px}.col{flex:1 0 0%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}@media(min-width: 576px){.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto}}@media(min-width: 768px){.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto}}@media(min-width: 992px){.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto}}@media(min-width: 1200px){.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto}}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-none{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-column{flex-direction:column}.flex-column-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-stretch{align-content:stretch}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.flex-fill{flex:1 1 auto}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}@media(min-width: 576px){.d-sm-block{display:block}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-flex{display:flex}.d-sm-none{display:none}}@media(min-width: 768px){.d-md-block{display:block}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-flex{display:flex}.d-md-none{display:none}}@media(min-width: 992px){.d-lg-block{display:block}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-flex{display:flex}.d-lg-none{display:none}}@media(min-width: 1200px){.d-xl-block{display:block}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-flex{display:flex}.d-xl-none{display:none}}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.vh-25{height:25vh}.vh-50{height:50vh}.vh-75{height:75vh}.vh-100{height:100vh}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.float-start{float:left}.float-end{float:right}.float-none{float:none}.clearfix::after{content:"";display:table;clear:both}.visible{visibility:visible}.invisible{visibility:hidden}@media(min-width: 576px){.d-sm-none{display:none}.d-sm-block{display:block}.d-sm-flex{display:flex}}@media(max-width: 575px){.d-sm-down-none{display:none}.d-sm-down-block{display:block}.d-sm-down-flex{display:flex}}@media(min-width: 768px){.d-md-none{display:none}.d-md-block{display:block}.d-md-flex{display:flex}}@media(max-width: 767px){.d-md-down-none{display:none}.d-md-down-block{display:block}.d-md-down-flex{display:flex}}@media(min-width: 992px){.d-lg-none{display:none}.d-lg-block{display:block}.d-lg-flex{display:flex}}@media(max-width: 991px){.d-lg-down-none{display:none}.d-lg-down-block{display:block}.d-lg-down-flex{display:flex}}@media(min-width: 1200px){.d-xl-none{display:none}.d-xl-block{display:block}.d-xl-flex{display:flex}}@media(max-width: 1199px){.d-xl-down-none{display:none}.d-xl-down-block{display:block}.d-xl-down-flex{display:flex}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{from{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{from{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInRight{from{transform:translateX(-20px);opacity:0}to{transform:translateX(0);opacity:1}}*{box-sizing:border-box}html{font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#111827;background-color:#fff;margin:0;padding:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.visible{visibility:visible}.invisible{visibility:hidden}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.user-select-none{user-select:none}.user-select-auto{user-select:auto}.user-select-all{user-select:all}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}@media(min-width: 576px){.d-sm-none{display:none}.d-sm-block{display:block}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}}@media(min-width: 768px){.d-md-none{display:none}.d-md-block{display:block}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}}@media(min-width: 992px){.d-lg-none{display:none}.d-lg-block{display:block}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}}@media(min-width: 1200px){.d-xl-none{display:none}.d-xl-block{display:block}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}}@media print{*{background:rgba(0,0,0,0) !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #d1d5db;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;font-size:.75rem;font-weight:500;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:8px;transition:all .15s ease}.badge .icon{margin-right:4px}.badge .icon:last-child{margin-right:0;margin-left:4px}.badge[href]{text-decoration:none;cursor:pointer}.badge[href]:hover{text-decoration:none}.badge-xs{padding:.125rem .25rem;font-size:.625rem}.badge-s{padding:4px 8px;font-size:.75rem}.badge-m{padding:8px 16px;font-size:.875rem}.badge-l{padding:16px 24px;font-size:1rem}.badge-primary{color:#fff;background-color:#3b82f6}.badge-primary[href]:hover{background-color:rgb(11.1512195122,99.1219512195,242.8487804878)}.badge-secondary{color:#fff;background-color:#6b7280}.badge-secondary[href]:hover{background-color:hsl(220,8.9361702128%,36.0784313725%)}.badge-success{color:#fff;background-color:#10b981}.badge-success[href]:hover{background-color:rgb(11.9402985075,138.0597014925,96.2686567164)}.badge-warning{color:#111827;background-color:#f59e0b}.badge-warning[href]:hover{background-color:rgb(196.9291338583,126.7125984252,8.0708661417)}.badge-danger{color:#fff;background-color:#ef4444}.badge-danger[href]:hover{background-color:hsl(0,84.236453202%,50.1960784314%)}.badge-info{color:#fff;background-color:#06b6d4}.badge-info[href]:hover{background-color:rgb(4.5963302752,139.4220183486,162.4036697248)}.badge-light{color:#111827;background-color:#f3f4f6}.badge-light[href]:hover{background-color:#e5e7eb}.badge-dark{color:#fff;background-color:#1f2937}.badge-dark[href]:hover{background-color:#111827}.badge-outline-primary{color:#3b82f6;background-color:rgba(0,0,0,0);border:1px solid #3b82f6}.badge-outline-secondary{color:#6b7280;background-color:rgba(0,0,0,0);border:1px solid #6b7280}.badge-outline-success{color:#10b981;background-color:rgba(0,0,0,0);border:1px solid #10b981}.badge-outline-warning{color:#f59e0b;background-color:rgba(0,0,0,0);border:1px solid #f59e0b}.badge-outline-danger{color:#ef4444;background-color:rgba(0,0,0,0);border:1px solid #ef4444}.badge-outline-info{color:#06b6d4;background-color:rgba(0,0,0,0);border:1px solid #06b6d4}.badge-outline-light{color:#4b5563;background-color:rgba(0,0,0,0);border:1px solid #d1d5db}.badge-outline-dark{color:#1f2937;background-color:rgba(0,0,0,0);border:1px solid #1f2937}.badge-rounded{border-radius:12px}.badge-pill{border-radius:24px}.badge-square{border-radius:0}.badge-dot{padding:0;width:.5rem;height:.5rem;border-radius:50%}.badge-dot .icon{display:none}.badge-ring{position:relative}.badge-ring::after{content:"";position:absolute;top:-2px;right:-2px;width:.5rem;height:.5rem;background-color:#ef4444;border:2px solid #fff;border-radius:50%}.badge-top-left{position:absolute;top:-0.5rem;left:-0.5rem;transform:translate(-50%, -50%)}.badge-top-right{position:absolute;top:-0.5rem;right:-0.5rem;transform:translate(50%, -50%)}.badge-bottom-left{position:absolute;bottom:-0.5rem;left:-0.5rem;transform:translate(-50%, 50%)}.badge-bottom-right{position:absolute;bottom:-0.5rem;right:-0.5rem;transform:translate(50%, 50%)}.badge-pulse{animation:badge-pulse 2s infinite}.badge-bounce{animation:badge-bounce 1s infinite}@keyframes badge-pulse{0%{box-shadow:0 0 0 0 rgba(59,130,246,.7)}70%{box-shadow:0 0 0 .5rem rgba(59,130,246,0)}100%{box-shadow:0 0 0 0 rgba(59,130,246,0)}}@keyframes badge-bounce{0%,20%,53%,80%,100%{transform:translate3d(0, 0, 0)}40%,43%{transform:translate3d(0, -0.25rem, 0)}70%{transform:translate3d(0, -0.125rem, 0)}90%{transform:translate3d(0, -0.0625rem, 0)}}.badge-group{display:inline-flex;align-items:center}.badge-group .badge{margin-right:4px}.badge-group .badge:last-child{margin-right:0}.badge-group-vertical{flex-direction:column}.badge-group-vertical .badge{margin-right:0;margin-bottom:4px}.badge-group-vertical .badge:last-child{margin-bottom:0}.btn .badge{margin-left:4px;font-size:.75em;vertical-align:middle}.btn .badge:first-child{margin-left:0;margin-right:4px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:1rem;font-weight:500;line-height:1.5;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:1px solid rgba(0,0,0,0);border-radius:8px;transition:all .15s ease;white-space:nowrap;min-height:2.5rem}.btn:hover{text-decoration:none}.btn:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.btn:focus:focus:not(:focus-visible){outline:none}.btn:disabled,.btn.disabled{opacity:.65;pointer-events:none;cursor:not-allowed}.btn .icon{margin-right:4px}.btn .icon:last-child{margin-right:0;margin-left:4px}.btn-xs{padding:4px 8px;font-size:.75rem;border-radius:4px;min-height:1.75rem}.btn-s{padding:4px 12px;font-size:.875rem;min-height:2rem}.btn-m{padding:8px 16px;font-size:1rem;min-height:2.5rem}.btn-l{padding:12px 20px;font-size:1.125rem;min-height:3rem}.btn-xl{padding:16px 24px;font-size:1.25rem;min-height:3.5rem}.btn-primary{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.btn-primary:hover{color:#fff;background-color:rgb(11.1512195122,99.1219512195,242.8487804878);border-color:rgb(11.1512195122,99.1219512195,242.8487804878)}.btn-primary:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.btn-primary:focus:focus:not(:focus-visible){outline:none}.btn-primary:active{background-color:rgb(10.0317073171,89.1707317073,218.4682926829);border-color:rgb(10.0317073171,89.1707317073,218.4682926829)}.btn-secondary{color:#111827;background-color:#6b7280;border-color:#6b7280}.btn-secondary:hover{color:#fff;background-color:hsl(220,8.9361702128%,36.0784313725%);border-color:hsl(220,8.9361702128%,36.0784313725%)}.btn-secondary:focus:focus{outline:2px solid #6b7280;outline-offset:2px}.btn-secondary:focus:focus:not(:focus-visible){outline:none}.btn-secondary:active{background-color:hsl(220,8.9361702128%,31.0784313725%);border-color:hsl(220,8.9361702128%,31.0784313725%)}.btn-success{color:#fff;background-color:#10b981;border-color:#10b981}.btn-success:hover{color:#fff;background-color:rgb(11.9402985075,138.0597014925,96.2686567164);border-color:rgb(11.9402985075,138.0597014925,96.2686567164)}.btn-success:focus:focus{outline:2px solid #10b981;outline-offset:2px}.btn-success:focus:focus:not(:focus-visible){outline:none}.btn-success:active{background-color:rgb(9.9104477612,114.5895522388,79.9029850746);border-color:rgb(9.9104477612,114.5895522388,79.9029850746)}.btn-warning{color:#111827;background-color:#f59e0b;border-color:#f59e0b}.btn-warning:hover{color:#111827;background-color:rgb(196.9291338583,126.7125984252,8.0708661417);border-color:rgb(196.9291338583,126.7125984252,8.0708661417)}.btn-warning:focus:focus{outline:2px solid #f59e0b;outline-offset:2px}.btn-warning:focus:focus:not(:focus-visible){outline:none}.btn-warning:active{background-color:rgb(172.4330708661,110.9507874016,7.0669291339);border-color:rgb(172.4330708661,110.9507874016,7.0669291339)}.btn-danger{color:#fff;background-color:#ef4444;border-color:#ef4444}.btn-danger:hover{color:#fff;background-color:hsl(0,84.236453202%,50.1960784314%);border-color:hsl(0,84.236453202%,50.1960784314%)}.btn-danger:focus:focus{outline:2px solid #ef4444;outline-offset:2px}.btn-danger:focus:focus:not(:focus-visible){outline:none}.btn-danger:active{background-color:hsl(0,84.236453202%,45.1960784314%);border-color:hsl(0,84.236453202%,45.1960784314%)}.btn-info{color:#fff;background-color:#06b6d4;border-color:#06b6d4}.btn-info:hover{color:#fff;background-color:rgb(4.5963302752,139.4220183486,162.4036697248);border-color:rgb(4.5963302752,139.4220183486,162.4036697248)}.btn-info:focus:focus{outline:2px solid #06b6d4;outline-offset:2px}.btn-info:focus:focus:not(:focus-visible){outline:none}.btn-info:active{background-color:rgb(3.8944954128,118.1330275229,137.6055045872);border-color:rgb(3.8944954128,118.1330275229,137.6055045872)}.btn-light{color:#111827;background-color:#f3f4f6;border-color:#d1d5db}.btn-light:hover{color:#111827;background-color:#e5e7eb;border-color:#9ca3af}.btn-light:focus:focus{outline:2px solid #6b7280;outline-offset:2px}.btn-light:focus:focus:not(:focus-visible){outline:none}.btn-light:active{background-color:#d1d5db;border-color:#6b7280}.btn-dark{color:#fff;background-color:#1f2937;border-color:#1f2937}.btn-dark:hover{color:#fff;background-color:#111827;border-color:#111827}.btn-dark:focus:focus{outline:2px solid #374151;outline-offset:2px}.btn-dark:focus:focus:not(:focus-visible){outline:none}.btn-dark:active{background-color:#000;border-color:#000}.btn-outline-primary{color:#3b82f6;background-color:rgba(0,0,0,0);border-color:#3b82f6}.btn-outline-primary:hover{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.btn-outline-primary:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.btn-outline-primary:focus:focus:not(:focus-visible){outline:none}.btn-outline-primary:active{color:#fff;background-color:rgb(10.0317073171,89.1707317073,218.4682926829);border-color:rgb(10.0317073171,89.1707317073,218.4682926829)}.btn-outline-secondary{color:#6b7280;background-color:rgba(0,0,0,0);border-color:#6b7280}.btn-outline-secondary:hover{color:#fff;background-color:#6b7280;border-color:#6b7280}.btn-outline-secondary:focus:focus{outline:2px solid #6b7280;outline-offset:2px}.btn-outline-secondary:focus:focus:not(:focus-visible){outline:none}.btn-outline-secondary:active{color:#fff;background-color:hsl(220,8.9361702128%,31.0784313725%);border-color:hsl(220,8.9361702128%,31.0784313725%)}.btn-outline-success{color:#10b981;background-color:rgba(0,0,0,0);border-color:#10b981}.btn-outline-success:hover{color:#fff;background-color:#10b981;border-color:#10b981}.btn-outline-success:focus:focus{outline:2px solid #10b981;outline-offset:2px}.btn-outline-success:focus:focus:not(:focus-visible){outline:none}.btn-outline-success:active{color:#fff;background-color:rgb(9.9104477612,114.5895522388,79.9029850746);border-color:rgb(9.9104477612,114.5895522388,79.9029850746)}.btn-outline-warning{color:#f59e0b;background-color:rgba(0,0,0,0);border-color:#f59e0b}.btn-outline-warning:hover{color:#111827;background-color:#f59e0b;border-color:#f59e0b}.btn-outline-warning:focus:focus{outline:2px solid #f59e0b;outline-offset:2px}.btn-outline-warning:focus:focus:not(:focus-visible){outline:none}.btn-outline-warning:active{color:#111827;background-color:rgb(172.4330708661,110.9507874016,7.0669291339);border-color:rgb(172.4330708661,110.9507874016,7.0669291339)}.btn-outline-danger{color:#ef4444;background-color:rgba(0,0,0,0);border-color:#ef4444}.btn-outline-danger:hover{color:#fff;background-color:#ef4444;border-color:#ef4444}.btn-outline-danger:focus:focus{outline:2px solid #ef4444;outline-offset:2px}.btn-outline-danger:focus:focus:not(:focus-visible){outline:none}.btn-outline-danger:active{color:#fff;background-color:hsl(0,84.236453202%,45.1960784314%);border-color:hsl(0,84.236453202%,45.1960784314%)}.btn-outline-info{color:#06b6d4;background-color:rgba(0,0,0,0);border-color:#06b6d4}.btn-outline-info:hover{color:#fff;background-color:#06b6d4;border-color:#06b6d4}.btn-outline-info:focus:focus{outline:2px solid #06b6d4;outline-offset:2px}.btn-outline-info:focus:focus:not(:focus-visible){outline:none}.btn-outline-info:active{color:#fff;background-color:rgb(3.8944954128,118.1330275229,137.6055045872);border-color:rgb(3.8944954128,118.1330275229,137.6055045872)}.btn-block{display:block;width:100%}.btn-loading{position:relative;color:rgba(0,0,0,0)}.btn-loading::after{content:"";position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin:-0.5rem 0 0 -0.5rem;border:2px solid currentColor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-group{display:inline-flex;vertical-align:middle}.btn-group .btn{position:relative;flex:1 1 auto}.btn-group .btn:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group .btn:hover,.btn-group .btn:focus,.btn-group .btn:active{z-index:1}.btn-group-vertical{flex-direction:column}.btn-group-vertical .btn:not(:first-child){margin-top:-1px;margin-left:0;border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical .btn:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .btn-group{margin-right:8px;margin-bottom:8px}.btn-toolbar .btn-group:last-child{margin-right:0}.dropdown{position:relative;display:inline-block}.dropdown:has(.dropdown-menu.show) .dropdown-toggle{background-color:#f9fafb;color:#111827}.dropdown .dropdown-menu{position:absolute;background:#fff;border:1px solid #f3f4f6;border-radius:8px;box-shadow:0 .5rem 1rem rgba(0,0,0,.1);z-index:1000;min-width:160px;max-width:300px;opacity:0;visibility:hidden;transform:scale(0.95) translateY(-8px);transition:all .15s ease ease;overflow:hidden;pointer-events:none}.dropdown .dropdown-menu.show{opacity:1;visibility:visible;transform:scale(1) translateY(0);pointer-events:auto}.dropdown .dropdown-menu .dropdown-item{display:block;width:100%;padding:8px 16px;background:none;border:none;box-shadow:none;text-align:left;font-size:.875rem;color:#111827;cursor:pointer;transition:background-color .15s ease ease;text-decoration:none;line-height:1.5;border-bottom:1px solid #f3f4f6}.dropdown .dropdown-menu .dropdown-item:last-child{border-bottom:none}.dropdown .dropdown-menu .dropdown-item:hover{background-color:#f9fafb}.dropdown .dropdown-menu .dropdown-item:focus{background-color:#f9fafb}.dropdown .dropdown-menu .dropdown-item:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.dropdown .dropdown-menu .dropdown-item:focus:focus:not(:focus-visible){outline:none}.dropdown .dropdown-menu .dropdown-item:active{background-color:#e5e7eb}.dropdown .dropdown-menu .dropdown-item .dropdown-icon{width:14px;height:14px;margin-right:8px;vertical-align:middle;fill:currentColor}.dropdown .dropdown-menu .dropdown-item.dropdown-item-primary{color:#3b82f6}.dropdown .dropdown-menu .dropdown-item.dropdown-item-primary:hover{background-color:rgba(59,130,246,.1)}.dropdown .dropdown-menu .dropdown-item.dropdown-item-success{color:#10b981}.dropdown .dropdown-menu .dropdown-item.dropdown-item-success:hover{background-color:rgba(16,185,129,.1)}.dropdown .dropdown-menu .dropdown-item.dropdown-item-warning{color:#f59e0b}.dropdown .dropdown-menu .dropdown-item.dropdown-item-warning:hover{background-color:rgba(245,158,11,.1)}.dropdown .dropdown-menu .dropdown-item.dropdown-item-danger{color:#ef4444}.dropdown .dropdown-menu .dropdown-item.dropdown-item-danger:hover{background-color:rgba(239,68,68,.1)}.dropdown .dropdown-menu .dropdown-item.dropdown-item-info{color:#06b6d4}.dropdown .dropdown-menu .dropdown-item.dropdown-item-info:hover{background-color:rgba(6,182,212,.1)}.dropdown .dropdown-menu .dropdown-item:disabled,.dropdown .dropdown-menu .dropdown-item.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.dropdown .dropdown-menu .dropdown-item.dropdown-divider{padding:0;height:1px;background-color:#f3f4f6;margin:4px 0;pointer-events:none;border-bottom:none}.dropdown .dropdown-menu .dropdown-item.dropdown-divider:hover{background-color:#f3f4f6}.dropdown .dropdown-menu .dropdown-item.dropdown-header{padding:4px 16px;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;pointer-events:none;border-bottom:none}.dropdown .dropdown-menu .dropdown-item.dropdown-header:hover{background-color:rgba(0,0,0,0)}.dropdown .dropdown-menu.dropdown-sm{min-width:140px}.dropdown .dropdown-menu.dropdown-sm .dropdown-item{padding:4px 8px;font-size:.75rem}.dropdown .dropdown-menu.dropdown-lg{min-width:200px}.dropdown .dropdown-menu.dropdown-lg .dropdown-item{padding:16px 24px;font-size:1rem}.dropdown .dropdown-menu.dropdown-bordered{border:2px solid #f3f4f6}.dropdown .dropdown-menu.dropdown-shadow-lg{box-shadow:0 1rem 2rem rgba(0,0,0,.2)}.dropdown .dropdown-menu.dropdown-rounded{border-radius:16px}.dropdown .dropdown-menu.dropdown-no-border{border:none}.dropdown .dropdown-menu.dropdown-scrollable{max-height:300px;overflow-y:auto}.dropdown .dropdown-menu.dropdown-scrollable::-webkit-scrollbar{width:6px}.dropdown .dropdown-menu.dropdown-scrollable::-webkit-scrollbar-track{background:#f9fafb}.dropdown .dropdown-menu.dropdown-scrollable::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:3px}.dropdown .dropdown-menu.dropdown-scrollable::-webkit-scrollbar-thumb:hover{background:#6b7280}.dropdown .dropdown-toggle{background:none;border:none;padding:8px 12px;background-color:#fff;border:1px solid #f3f4f6;border-radius:8px;cursor:pointer;color:#4b5563;transition:all .15s ease ease;display:flex;align-items:center;justify-content:space-between;min-width:120px;min-height:32px;gap:8px}.dropdown .dropdown-toggle:hover{color:#111827;background-color:#f9fafb}.dropdown .dropdown-toggle:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.dropdown .dropdown-toggle:focus:focus:not(:focus-visible){outline:none}.dropdown .dropdown-toggle .dropdown-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown .dropdown-toggle .dropdown-arrow{width:16px;height:16px;fill:currentColor;transition:transform .15s ease ease;flex-shrink:0}.dropdown:has(.dropdown-menu.show) .dropdown .dropdown-toggle .dropdown-arrow{transform:rotate(180deg)}.dropdown-sm .dropdown-toggle{min-width:28px;min-height:28px;padding:4px}.dropdown-sm .dropdown-toggle svg{width:14px;height:14px}.dropdown-sm .dropdown-menu{min-width:140px}.dropdown-sm .dropdown-menu .dropdown-item{padding:4px 8px;font-size:.75rem}.dropdown-lg .dropdown-toggle{min-width:40px;min-height:40px;padding:8px}.dropdown-lg .dropdown-toggle svg{width:18px;height:18px}.dropdown-lg .dropdown-menu{min-width:200px}.dropdown-lg .dropdown-menu .dropdown-item{padding:16px 24px;font-size:1rem}.dropdown-bordered .dropdown-menu{border:2px solid #f3f4f6}.dropdown-shadow-lg .dropdown-menu{box-shadow:0 1rem 2rem rgba(0,0,0,.2)}.dropdown-rounded .dropdown-menu{border-radius:16px}.dropdown-no-border .dropdown-menu{border:none}.dropdown-primary .dropdown-toggle{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.dropdown-primary .dropdown-toggle:hover{background-color:rgb(11.1512195122,99.1219512195,242.8487804878);border-color:rgb(11.1512195122,99.1219512195,242.8487804878)}.dropdown-success .dropdown-toggle{background-color:#10b981;border-color:#10b981;color:#fff}.dropdown-success .dropdown-toggle:hover{background-color:rgb(11.9402985075,138.0597014925,96.2686567164);border-color:rgb(11.9402985075,138.0597014925,96.2686567164)}.dropdown-warning .dropdown-toggle{background-color:#f59e0b;border-color:#f59e0b;color:#111827}.dropdown-warning .dropdown-toggle:hover{background-color:rgb(196.9291338583,126.7125984252,8.0708661417);border-color:rgb(196.9291338583,126.7125984252,8.0708661417)}.dropdown-danger .dropdown-toggle{background-color:#ef4444;border-color:#ef4444;color:#fff}.dropdown-danger .dropdown-toggle:hover{background-color:hsl(0,84.236453202%,50.1960784314%);border-color:hsl(0,84.236453202%,50.1960784314%)}.dropdown-info .dropdown-toggle{background-color:#06b6d4;border-color:#06b6d4;color:#fff}.dropdown-info .dropdown-toggle:hover{background-color:rgb(4.5963302752,139.4220183486,162.4036697248);border-color:rgb(4.5963302752,139.4220183486,162.4036697248)}.dropdown-up .dropdown-menu{top:auto;bottom:100%;margin-bottom:4px}.dropdown-left .dropdown-menu{right:auto;left:0}.dropdown-right .dropdown-menu{left:auto;right:0}.dropdown-center .dropdown-menu{right:auto;left:50%;transform:translateX(-50%) translateY(-8px)}.dropdown-center .dropdown-menu.show{transform:translateX(-50%) translateY(0)}.dropdown-full-width{width:100%}.dropdown-full-width .dropdown-toggle{width:100%;justify-content:space-between}.dropdown-full-width .dropdown-menu{width:100%;min-width:100%}.dropdown-auto-width .dropdown-menu{width:auto;min-width:auto;white-space:nowrap}@media(max-width: 767px){.dropdown,.dropdown-container .dropdown-menu{min-width:180px;box-shadow:0 1rem 2rem rgba(0,0,0,.2)}}@media(prefers-reduced-motion: reduce){.dropdown .dropdown-toggle,.dropdown .dropdown-menu,.dropdown .dropdown-item,.dropdown-container .dropdown-toggle,.dropdown-container .dropdown-menu,.dropdown-container .dropdown-item{transition:none}}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px;text-align:center;background:#fff;border-radius:12px;box-shadow:0 .125rem .25rem rgba(0,0,0,.05);border:1px solid #f3f4f6}@media(max-width: 767px){.empty-state{padding:24px}}.empty-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;color:#fff;font-size:2.5rem;margin-bottom:24px}@media(max-width: 767px){.empty-icon{width:60px;height:60px;font-size:2rem}}.empty-message h3{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 8px 0}@media(max-width: 767px){.empty-message h3{font-size:1.25rem}}.empty-message p{font-size:1rem;color:#4b5563;line-height:1.5;margin:0}@media(max-width: 767px){.empty-message p{font-size:.875rem}}.empty-state-sm{padding:16px}.empty-state-sm .empty-icon{width:60px;height:60px;font-size:1.5rem;margin-bottom:16px}.empty-state-sm .empty-message h3{font-size:1.25rem;margin-bottom:4px}.empty-state-sm .empty-message p{font-size:.875rem}.empty-state-lg{padding:48px}.empty-state-lg .empty-icon{width:100px;height:100px;font-size:3rem;margin-bottom:32px}.empty-state-lg .empty-message h3{font-size:2rem;margin-bottom:16px}.empty-state-lg .empty-message p{font-size:1.125rem}.empty-state-bordered{border:2px solid #f3f4f6}.empty-state-no-shadow{box-shadow:none}.empty-state-rounded{border-radius:12px}.empty-state-compact{padding:16px}.empty-state-compact .empty-icon{margin-bottom:8px}.empty-state-compact .empty-message h3{margin-bottom:4px}.empty-state-primary .empty-icon{background-color:#3b82f6}.empty-state-secondary .empty-icon{background-color:#6b7280}.empty-state-success .empty-icon{background-color:#10b981}.empty-state-warning .empty-icon{background-color:#f59e0b}.empty-state-danger .empty-icon{background-color:#ef4444}.empty-state-info .empty-icon{background-color:#06b6d4}.empty-state-horizontal{flex-direction:row;text-align:left}.empty-state-horizontal .empty-icon{margin-bottom:0;margin-right:24px}@media(max-width: 767px){.empty-state-horizontal{flex-direction:column;text-align:center}.empty-state-horizontal .empty-icon{margin-right:0;margin-bottom:16px}}.empty-state-vertical{flex-direction:column;text-align:center}.empty-state-with-action .empty-message{margin-bottom:16px}.empty-state-with-action .empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.empty-state-with-action .empty-actions .btn{min-width:120px}.empty-state-animated .empty-icon{animation:emptyStatePulse 2s ease-in-out infinite}@keyframes emptyStatePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.empty-state-full-width{width:100%}.empty-state-centered{margin:0 auto}@media(max-width: 767px){.empty-state-responsive{padding:16px}.empty-state-responsive .empty-icon{width:50px;height:50px;font-size:1.25rem}.empty-state-responsive .empty-message h3{font-size:1rem}.empty-state-responsive .empty-message p{font-size:.75rem}}.dewp-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1040;opacity:0;visibility:hidden;transition:all .3s ease}.dewp-modal{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.9);background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);z-index:1050;opacity:0;visibility:hidden;transition:all .3s ease;overflow:hidden;max-width:90vw;max-height:90vh}.dewp-modal-sm{width:320px;max-width:90vw}.dewp-modal-md{width:480px;max-width:90vw}.dewp-modal-lg{width:720px;max-width:90vw}.dewp-modal-xl{width:960px;max-width:90vw}.dewp-modal-full{width:95vw;height:95vh;top:2.5vh;left:2.5vw;transform:none}.dewp-modal-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.dewp-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.dewp-modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.dewp-modal-close:hover{background-color:#f3f4f6;color:#374151}.dewp-modal-close:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dewp-modal-body{padding:20px;overflow-y:auto;max-height:calc(90vh - 120px);color:#374151;line-height:1.5}.dewp-modal-footer{padding:16px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px;background-color:#fff}.dewp-modal-cancel{padding:8px 16px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.dewp-modal-cancel:hover{background-color:#f9fafb;border-color:#9ca3af}.dewp-modal-cancel:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dewp-modal-confirm{padding:8px 16px;border:1px solid #3b82f6;background:#3b82f6;color:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.dewp-modal-confirm:hover{background-color:#2563eb;border-color:#2563eb}.dewp-modal-confirm:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}@media(max-width: 768px){.dewp-modal-sm,.dewp-modal-md,.dewp-modal-lg,.dewp-modal-xl{width:95vw;max-width:95vw}.dewp-modal-full{width:100vw;height:100vh;top:0;left:0;transform:none;border-radius:0}}.notice{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;margin-bottom:16px;background-color:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all .2s ease}.notice:last-child{margin-bottom:0}.notice .notice-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:50%;color:#fff;font-weight:bold}.notice .notice-content{flex:1;min-width:0}.notice .notice-content h3{margin:0 0 4px 0;font-size:14px;font-weight:600;color:inherit;line-height:1.4}.notice .notice-content p{margin:0;font-size:13px;line-height:1.5;color:inherit;word-break:keep-all}.notice .notice-content a{color:inherit;text-decoration:underline;font-weight:500}.notice .notice-content a:hover{text-decoration:none}.notice .notice-content strong{font-weight:600;margin-bottom:4px;display:block}.notice .notice-content ul{margin:8px 0 0 0;padding-left:20px}.notice .notice-content ul li{margin-bottom:4px;font-size:13px;line-height:1.4}.notice .notice-close{background:none;border:none;cursor:pointer;padding:4px;font-size:18px;color:#6b7280;opacity:.7;transition:all .2s ease;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notice .notice-close:hover{opacity:1;background-color:#f3f4f6;color:#374151}.notice .notice-close:focus{outline:2px solid #3b82f6;outline-offset:2px}.notice.notice-info{background-color:#eff6ff;border-color:#3b82f6;color:#1e40af}.notice.notice-info .notice-icon{background-color:#3b82f6}.notice.notice-success{background-color:#f0fdf4;border-color:#22c55e;color:#15803d}.notice.notice-success .notice-icon{background-color:#22c55e}.notice.notice-warning{background-color:#fffbeb;border-color:#f59e0b;color:#a16207}.notice.notice-warning .notice-icon{background-color:#f59e0b}.notice.notice-danger{background-color:#fef2f2;border-color:#ef4444;color:#b91c1c}.notice.notice-danger .notice-icon{background-color:#ef4444}.notice.notice-primary{background-color:#f0f9ff;border-color:#0ea5e9;color:#0369a1}.notice.notice-primary .notice-icon{background-color:#0ea5e9}.notice.notice-secondary{background-color:#f8fafc;border-color:#64748b;color:#334155}.notice.notice-secondary .notice-icon{background-color:#64748b}.notice.notice-sm{padding:12px;gap:10px}.notice.notice-sm .notice-icon{width:16px;height:16px;font-size:12px}.notice.notice-sm .notice-content h3{font-size:13px;margin-bottom:3px}.notice.notice-sm .notice-content p{font-size:12px}.notice.notice-sm .notice-close{width:20px;height:20px;font-size:16px;padding:2px}.notice.notice-lg{padding:20px;gap:16px}.notice.notice-lg .notice-icon{width:24px;height:24px;font-size:18px}.notice.notice-lg .notice-content h3{font-size:16px;margin-bottom:6px}.notice.notice-lg .notice-content p{font-size:14px}.notice.notice-lg .notice-close{width:28px;height:28px;font-size:20px;padding:4px}.notice.notice-bordered{border-width:2px}.notice.notice-rounded{border-radius:12px}.notice.notice-no-shadow{box-shadow:none}.notice.notice-elevated{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.notice.notice-dismissible .notice-close{display:flex}.notice.notice-non-dismissible .notice-close{display:none}@media(max-width: 768px){.notice{flex-direction:column;gap:12px;text-align:center;padding:16px}.notice .notice-icon{margin:0 auto}.notice .notice-content{text-align:center}.notice .notice-content h3{margin-bottom:6px}.notice .notice-close{align-self:center}}.notice.notice-fade-in{animation:noticeFadeIn .3s ease-out}.notice.notice-slide-in{animation:noticeSlideIn .3s ease-out}.notice.notice-auto-hide{animation:noticeAutoHide 5s ease-in-out forwards}@keyframes noticeFadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes noticeSlideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes noticeAutoHide{0%,80%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(100%)}}.notice-group .notice{margin-bottom:12px}.notice-group .notice:last-child{margin-bottom:0}.notice-stack{position:fixed;top:20px;right:20px;z-index:1000;max-width:400px;pointer-events:none}.notice-stack .notice{margin-bottom:12px;pointer-events:auto;animation:noticeSlideIn .3s ease-out}.notice-stack .notice:last-child{margin-bottom:0}@media(max-width: 768px){.notice-stack{top:10px;right:10px;left:10px;max-width:none}}.notice-fixed{position:fixed;top:20px;right:20px;z-index:1000;max-width:400px;pointer-events:none}.notice-fixed .notice{pointer-events:auto}@media(max-width: 768px){.notice-fixed{top:10px;right:10px;left:10px;max-width:none}}.notice-sticky{position:sticky;top:20px;z-index:100}@media(prefers-color-scheme: dark){.notice{background-color:#1f2937;border-color:#374151;color:#f9fafb}.notice.notice-info{background-color:#1e3a8a;border-color:#3b82f6;color:#dbeafe}.notice.notice-success{background-color:#14532d;border-color:#22c55e;color:#bbf7d0}.notice.notice-warning{background-color:#78350f;border-color:#f59e0b;color:#fef3c7}.notice.notice-danger{background-color:#7f1d1d;border-color:#ef4444;color:#fecaca}.notice.notice-primary{background-color:#0c4a6e;border-color:#0ea5e9;color:#bae6fd}.notice.notice-secondary{background-color:#374151;border-color:#6b7280;color:#d1d5db}.notice .notice-close{color:#9ca3af}.notice .notice-close:hover{background-color:#374151;color:#d1d5db}}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:24px 0}.pagination .page-item{list-style:none}.pagination .page-item .page-link{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:8px 12px;font-size:14px;font-weight:500;color:#6b7280;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;text-decoration:none;transition:all .2s ease}.pagination .page-item .page-link:hover{color:#3b82f6;background-color:#f8fafc;border-color:#3b82f6;z-index:2}.pagination .page-item .page-link:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1);z-index:3}.pagination .page-item.active .page-link{color:#fff;background-color:#3b82f6;border-color:#3b82f6;font-weight:600}.pagination .page-item.disabled .page-link{color:#9ca3af;background-color:#f9fafb;border-color:#e5e7eb;cursor:not-allowed;opacity:.6}.pagination .page-item.disabled .page-link:hover{color:#9ca3af;background-color:#f9fafb;border-color:#e5e7eb}.pagination-sm .page-item .page-link{min-width:32px;height:32px;padding:6px;font-size:12px}.pagination-lg .page-item .page-link{min-width:48px;height:48px;padding:12px 16px;font-size:16px}.pagination-justify-start{justify-content:flex-start}.pagination-justify-center{justify-content:center}.pagination-justify-end{justify-content:flex-end}.pagination-justify-between{justify-content:space-between}.pagination-rounded .page-item .page-link{border-radius:50%}.pagination-capsule .page-item:first-child .page-link{border-top-left-radius:20px;border-bottom-left-radius:20px}.pagination-capsule .page-item:last-child .page-link{border-top-right-radius:20px;border-bottom-right-radius:20px}@media(max-width: 768px){.pagination{flex-wrap:wrap;gap:6px}.pagination .page-item .page-link{min-width:36px;height:36px;padding:8px;font-size:12px}}.table{width:100%;margin-bottom:16px;color:#111827;background-color:#fff;border-collapse:collapse;border:1px solid #f3f4f6;border-radius:12px;overflow:hidden}.table th,.table td{padding:8px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid #f3f4f6}.table th{background-color:#f9fafb;font-weight:600;color:#111827;border-bottom:2px solid #f3f4f6;white-space:nowrap;cursor:pointer;transition:background-color .15s ease}.table th:hover{background-color:rgb(239.82,242.35,244.88)}.table th.sortable{position:relative;padding-right:2.5rem}.table th.sortable::after{content:"↕";position:absolute;right:8px;top:50%;transform:translateY(-50%);opacity:.5;font-size:.75rem;transition:opacity .15s ease}.table th.sortable:hover::after{opacity:.8}.table th.sortable.sort-asc::after{content:"↑";opacity:1}.table th.sortable.sort-desc::after{content:"↓";opacity:1}.table td{border-bottom:1px solid #f3f4f6}.table td:last-child{text-align:right}.table tbody tr{transition:background-color .15s ease}.table tbody tr:hover{background-color:rgba(59,130,246,.02)}.table tbody tr:last-child td{border-bottom:none}.table tfoot th,.table tfoot td{background-color:#f9fafb;font-weight:500}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(249,250,251,.5)}.table-striped tbody tr:nth-of-type(odd):hover{background-color:rgba(59,130,246,.05)}.table-hover tbody tr:hover{background-color:rgba(59,130,246,.05)}.table-bordered th,.table-bordered td{border:1px solid #f3f4f6}.table-borderless th,.table-borderless td{border:none}.table-sm th,.table-sm td{padding:4px 8px;font-size:.875rem}.table-lg th,.table-lg td{padding:16px 24px;font-size:1.125rem}.table-primary th{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.table-primary tbody tr:hover{background-color:rgba(59,130,246,.1)}.table-secondary th{background-color:#6b7280;color:#fff;border-color:#6b7280}.table-secondary tbody tr:hover{background-color:rgba(107,114,128,.1)}.table-success th{background-color:#10b981;color:#fff;border-color:#10b981}.table-success tbody tr:hover{background-color:rgba(16,185,129,.1)}.table-warning th{background-color:#f59e0b;color:#111827;border-color:#f59e0b}.table-warning tbody tr:hover{background-color:rgba(245,158,11,.1)}.table-danger th{background-color:#ef4444;color:#fff;border-color:#ef4444}.table-danger tbody tr:hover{background-color:rgba(239,68,68,.1)}.table-info th{background-color:#06b6d4;color:#fff;border-color:#06b6d4}.table-info tbody tr:hover{background-color:rgba(6,182,212,.1)}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive .table{margin-bottom:0}.table-centered th,.table-centered td{text-align:center}.table-right th,.table-right td{text-align:right}.form-table{margin-bottom:16px}.form-table th{width:160px;padding:8px 0;font-weight:600;color:#111827;text-align:left;vertical-align:top}.form-table td{padding:8px;vertical-align:top}.form-table td:last-child{padding-right:0}.form-table tr:last-child{border-bottom:none}.form-table textarea{resize:vertical}.form-table input[type=checkbox]{margin-right:8px}.form-table .description{font-size:.75rem;color:#6b7280;margin-top:4px;line-height:1.5}@media(max-width: 767px){.table-responsive .table{min-width:600px}.form-table th,.form-table td{display:block;width:100%;text-align:left}.form-table th{padding-bottom:4px;border-bottom:1px solid #f3f4f6}.form-table td{padding-top:8px;padding-bottom:16px}}.table-fixed{table-layout:fixed}.table-auto{table-layout:auto}.table-compact th,.table-compact td{padding:4px;font-size:.75rem}.table-expanded th,.table-expanded td{padding:24px 32px;font-size:1.125rem}.tabs{display:inline-flex;background:#f3f4f6;border-radius:8px;padding:4px;gap:4px}.tabs .tab-btn{appearance:none;color:#6b7280;font-size:14px;padding:8px 16px;font-weight:600;border:none;background:rgba(0,0,0,0);cursor:pointer;border-radius:6px;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px;user-select:none;white-space:nowrap;pointer-events:auto}.tabs .tab-btn *{pointer-events:none}.tabs .tab-btn:hover{background:#fff;color:#374151}.tabs .tab-btn.active{background:#fff;color:#1f2937}.tabs .tab-btn .tab-count{background:#e5e7eb;color:#6b7280;font-size:12px;padding:2px 6px;border-radius:4px;font-weight:500;min-width:20px;text-align:center;line-height:1}.tabs .tab-btn:hover .tab-count,.tabs .tab-btn.active .tab-count{background:#3b82f6;color:#fff}.tabs-sm{padding:3px;gap:3px}.tabs-sm .tab-btn{padding:6px 12px;font-size:13px}.tabs-sm .tab-btn .tab-count{padding:1px 4px;font-size:11px;min-width:16px}.tabs-lg{padding:6px;gap:6px}.tabs-lg .tab-btn{padding:12px 20px;font-size:16px}.tabs-lg .tab-btn .tab-count{padding:3px 8px;font-size:14px;min-width:24px}.tabs-pills{background:rgba(0,0,0,0);border-radius:0;padding:0}.tabs-pills .tab-btn{border-radius:50px;padding:8px 20px}.tabs-pills .tab-btn.active{background:#3b82f6;color:#fff;box-shadow:0 2px 4px rgba(59,130,246,.3)}.tabs-pills .tab-btn.active .tab-count{background:hsla(0,0%,100%,.2);color:#fff}.tabs-pills .tab-btn:hover:not(.active){background:#f2f2f2;color:#374151}.tabs-basic{background:rgba(0,0,0,0);padding:0;gap:4px}.tabs-basic .tab-btn{border-radius:4px;padding:12px 16px}.tabs-basic .tab-btn.active{border-bottom-color:#3b82f6;background:#3b82f6;color:#fff;font-weight:600}.tabs-basic .tab-btn:hover:not(.active){background:#f2f2f2;color:#6b7280}.tabs-underline{background:rgba(0,0,0,0);padding:0;gap:0;border-bottom:1px solid #e5e7eb}.tabs-underline .tab-btn{border-radius:0;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px;padding:12px 20px}.tabs-underline .tab-btn.active{border-bottom-color:#3b82f6;background:rgba(0,0,0,0);color:#3b82f6;font-weight:600}.tabs-underline .tab-btn:hover:not(.active){background:rgba(0,0,0,0);color:#6b7280;border-bottom-color:#d1d5db}.tabs-vertical{flex-direction:column;align-items:stretch;background:rgba(0,0,0,0);padding:0;gap:0}.tabs-vertical .tab-btn{justify-content:flex-start;text-align:left;border-radius:0;border-left:3px solid rgba(0,0,0,0);padding:12px 20px}.tabs-vertical .tab-btn.active{border-left-color:#3b82f6;background:#f8fafc;color:#3b82f6;font-weight:600}.tabs-vertical .tab-btn:hover:not(.active){background:#f8fafc;color:#6b7280;border-left-color:#d1d5db}.tabs-primary .tab-btn.active{background:#3b82f6;color:#fff}.tabs-primary .tab-btn.active .tab-count{background:hsla(0,0%,100%,.2);color:#fff}.tabs-primary .tab-btn:hover:not(.active){background:rgba(59,130,246,.1);color:#3b82f6}.tabs-success .tab-btn.active{background:#22c55e;color:#fff}.tabs-success .tab-btn.active .tab-count{background:hsla(0,0%,100%,.2);color:#fff}.tabs-success .tab-btn:hover:not(.active){background:rgba(34,197,94,.1);color:#22c55e}.tabs-warning .tab-btn.active{background:#f59e0b;color:#fff}.tabs-warning .tab-btn.active .tab-count{background:hsla(0,0%,100%,.2);color:#fff}.tabs-warning .tab-btn:hover:not(.active){background:rgba(245,158,11,.1);color:#f59e0b}.tabs-danger .tab-btn.active{background:#ef4444;color:#fff}.tabs-danger .tab-btn.active .tab-count{background:hsla(0,0%,100%,.2);color:#fff}.tabs-danger .tab-btn:hover:not(.active){background:rgba(239,68,68,.1);color:#ef4444}.tabs-info .tab-btn.active{background:#06b6d4;color:#fff}.tabs-info .tab-btn.active .tab-count{background:hsla(0,0%,100%,.2);color:#fff}.tabs-info .tab-btn:hover:not(.active){background:rgba(6,182,212,.1);color:#06b6d4}.tabs-full{width:100%}.tabs-full .tab-btn{flex:1;justify-content:center}.tabs-justified{width:100%}.tabs-justified .tab-btn{flex:1;justify-content:center}.tabs-center{justify-content:center}.tabs-end{justify-content:flex-end}.tabs-between{justify-content:space-between}.tab-header{margin:24px 0}.tab-header h2{margin:0 0 12px 0;color:#1f2937;font-size:20px;display:flex;align-items:center;gap:12px}.tab-header h2 i{color:#3b82f6}.tab-header p{margin:0;color:#6b7280;font-size:16px;line-height:1.5}.tab-content .tab-panel{display:none}.tab-content .tab-panel.active{display:block;animation:fadeIn .3s ease-in-out}.tab-group .tabs{margin-bottom:24px}.tab-group .tab-content{padding:24px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;border-top-left-radius:0}@media(max-width: 768px){.tabs{flex-wrap:wrap;gap:4px}.tabs .tab-btn{flex:1;min-width:0;justify-content:center}.tabs-vertical{flex-direction:row;flex-wrap:wrap}.tabs-vertical .tab-btn{flex:1;min-width:0}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast-container{position:fixed;top:16px;right:16px;z-index:1080;pointer-events:none;display:flex;flex-direction:column;gap:4px;max-width:400px}@media(max-width: 767px){.toast-container{top:4px;right:4px;left:4px;max-width:none}}.toast{background:#fff;border-radius:8px;border-left:2px solid;min-width:300px;opacity:0;transform:translateX(100%);transition:all .3s ease ease;pointer-events:auto;margin-bottom:0}@media(max-width: 767px){.toast{min-width:auto}}.toast.show{opacity:1;transform:translateX(0)}.toast.toast-success{border-left-color:#10b981}.toast.toast-success .toast-icon{color:#10b981}.toast.toast-error{border-left-color:#ef4444}.toast.toast-error .toast-icon{color:#ef4444}.toast.toast-warning{border-left-color:#f59e0b}.toast.toast-warning .toast-icon{color:#f59e0b}.toast.toast-info{border-left-color:#06b6d4}.toast.toast-info .toast-icon{color:#06b6d4}.toast-content{display:flex;align-items:center;padding:8px;gap:4px}.toast-icon{flex-shrink:0;font-size:1.125rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.toast-message{flex:1;font-size:.875rem;line-height:1.5;color:#111827}.toast-close{flex-shrink:0;background:none;border:none;color:#6b7280;font-size:1.125rem;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:color .15s ease;border-radius:50%}.toast-close:hover{color:#4b5563;background-color:#f9fafb}.toast-close:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.toast-close:focus:focus:not(:focus-visible){outline:none}.toast-close span{line-height:1}.toast-container-top-left{top:16px;left:16px;right:auto}.toast-container-top-center{top:16px;left:50%;right:auto;transform:translateX(-50%)}.toast-container-top-right{top:16px;right:16px;left:auto}.toast-container-bottom-left{top:auto;bottom:16px;left:16px;right:auto}.toast-container-bottom-center{top:auto;bottom:16px;left:50%;right:auto;transform:translateX(-50%)}.toast-container-bottom-right{top:auto;bottom:16px;right:16px;left:auto}.toast-sm{min-width:250px}.toast-sm .toast-content{padding:4px}.toast-sm .toast-icon{font-size:.875rem;width:16px;height:16px}.toast-sm .toast-close{width:16px;height:16px;font-size:.875rem}.toast-lg{min-width:500px}.toast-lg .toast-content{padding:16px}.toast-lg .toast-icon{font-size:1.25rem;width:24px;height:24px}.toast-lg .toast-close{width:24px;height:24px;font-size:1.25rem}.toast-slide-in{animation:toastSlideIn .3s ease ease-out}.toast-slide-out{animation:toastSlideOut .3s ease ease-in}.toast-fade-in{animation:toastFadeIn .3s ease ease-out}.toast-fade-out{animation:toastFadeOut .3s ease ease-in}@keyframes toastSlideIn{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@keyframes toastFadeIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.toast-group .toast{margin-bottom:4px}.toast-group .toast:last-child{margin-bottom:0}.toast-auto-hide{animation:toastAutoHide 5s ease-in-out forwards}@keyframes toastAutoHide{0%,80%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(100%)}}.toast-stack .toast{margin-bottom:4px}.toast-stack .toast:last-child{margin-bottom:0}.toast-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:1079;pointer-events:none}@media(prefers-color-scheme: dark){.toast{background:#f9fafb;color:#111827}.toast .toast-message{color:#111827}.toast .toast-close{color:#6b7280}.toast .toast-close:hover{color:#4b5563;background-color:#f9fafb}}.toggle-label{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#374151;margin:0;gap:12px}.toggle-label .toggle-input{display:none}.toggle-label .toggle-slider{position:relative;width:50px;height:24px;background:#d1d5db;border-radius:999px;transition:all .2s ease}.toggle-label .toggle-slider::before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.1)}.toggle-label .toggle-text{font-size:14px;font-weight:500;color:#374151}.toggle-label .toggle-input:checked+.toggle-slider{background:#3b82f6}.toggle-label .toggle-input:checked+.toggle-slider::before{transform:translateX(26px)}.toggle-label:hover .toggle-slider{box-shadow:0 2px 4px rgba(0,0,0,.15)}.toggle-label.toggle-disabled{opacity:.6;cursor:not-allowed}.toggle-label.toggle-disabled .toggle-slider{cursor:not-allowed}.toggle-label.toggle-disabled .toggle-text{cursor:not-allowed}.toggle-sm .toggle-slider{width:40px;height:20px}.toggle-sm .toggle-slider::before{width:16px;height:16px;top:2px;left:2px}.toggle-sm .toggle-input:checked+.toggle-slider::before{transform:translateX(20px)}.toggle-lg .toggle-slider{width:60px;height:32px}.toggle-lg .toggle-slider::before{width:28px;height:28px;top:2px;left:2px}.toggle-lg .toggle-input:checked+.toggle-slider::before{transform:translateX(28px)}@media(max-width: 768px){.toggle-label{gap:10px}.toggle-label .toggle-text{font-size:13px}}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-row{display:flex;flex-wrap:wrap;margin:0 -8px}.form-row .form-group{flex:1;margin:0 8px 16px;min-width:200px}.form-label{display:block;font-size:.875rem;font-weight:500;color:#111827;margin-bottom:4px;line-height:1.5}.form-label.required::after{content:" *";color:#ef4444}.form-label-inline{display:inline-block;margin-right:12px;margin-bottom:0}.form-input,.form-textarea,.form-select{display:block;width:100%;padding:8px 12px;font-size:1rem;line-height:1.5;color:#111827;background-color:#fff;border:1px solid #f3f4f6;border-radius:8px;transition:all .15s ease ease;box-sizing:border-box}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed;opacity:.6}.form-input::placeholder,.form-textarea::placeholder,.form-select::placeholder{color:#6b7280;opacity:1}.form-input.form-input-error,.form-textarea.form-input-error,.form-select.form-input-error{border-color:#ef4444}.form-input.form-input-error:focus,.form-textarea.form-input-error:focus,.form-select.form-input-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.form-input.form-input-success,.form-textarea.form-input-success,.form-select.form-input-success{border-color:#10b981}.form-input.form-input-success:focus,.form-textarea.form-input-success:focus,.form-select.form-input-success:focus{box-shadow:0 0 0 3px rgba(16,185,129,.1)}.form-input{height:40px}.form-textarea{min-height:100px;resize:vertical}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px 12px;padding-right:24px;appearance:none}.form-select::-ms-expand{display:none}.form-check{display:flex;align-items:flex-start;margin-bottom:8px}.form-check:last-child{margin-bottom:0}.form-check-input{flex-shrink:0;width:18px;height:18px;margin:2px 8px 0 0;cursor:pointer}.form-check-label{font-size:1rem;line-height:1.5;color:#111827;cursor:pointer;user-select:none}.form-check-group .form-check{margin-bottom:8px}.form-checkbox .form-check-input{appearance:none;border:2px solid #e5e7eb;border-radius:4px;background-color:#fff;transition:all .15s ease ease}.form-checkbox .form-check-input:checked{background-color:#3b82f6;border-color:#3b82f6;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");background-size:12px;background-position:center;background-repeat:no-repeat}.form-checkbox .form-check-input:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-checkbox .form-check-input:disabled{background-color:#f3f4f6;border-color:#f3f4f6;cursor:not-allowed;opacity:.6}.form-radio .form-check-input{appearance:none;border:2px solid #e5e7eb;border-radius:50%;background-color:#fff;transition:all .15s ease ease}.form-radio .form-check-input:checked{background-color:#3b82f6;border-color:#3b82f6;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23fff' d='M10 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z'/%3e%3c/svg%3e");background-size:8px;background-position:center;background-repeat:no-repeat}.form-radio .form-check-input:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.form-radio .form-check-input:disabled{background-color:#f3f4f6;border-color:#f3f4f6;cursor:not-allowed;opacity:.6}.form-file{position:relative;display:inline-block;width:100%}.form-file-input{position:absolute;left:-9999px;opacity:0;width:0;height:0}.form-file-label{display:flex;align-items:center;justify-content:center;width:100%;height:40px;padding:8px 12px;font-size:1rem;line-height:1.5;color:#111827;background-color:#fff;border:2px dashed #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s ease ease}.form-file-label:hover{border-color:#3b82f6;background-color:#f9fafb}.form-file-label .form-file-icon{margin-right:8px;color:#6b7280}.form-input-group{display:flex;align-items:stretch;width:100%}.form-input-group .form-input,.form-input-group .form-select{border-radius:0;border-right:none}.form-input-group .form-input:first-child,.form-input-group .form-select:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.form-input-group .form-input:last-child,.form-input-group .form-select:last-child{border-right:1px solid #f3f4f6;border-top-right-radius:8px;border-bottom-right-radius:8px}.form-input-group .form-input-group-text{display:flex;align-items:center;padding:8px 12px;font-size:.875rem;font-weight:500;color:#4b5563;background-color:#f9fafb;border:1px solid #f3f4f6;border-right:none;white-space:nowrap}.form-input-group .form-input-group-text:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.form-input-group .form-input-group-text:last-child{border-right:1px solid #f3f4f6;border-top-right-radius:8px;border-bottom-right-radius:8px}.form-help{display:block;font-size:.75rem;color:#6b7280;margin-top:4px;line-height:1.5}.form-error{display:block;font-size:.75rem;color:#ef4444;margin-top:4px;line-height:1.5}.form-success{display:block;font-size:.75rem;color:#10b981;margin-top:4px;line-height:1.5}.form-input-sm{height:32px;padding:4px 8px;font-size:.875rem}.form-input-lg{height:48px;padding:12px 16px;font-size:1.25rem}.form-group.has-error .form-label{color:#ef4444}.form-group.has-error .form-input,.form-group.has-error .form-textarea,.form-group.has-error .form-select{border-color:#ef4444}.form-group.has-error .form-input:focus,.form-group.has-error .form-textarea:focus,.form-group.has-error .form-select:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.form-group.has-success .form-input,.form-group.has-success .form-textarea,.form-group.has-success .form-select{border-color:#10b981}.form-group.has-success .form-input:focus,.form-group.has-success .form-textarea:focus,.form-group.has-success .form-select:focus{box-shadow:0 0 0 3px rgba(16,185,129,.1)}@media(max-width: 767px){.form-row{flex-direction:column}.form-row .form-group{margin:0 0 16px 0;min-width:auto}.form-input-group{flex-direction:column}.form-input-group .form-input,.form-input-group .form-select,.form-input-group .form-input-group-text{border-radius:8px;border-right:1px solid #f3f4f6;margin-bottom:4px}.form-input-group .form-input:last-child,.form-input-group .form-select:last-child,.form-input-group .form-input-group-text:last-child{margin-bottom:0}}.form-required{color:#ef4444}.form-disabled{opacity:.6;pointer-events:none}.form-readonly{background-color:#f3f4f6;cursor:not-allowed}
|
|
1
|
+
.margin-1{margin:4px}.margint-1{margin-top:4px}.marginr-1{margin-right:4px}.marginb-1{margin-bottom:4px}.marginl-1{margin-left:4px}.marginx-1{margin-left:4px;margin-right:4px}.marginy-1{margin-top:4px;margin-bottom:4px}.margin-2{margin:8px}.margint-2{margin-top:8px}.marginr-2{margin-right:8px}.marginb-2{margin-bottom:8px}.marginl-2{margin-left:8px}.marginx-2{margin-left:8px;margin-right:8px}.marginy-2{margin-top:8px;margin-bottom:8px}.margin-3{margin:12px}.margint-3{margin-top:12px}.marginr-3{margin-right:12px}.marginb-3{margin-bottom:12px}.marginl-3{margin-left:12px}.marginx-3{margin-left:12px;margin-right:12px}.marginy-3{margin-top:12px;margin-bottom:12px}.margin-4{margin:16px}.margint-4{margin-top:16px}.marginr-4{margin-right:16px}.marginb-4{margin-bottom:16px}.marginl-4{margin-left:16px}.marginx-4{margin-left:16px;margin-right:16px}.marginy-4{margin-top:16px;margin-bottom:16px}.margin-5{margin:20px}.margint-5{margin-top:20px}.marginr-5{margin-right:20px}.marginb-5{margin-bottom:20px}.marginl-5{margin-left:20px}.marginx-5{margin-left:20px;margin-right:20px}.marginy-5{margin-top:20px;margin-bottom:20px}.margin-6{margin:24px}.margint-6{margin-top:24px}.marginr-6{margin-right:24px}.marginb-6{margin-bottom:24px}.marginl-6{margin-left:24px}.marginx-6{margin-left:24px;margin-right:24px}.marginy-6{margin-top:24px;margin-bottom:24px}.margin-7{margin:28px}.margint-7{margin-top:28px}.marginr-7{margin-right:28px}.marginb-7{margin-bottom:28px}.marginl-7{margin-left:28px}.marginx-7{margin-left:28px;margin-right:28px}.marginy-7{margin-top:28px;margin-bottom:28px}.margin-8{margin:32px}.margint-8{margin-top:32px}.marginr-8{margin-right:32px}.marginb-8{margin-bottom:32px}.marginl-8{margin-left:32px}.marginx-8{margin-left:32px;margin-right:32px}.marginy-8{margin-top:32px;margin-bottom:32px}.margin-9{margin:36px}.margint-9{margin-top:36px}.marginr-9{margin-right:36px}.marginb-9{margin-bottom:36px}.marginl-9{margin-left:36px}.marginx-9{margin-left:36px;margin-right:36px}.marginy-9{margin-top:36px;margin-bottom:36px}.margin-10{margin:40px}.margint-10{margin-top:40px}.marginr-10{margin-right:40px}.marginb-10{margin-bottom:40px}.marginl-10{margin-left:40px}.marginx-10{margin-left:40px;margin-right:40px}.marginy-10{margin-top:40px;margin-bottom:40px}.margin-11{margin:44px}.margint-11{margin-top:44px}.marginr-11{margin-right:44px}.marginb-11{margin-bottom:44px}.marginl-11{margin-left:44px}.marginx-11{margin-left:44px;margin-right:44px}.marginy-11{margin-top:44px;margin-bottom:44px}.margin-12{margin:48px}.margint-12{margin-top:48px}.marginr-12{margin-right:48px}.marginb-12{margin-bottom:48px}.marginl-12{margin-left:48px}.marginx-12{margin-left:48px;margin-right:48px}.marginy-12{margin-top:48px;margin-bottom:48px}.margin-13{margin:52px}.margint-13{margin-top:52px}.marginr-13{margin-right:52px}.marginb-13{margin-bottom:52px}.marginl-13{margin-left:52px}.marginx-13{margin-left:52px;margin-right:52px}.marginy-13{margin-top:52px;margin-bottom:52px}.margin-14{margin:56px}.margint-14{margin-top:56px}.marginr-14{margin-right:56px}.marginb-14{margin-bottom:56px}.marginl-14{margin-left:56px}.marginx-14{margin-left:56px;margin-right:56px}.marginy-14{margin-top:56px;margin-bottom:56px}.margin-15{margin:60px}.margint-15{margin-top:60px}.marginr-15{margin-right:60px}.marginb-15{margin-bottom:60px}.marginl-15{margin-left:60px}.marginx-15{margin-left:60px;margin-right:60px}.marginy-15{margin-top:60px;margin-bottom:60px}.margin-16{margin:64px}.margint-16{margin-top:64px}.marginr-16{margin-right:64px}.marginb-16{margin-bottom:64px}.marginl-16{margin-left:64px}.marginx-16{margin-left:64px;margin-right:64px}.marginy-16{margin-top:64px;margin-bottom:64px}.margin-17{margin:68px}.margint-17{margin-top:68px}.marginr-17{margin-right:68px}.marginb-17{margin-bottom:68px}.marginl-17{margin-left:68px}.marginx-17{margin-left:68px;margin-right:68px}.marginy-17{margin-top:68px;margin-bottom:68px}.margin-18{margin:72px}.margint-18{margin-top:72px}.marginr-18{margin-right:72px}.marginb-18{margin-bottom:72px}.marginl-18{margin-left:72px}.marginx-18{margin-left:72px;margin-right:72px}.marginy-18{margin-top:72px;margin-bottom:72px}.margin-19{margin:76px}.margint-19{margin-top:76px}.marginr-19{margin-right:76px}.marginb-19{margin-bottom:76px}.marginl-19{margin-left:76px}.marginx-19{margin-left:76px;margin-right:76px}.marginy-19{margin-top:76px;margin-bottom:76px}.margin-20{margin:80px}.margint-20{margin-top:80px}.marginr-20{margin-right:80px}.marginb-20{margin-bottom:80px}.marginl-20{margin-left:80px}.marginx-20{margin-left:80px;margin-right:80px}.marginy-20{margin-top:80px;margin-bottom:80px}.margin-0{margin:0}.margint-0{margin-top:0}.marginr-0{margin-right:0}.marginb-0{margin-bottom:0}.marginl-0{margin-left:0}.marginx-0{margin-left:0;margin-right:0}.marginy-0{margin-top:0;margin-bottom:0}.p-1{padding:4px}.pt-1{padding-top:4px}.pr-1{padding-right:4px}.pb-1{padding-bottom:4px}.pl-1{padding-left:4px}.px-1{padding-left:4px;padding-right:4px}.py-1{padding-top:4px;padding-bottom:4px}.p-2{padding:8px}.pt-2{padding-top:8px}.pr-2{padding-right:8px}.pb-2{padding-bottom:8px}.pl-2{padding-left:8px}.px-2{padding-left:8px;padding-right:8px}.py-2{padding-top:8px;padding-bottom:8px}.p-3{padding:12px}.pt-3{padding-top:12px}.pr-3{padding-right:12px}.pb-3{padding-bottom:12px}.pl-3{padding-left:12px}.px-3{padding-left:12px;padding-right:12px}.py-3{padding-top:12px;padding-bottom:12px}.p-4{padding:16px}.pt-4{padding-top:16px}.pr-4{padding-right:16px}.pb-4{padding-bottom:16px}.pl-4{padding-left:16px}.px-4{padding-left:16px;padding-right:16px}.py-4{padding-top:16px;padding-bottom:16px}.p-5{padding:20px}.pt-5{padding-top:20px}.pr-5{padding-right:20px}.pb-5{padding-bottom:20px}.pl-5{padding-left:20px}.px-5{padding-left:20px;padding-right:20px}.py-5{padding-top:20px;padding-bottom:20px}.p-6{padding:24px}.pt-6{padding-top:24px}.pr-6{padding-right:24px}.pb-6{padding-bottom:24px}.pl-6{padding-left:24px}.px-6{padding-left:24px;padding-right:24px}.py-6{padding-top:24px;padding-bottom:24px}.p-7{padding:28px}.pt-7{padding-top:28px}.pr-7{padding-right:28px}.pb-7{padding-bottom:28px}.pl-7{padding-left:28px}.px-7{padding-left:28px;padding-right:28px}.py-7{padding-top:28px;padding-bottom:28px}.p-8{padding:32px}.pt-8{padding-top:32px}.pr-8{padding-right:32px}.pb-8{padding-bottom:32px}.pl-8{padding-left:32px}.px-8{padding-left:32px;padding-right:32px}.py-8{padding-top:32px;padding-bottom:32px}.p-9{padding:36px}.pt-9{padding-top:36px}.pr-9{padding-right:36px}.pb-9{padding-bottom:36px}.pl-9{padding-left:36px}.px-9{padding-left:36px;padding-right:36px}.py-9{padding-top:36px;padding-bottom:36px}.p-10{padding:40px}.pt-10{padding-top:40px}.pr-10{padding-right:40px}.pb-10{padding-bottom:40px}.pl-10{padding-left:40px}.px-10{padding-left:40px;padding-right:40px}.py-10{padding-top:40px;padding-bottom:40px}.p-11{padding:44px}.pt-11{padding-top:44px}.pr-11{padding-right:44px}.pb-11{padding-bottom:44px}.pl-11{padding-left:44px}.px-11{padding-left:44px;padding-right:44px}.py-11{padding-top:44px;padding-bottom:44px}.p-12{padding:48px}.pt-12{padding-top:48px}.pr-12{padding-right:48px}.pb-12{padding-bottom:48px}.pl-12{padding-left:48px}.px-12{padding-left:48px;padding-right:48px}.py-12{padding-top:48px;padding-bottom:48px}.p-13{padding:52px}.pt-13{padding-top:52px}.pr-13{padding-right:52px}.pb-13{padding-bottom:52px}.pl-13{padding-left:52px}.px-13{padding-left:52px;padding-right:52px}.py-13{padding-top:52px;padding-bottom:52px}.p-14{padding:56px}.pt-14{padding-top:56px}.pr-14{padding-right:56px}.pb-14{padding-bottom:56px}.pl-14{padding-left:56px}.px-14{padding-left:56px;padding-right:56px}.py-14{padding-top:56px;padding-bottom:56px}.p-15{padding:60px}.pt-15{padding-top:60px}.pr-15{padding-right:60px}.pb-15{padding-bottom:60px}.pl-15{padding-left:60px}.px-15{padding-left:60px;padding-right:60px}.py-15{padding-top:60px;padding-bottom:60px}.p-16{padding:64px}.pt-16{padding-top:64px}.pr-16{padding-right:64px}.pb-16{padding-bottom:64px}.pl-16{padding-left:64px}.px-16{padding-left:64px;padding-right:64px}.py-16{padding-top:64px;padding-bottom:64px}.p-17{padding:68px}.pt-17{padding-top:68px}.pr-17{padding-right:68px}.pb-17{padding-bottom:68px}.pl-17{padding-left:68px}.px-17{padding-left:68px;padding-right:68px}.py-17{padding-top:68px;padding-bottom:68px}.p-18{padding:72px}.pt-18{padding-top:72px}.pr-18{padding-right:72px}.pb-18{padding-bottom:72px}.pl-18{padding-left:72px}.px-18{padding-left:72px;padding-right:72px}.py-18{padding-top:72px;padding-bottom:72px}.p-19{padding:76px}.pt-19{padding-top:76px}.pr-19{padding-right:76px}.pb-19{padding-bottom:76px}.pl-19{padding-left:76px}.px-19{padding-left:76px;padding-right:76px}.py-19{padding-top:76px;padding-bottom:76px}.p-20{padding:80px}.pt-20{padding-top:80px}.pr-20{padding-right:80px}.pb-20{padding-bottom:80px}.pl-20{padding-left:80px}.px-20{padding-left:80px;padding-right:80px}.py-20{padding-top:80px;padding-bottom:80px}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.rounded-1{border-radius:4px}.rounded-top-1{border-top-left-radius:4px;border-top-right-radius:4px}.rounded-right-1{border-top-right-radius:4px;border-bottom-right-radius:4px}.rounded-bottom-1{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.rounded-left-1{border-top-left-radius:4px;border-bottom-left-radius:4px}.rounded-2{border-radius:8px}.rounded-top-2{border-top-left-radius:8px;border-top-right-radius:8px}.rounded-right-2{border-top-right-radius:8px;border-bottom-right-radius:8px}.rounded-bottom-2{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.rounded-left-2{border-top-left-radius:8px;border-bottom-left-radius:8px}.rounded-3{border-radius:12px}.rounded-top-3{border-top-left-radius:12px;border-top-right-radius:12px}.rounded-right-3{border-top-right-radius:12px;border-bottom-right-radius:12px}.rounded-bottom-3{border-bottom-right-radius:12px;border-bottom-left-radius:12px}.rounded-left-3{border-top-left-radius:12px;border-bottom-left-radius:12px}.rounded-4{border-radius:16px}.rounded-top-4{border-top-left-radius:16px;border-top-right-radius:16px}.rounded-right-4{border-top-right-radius:16px;border-bottom-right-radius:16px}.rounded-bottom-4{border-bottom-right-radius:16px;border-bottom-left-radius:16px}.rounded-left-4{border-top-left-radius:16px;border-bottom-left-radius:16px}.rounded-5{border-radius:20px}.rounded-top-5{border-top-left-radius:20px;border-top-right-radius:20px}.rounded-right-5{border-top-right-radius:20px;border-bottom-right-radius:20px}.rounded-bottom-5{border-bottom-right-radius:20px;border-bottom-left-radius:20px}.rounded-left-5{border-top-left-radius:20px;border-bottom-left-radius:20px}.rounded-6{border-radius:24px}.rounded-top-6{border-top-left-radius:24px;border-top-right-radius:24px}.rounded-right-6{border-top-right-radius:24px;border-bottom-right-radius:24px}.rounded-bottom-6{border-bottom-right-radius:24px;border-bottom-left-radius:24px}.rounded-left-6{border-top-left-radius:24px;border-bottom-left-radius:24px}.rounded-7{border-radius:28px}.rounded-top-7{border-top-left-radius:28px;border-top-right-radius:28px}.rounded-right-7{border-top-right-radius:28px;border-bottom-right-radius:28px}.rounded-bottom-7{border-bottom-right-radius:28px;border-bottom-left-radius:28px}.rounded-left-7{border-top-left-radius:28px;border-bottom-left-radius:28px}.rounded-8{border-radius:32px}.rounded-top-8{border-top-left-radius:32px;border-top-right-radius:32px}.rounded-right-8{border-top-right-radius:32px;border-bottom-right-radius:32px}.rounded-bottom-8{border-bottom-right-radius:32px;border-bottom-left-radius:32px}.rounded-left-8{border-top-left-radius:32px;border-bottom-left-radius:32px}.rounded-9{border-radius:36px}.rounded-top-9{border-top-left-radius:36px;border-top-right-radius:36px}.rounded-right-9{border-top-right-radius:36px;border-bottom-right-radius:36px}.rounded-bottom-9{border-bottom-right-radius:36px;border-bottom-left-radius:36px}.rounded-left-9{border-top-left-radius:36px;border-bottom-left-radius:36px}.rounded-10{border-radius:40px}.rounded-top-10{border-top-left-radius:40px;border-top-right-radius:40px}.rounded-right-10{border-top-right-radius:40px;border-bottom-right-radius:40px}.rounded-bottom-10{border-bottom-right-radius:40px;border-bottom-left-radius:40px}.rounded-left-10{border-top-left-radius:40px;border-bottom-left-radius:40px}.rounded-0{border-radius:0}.rounded-top-0{border-top-left-radius:0;border-top-right-radius:0}.rounded-right-0{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-bottom-0{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-left-0{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:50rem}.rounded-top-left{border-top-left-radius:12px}.rounded-top-right{border-top-right-radius:12px}.rounded-bottom-left{border-bottom-left-radius:12px}.rounded-bottom-right{border-bottom-right-radius:12px}.rounded-0{border-radius:0}.rounded-inherit{border-radius:inherit}.rounded-initial{border-radius:initial}.rounded-unset{border-radius:unset}html{font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#111827;background-color:#fff;margin:0;padding:0}h1,h2,h3,h4,h5,h6{margin:0 0 12px 0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:600;line-height:1.25;color:#111827}h1{font-size:2rem;margin-bottom:24px}h2{font-size:1.5rem;margin-bottom:16px}h3{font-size:1.25rem;margin-bottom:16px}h4{font-size:1.125rem;margin-bottom:8px}h5{font-size:1rem;margin-bottom:8px}h6{font-size:.875rem;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}p{margin:0 0 16px 0;line-height:1.5}p:last-child{margin-bottom:0}.text-xs{font-size:.75rem}.text-s{font-size:.875rem}.text-base{font-size:1rem}.text-m{font-size:1.125rem}.text-l{font-size:1.25rem}.text-xl{font-size:1.5rem}.text-xxl{font-size:2rem}.text-light{font-weight:300}.text-normal{font-weight:400}.text-medium{font-weight:500}.text-semibold{font-weight:600}.text-bold{font-weight:700}.text-primary{color:#111827}.text-secondary{color:#4b5563}.text-muted{color:#6b7280}.text-light{color:#9ca3af}.text-white{color:#fff}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.leading-tight{line-height:1.25}.leading-base{line-height:1.5}.leading-relaxed{line-height:1.8}a{color:#3b82f6;text-decoration:none;transition:color .15s ease}a:hover{color:rgb(11.1512195122,99.1219512195,242.8487804878);text-decoration:underline}a:focus{outline:2px solid #3b82f6;outline-offset:2px}.link-secondary{color:#4b5563}.link-secondary:hover{color:#111827}.link-muted{color:#6b7280}.link-muted:hover{color:#111827}ul,ol{margin:0 0 8px 0;padding-left:12px}li{margin-bottom:4px;line-height:1.5}.list-unstyled{list-style:none;padding-left:0}.list-inline{list-style:none;padding-left:0}.list-inline li{display:inline-block;margin-right:8px;margin-bottom:0}.list-inline li:last-child{margin-right:0}blockquote{margin:12px 0;padding:12px;border-left:2px solid #3b82f6;background-color:#f9fafb}blockquote p:last-child{margin-bottom:0}blockquote cite{display:block;margin-top:8px;font-size:.875rem;color:#6b7280;font-style:normal}code{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:.875rem;color:#ef4444;background-color:#f9fafb;padding:4px;border-radius:4px}pre{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;font-size:.875rem;line-height:1.5;color:#111827;background-color:#f9fafb;padding:4px;border-radius:8px;overflow-x:auto;margin:8px 0}pre code{color:inherit;background-color:rgba(0,0,0,0);padding:0;border-radius:0}hr{margin:12px 0;border:0;border-top:1px solid #f3f4f6;height:1px}small,.small{font-size:.75rem;color:#6b7280}strong,b{font-weight:600}em,i{font-style:italic}mark{background-color:#f59e0b;color:#111827;padding:4px;border-radius:.2em}del,s{text-decoration:line-through;color:#6b7280}ins,u{text-decoration:underline}sub,sup{font-size:.75rem;line-height:0;position:relative;vertical-align:baseline}sup{top:-4px}sub{bottom:-4px}*{box-sizing:border-box}.container{width:100%;margin:0 auto;padding:0 16px;max-width:1200px}@media(min-width: 576px){.container{padding:0 24px}}@media(min-width: 992px){.container{padding:0 32px}}.container-fluid{width:100%;margin:0 auto;padding:0 16px}@media(min-width: 576px){.container-fluid{padding:0 24px}}.row{display:flex;flex-wrap:wrap;margin:0 -8px}.col,.col-auto,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12{position:relative;width:100%;padding:0 8px}.col{flex:1 0 0%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{flex:0 0 100%;max-width:100%}@media(min-width: 576px){.col-sm-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto}}@media(min-width: 768px){.col-md-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{flex:0 0 100%;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto}}@media(min-width: 992px){.col-lg-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto}}@media(min-width: 1200px){.col-xl-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto}}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.d-none{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-column{flex-direction:column}.flex-column-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-stretch{align-content:stretch}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-baseline{align-self:baseline}.self-stretch{align-self:stretch}.flex-fill{flex:1 1 auto}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.flex-shrink-1{flex-shrink:1}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}@media(min-width: 576px){.d-sm-block{display:block}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-flex{display:flex}.d-sm-none{display:none}}@media(min-width: 768px){.d-md-block{display:block}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-flex{display:flex}.d-md-none{display:none}}@media(min-width: 992px){.d-lg-block{display:block}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-flex{display:flex}.d-lg-none{display:none}}@media(min-width: 1200px){.d-xl-block{display:block}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-flex{display:flex}.d-xl-none{display:none}}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.vh-25{height:25vh}.vh-50{height:50vh}.vh-75{height:75vh}.vh-100{height:100vh}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.float-start{float:left}.float-end{float:right}.float-none{float:none}.clearfix::after{content:"";display:table;clear:both}.visible{visibility:visible}.invisible{visibility:hidden}@media(min-width: 576px){.d-sm-none{display:none}.d-sm-block{display:block}.d-sm-flex{display:flex}}@media(max-width: 575px){.d-sm-down-none{display:none}.d-sm-down-block{display:block}.d-sm-down-flex{display:flex}}@media(min-width: 768px){.d-md-none{display:none}.d-md-block{display:block}.d-md-flex{display:flex}}@media(max-width: 767px){.d-md-down-none{display:none}.d-md-down-block{display:block}.d-md-down-flex{display:flex}}@media(min-width: 992px){.d-lg-none{display:none}.d-lg-block{display:block}.d-lg-flex{display:flex}}@media(max-width: 991px){.d-lg-down-none{display:none}.d-lg-down-block{display:block}.d-lg-down-flex{display:flex}}@media(min-width: 1200px){.d-xl-none{display:none}.d-xl-block{display:block}.d-xl-flex{display:flex}}@media(max-width: 1199px){.d-xl-down-none{display:none}.d-xl-down-block{display:block}.d-xl-down-flex{display:flex}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{from{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{from{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInRight{from{transform:translateX(-20px);opacity:0}to{transform:translateX(0);opacity:1}}*{box-sizing:border-box}html{font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#111827;background-color:#fff;margin:0;padding:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.visible{visibility:visible}.invisible{visibility:hidden}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.user-select-none{user-select:none}.user-select-auto{user-select:auto}.user-select-all{user-select:all}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}@media(min-width: 576px){.d-sm-none{display:none}.d-sm-block{display:block}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-flex{display:flex}.d-sm-inline-flex{display:inline-flex}}@media(min-width: 768px){.d-md-none{display:none}.d-md-block{display:block}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-flex{display:flex}.d-md-inline-flex{display:inline-flex}}@media(min-width: 992px){.d-lg-none{display:none}.d-lg-block{display:block}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-flex{display:flex}.d-lg-inline-flex{display:inline-flex}}@media(min-width: 1200px){.d-xl-none{display:none}.d-xl-block{display:block}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-flex{display:flex}.d-xl-inline-flex{display:inline-flex}}@media print{*{background:rgba(0,0,0,0) !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}pre,blockquote{border:1px solid #d1d5db;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.dewp-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;font-size:.75rem;font-weight:500;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:8px;transition:all .15s ease}.dewp-badge .icon{margin-right:4px}.dewp-badge .icon:last-child{margin-right:0;margin-left:4px}.dewp-badge[href]{text-decoration:none;cursor:pointer}.dewp-badge[href]:hover{text-decoration:none}.dewp-badge-xs{padding:.125rem .25rem;font-size:.625rem}.dewp-badge-s{padding:4px 8px;font-size:.75rem}.dewp-badge-m{padding:8px 16px;font-size:.875rem}.dewp-badge-l{padding:16px 24px;font-size:1rem}.dewp-badge-primary{color:#fff;background-color:#3b82f6}.dewp-badge-primary[href]:hover{background-color:rgb(11.1512195122,99.1219512195,242.8487804878)}.dewp-badge-secondary{color:#fff;background-color:#6b7280}.dewp-badge-secondary[href]:hover{background-color:hsl(220,8.9361702128%,36.0784313725%)}.dewp-badge-success{color:#fff;background-color:#10b981}.dewp-badge-success[href]:hover{background-color:rgb(11.9402985075,138.0597014925,96.2686567164)}.dewp-badge-warning{color:#111827;background-color:#f59e0b}.dewp-badge-warning[href]:hover{background-color:rgb(196.9291338583,126.7125984252,8.0708661417)}.dewp-badge-danger{color:#fff;background-color:#ef4444}.dewp-badge-danger[href]:hover{background-color:hsl(0,84.236453202%,50.1960784314%)}.dewp-badge-info{color:#fff;background-color:#06b6d4}.dewp-badge-info[href]:hover{background-color:rgb(4.5963302752,139.4220183486,162.4036697248)}.dewp-badge-light{color:#111827;background-color:#f3f4f6}.dewp-badge-light[href]:hover{background-color:#e5e7eb}.dewp-badge-dark{color:#fff;background-color:#1f2937}.dewp-badge-dark[href]:hover{background-color:#111827}.dewp-badge-outline-primary{color:#3b82f6;background-color:rgba(0,0,0,0);border:1px solid #3b82f6}.dewp-badge-outline-secondary{color:#6b7280;background-color:rgba(0,0,0,0);border:1px solid #6b7280}.dewp-badge-outline-success{color:#10b981;background-color:rgba(0,0,0,0);border:1px solid #10b981}.dewp-badge-outline-warning{color:#f59e0b;background-color:rgba(0,0,0,0);border:1px solid #f59e0b}.dewp-badge-outline-danger{color:#ef4444;background-color:rgba(0,0,0,0);border:1px solid #ef4444}.dewp-badge-outline-info{color:#06b6d4;background-color:rgba(0,0,0,0);border:1px solid #06b6d4}.dewp-badge-outline-light{color:#4b5563;background-color:rgba(0,0,0,0);border:1px solid #d1d5db}.dewp-badge-outline-dark{color:#1f2937;background-color:rgba(0,0,0,0);border:1px solid #1f2937}.dewp-badge-rounded{border-radius:12px}.dewp-badge-pill{border-radius:24px}.dewp-badge-square{border-radius:0}.dewp-badge-dot{padding:0;width:.5rem;height:.5rem;border-radius:50%}.dewp-badge-dot .icon{display:none}.dewp-badge-ring{position:relative}.dewp-badge-ring::after{content:"";position:absolute;top:-2px;right:-2px;width:.5rem;height:.5rem;background-color:#ef4444;border:2px solid #fff;border-radius:50%}.dewp-badge-top-left{position:absolute;top:-0.5rem;left:-0.5rem;transform:translate(-50%, -50%)}.dewp-badge-top-right{position:absolute;top:-0.5rem;right:-0.5rem;transform:translate(50%, -50%)}.dewp-badge-bottom-left{position:absolute;bottom:-0.5rem;left:-0.5rem;transform:translate(-50%, 50%)}.dewp-badge-bottom-right{position:absolute;bottom:-0.5rem;right:-0.5rem;transform:translate(50%, 50%)}.dewp-badge-pulse{animation:badge-pulse 2s infinite}.dewp-badge-bounce{animation:badge-bounce 1s infinite}@keyframes badge-pulse{0%{box-shadow:0 0 0 0 rgba(59,130,246,.7)}70%{box-shadow:0 0 0 .5rem rgba(59,130,246,0)}100%{box-shadow:0 0 0 0 rgba(59,130,246,0)}}@keyframes badge-bounce{0%,20%,53%,80%,100%{transform:translate3d(0, 0, 0)}40%,43%{transform:translate3d(0, -0.25rem, 0)}70%{transform:translate3d(0, -0.125rem, 0)}90%{transform:translate3d(0, -0.0625rem, 0)}}.dewp-badge-group{display:inline-flex;align-items:center}.dewp-badge-group .dewp-badge{margin-right:4px}.dewp-badge-group .dewp-badge:last-child{margin-right:0}.dewp-badge-group-vertical{flex-direction:column}.dewp-badge-group-vertical .dewp-badge{margin-right:0;margin-bottom:4px}.dewp-badge-group-vertical .dewp-badge:last-child{margin-bottom:0}.dewp-btn .dewp-badge{margin-left:4px;font-size:.75em;vertical-align:middle}.dewp-btn .dewp-badge:first-child{margin-left:0;margin-right:4px}.dewp-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:1rem;font-weight:500;line-height:1.5;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:1px solid rgba(0,0,0,0);border-radius:8px;transition:all .15s ease;white-space:nowrap;min-height:2.5rem}.dewp-btn:hover{text-decoration:none}.dewp-btn:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.dewp-btn:focus:focus:not(:focus-visible){outline:none}.dewp-btn:disabled,.dewp-btn.disabled{opacity:.65;pointer-events:none;cursor:not-allowed}.dewp-btn .icon{margin-right:4px}.dewp-btn .icon:last-child{margin-right:0;margin-left:4px}.dewp-btn-xs{padding:4px 8px;font-size:.75rem;border-radius:4px;min-height:1.75rem}.dewp-btn-s{padding:4px 12px;font-size:.875rem;min-height:2rem}.dewp-btn-m{padding:8px 16px;font-size:1rem;min-height:2.5rem}.dewp-btn-l{padding:12px 20px;font-size:1.125rem;min-height:3rem}.dewp-btn-xl{padding:16px 24px;font-size:1.25rem;min-height:3.5rem}.dewp-btn-primary{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.dewp-btn-primary:hover{color:#fff;background-color:rgb(11.1512195122,99.1219512195,242.8487804878);border-color:rgb(11.1512195122,99.1219512195,242.8487804878)}.dewp-btn-primary:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.dewp-btn-primary:focus:focus:not(:focus-visible){outline:none}.dewp-btn-primary:active{background-color:rgb(10.0317073171,89.1707317073,218.4682926829);border-color:rgb(10.0317073171,89.1707317073,218.4682926829)}.dewp-btn-secondary{color:#111827;background-color:#6b7280;border-color:#6b7280}.dewp-btn-secondary:hover{color:#fff;background-color:hsl(220,8.9361702128%,36.0784313725%);border-color:hsl(220,8.9361702128%,36.0784313725%)}.dewp-btn-secondary:focus:focus{outline:2px solid #6b7280;outline-offset:2px}.dewp-btn-secondary:focus:focus:not(:focus-visible){outline:none}.dewp-btn-secondary:active{background-color:hsl(220,8.9361702128%,31.0784313725%);border-color:hsl(220,8.9361702128%,31.0784313725%)}.dewp-btn-success{color:#fff;background-color:#10b981;border-color:#10b981}.dewp-btn-success:hover{color:#fff;background-color:rgb(11.9402985075,138.0597014925,96.2686567164);border-color:rgb(11.9402985075,138.0597014925,96.2686567164)}.dewp-btn-success:focus:focus{outline:2px solid #10b981;outline-offset:2px}.dewp-btn-success:focus:focus:not(:focus-visible){outline:none}.dewp-btn-success:active{background-color:rgb(9.9104477612,114.5895522388,79.9029850746);border-color:rgb(9.9104477612,114.5895522388,79.9029850746)}.dewp-btn-warning{color:#111827;background-color:#f59e0b;border-color:#f59e0b}.dewp-btn-warning:hover{color:#111827;background-color:rgb(196.9291338583,126.7125984252,8.0708661417);border-color:rgb(196.9291338583,126.7125984252,8.0708661417)}.dewp-btn-warning:focus:focus{outline:2px solid #f59e0b;outline-offset:2px}.dewp-btn-warning:focus:focus:not(:focus-visible){outline:none}.dewp-btn-warning:active{background-color:rgb(172.4330708661,110.9507874016,7.0669291339);border-color:rgb(172.4330708661,110.9507874016,7.0669291339)}.dewp-btn-danger{color:#fff;background-color:#ef4444;border-color:#ef4444}.dewp-btn-danger:hover{color:#fff;background-color:hsl(0,84.236453202%,50.1960784314%);border-color:hsl(0,84.236453202%,50.1960784314%)}.dewp-btn-danger:focus:focus{outline:2px solid #ef4444;outline-offset:2px}.dewp-btn-danger:focus:focus:not(:focus-visible){outline:none}.dewp-btn-danger:active{background-color:hsl(0,84.236453202%,45.1960784314%);border-color:hsl(0,84.236453202%,45.1960784314%)}.dewp-btn-info{color:#fff;background-color:#06b6d4;border-color:#06b6d4}.dewp-btn-info:hover{color:#fff;background-color:rgb(4.5963302752,139.4220183486,162.4036697248);border-color:rgb(4.5963302752,139.4220183486,162.4036697248)}.dewp-btn-info:focus:focus{outline:2px solid #06b6d4;outline-offset:2px}.dewp-btn-info:focus:focus:not(:focus-visible){outline:none}.dewp-btn-info:active{background-color:rgb(3.8944954128,118.1330275229,137.6055045872);border-color:rgb(3.8944954128,118.1330275229,137.6055045872)}.dewp-btn-light{color:#111827;background-color:#f3f4f6;border-color:#d1d5db}.dewp-btn-light:hover{color:#111827;background-color:#e5e7eb;border-color:#9ca3af}.dewp-btn-light:focus:focus{outline:2px solid #6b7280;outline-offset:2px}.dewp-btn-light:focus:focus:not(:focus-visible){outline:none}.dewp-btn-light:active{background-color:#d1d5db;border-color:#6b7280}.dewp-btn-dark{color:#fff;background-color:#1f2937;border-color:#1f2937}.dewp-btn-dark:hover{color:#fff;background-color:#111827;border-color:#111827}.dewp-btn-dark:focus:focus{outline:2px solid #374151;outline-offset:2px}.dewp-btn-dark:focus:focus:not(:focus-visible){outline:none}.dewp-btn-dark:active{background-color:#000;border-color:#000}.dewp-btn-outline-primary{color:#3b82f6;background-color:rgba(0,0,0,0);border-color:#3b82f6}.dewp-btn-outline-primary:hover{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.dewp-btn-outline-primary:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.dewp-btn-outline-primary:focus:focus:not(:focus-visible){outline:none}.dewp-btn-outline-primary:active{color:#fff;background-color:rgb(10.0317073171,89.1707317073,218.4682926829);border-color:rgb(10.0317073171,89.1707317073,218.4682926829)}.dewp-btn-outline-secondary{color:#6b7280;background-color:rgba(0,0,0,0);border-color:#6b7280}.dewp-btn-outline-secondary:hover{color:#fff;background-color:#6b7280;border-color:#6b7280}.dewp-btn-outline-secondary:focus:focus{outline:2px solid #6b7280;outline-offset:2px}.dewp-btn-outline-secondary:focus:focus:not(:focus-visible){outline:none}.dewp-btn-outline-secondary:active{color:#fff;background-color:hsl(220,8.9361702128%,31.0784313725%);border-color:hsl(220,8.9361702128%,31.0784313725%)}.dewp-btn-outline-success{color:#10b981;background-color:rgba(0,0,0,0);border-color:#10b981}.dewp-btn-outline-success:hover{color:#fff;background-color:#10b981;border-color:#10b981}.dewp-btn-outline-success:focus:focus{outline:2px solid #10b981;outline-offset:2px}.dewp-btn-outline-success:focus:focus:not(:focus-visible){outline:none}.dewp-btn-outline-success:active{color:#fff;background-color:rgb(9.9104477612,114.5895522388,79.9029850746);border-color:rgb(9.9104477612,114.5895522388,79.9029850746)}.dewp-btn-outline-warning{color:#f59e0b;background-color:rgba(0,0,0,0);border-color:#f59e0b}.dewp-btn-outline-warning:hover{color:#111827;background-color:#f59e0b;border-color:#f59e0b}.dewp-btn-outline-warning:focus:focus{outline:2px solid #f59e0b;outline-offset:2px}.dewp-btn-outline-warning:focus:focus:not(:focus-visible){outline:none}.dewp-btn-outline-warning:active{color:#111827;background-color:rgb(172.4330708661,110.9507874016,7.0669291339);border-color:rgb(172.4330708661,110.9507874016,7.0669291339)}.dewp-btn-outline-danger{color:#ef4444;background-color:rgba(0,0,0,0);border-color:#ef4444}.dewp-btn-outline-danger:hover{color:#fff;background-color:#ef4444;border-color:#ef4444}.dewp-btn-outline-danger:focus:focus{outline:2px solid #ef4444;outline-offset:2px}.dewp-btn-outline-danger:focus:focus:not(:focus-visible){outline:none}.dewp-btn-outline-danger:active{color:#fff;background-color:hsl(0,84.236453202%,45.1960784314%);border-color:hsl(0,84.236453202%,45.1960784314%)}.dewp-btn-block{display:block;width:100%}.dewp-btn-loading{position:relative;color:rgba(0,0,0,0)}.dewp-btn-loading::after{content:"";position:absolute;top:50%;left:50%;width:1rem;height:1rem;margin:-0.5rem 0 0 -0.5rem;border:2px solid currentColor;border-right-color:rgba(0,0,0,0);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dewp-btn-group{display:inline-flex;vertical-align:middle}.dewp-btn-group .dewp-btn{position:relative;flex:1 1 auto}.dewp-btn-group .dewp-btn:not(:first-child){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.dewp-btn-group .dewp-btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.dewp-btn-group .dewp-btn:hover,.dewp-btn-group .dewp-btn:focus,.dewp-btn-group .dewp-btn:active{z-index:1}.dewp-btn-group-vertical{flex-direction:column}.dewp-btn-group-vertical .dewp-btn:not(:first-child){margin-top:-1px;margin-left:0;border-top-left-radius:0;border-top-right-radius:0}.dewp-btn-group-vertical .dewp-btn:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.dewp-btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.dewp-btn-toolbar .dewp-btn-group{margin-right:8px;margin-bottom:8px}.dewp-btn-toolbar .dewp-btn-group:last-child{margin-right:0}.dewp-dropdown{position:relative;display:inline-block}.dewp-dropdown:has(.dewp-dropdown-menu.show) .dewp-dropdown-toggle{background-color:#f9fafb;color:#111827}.dewp-dropdown .dewp-dropdown-menu{position:absolute;background:#fff;border:1px solid #f3f4f6;border-radius:8px;box-shadow:0 .5rem 1rem rgba(0,0,0,.1);z-index:1000;min-width:160px;max-width:300px;opacity:0;visibility:hidden;transform:scale(0.95) translateY(-8px);transition:all .15s ease ease;overflow:hidden;pointer-events:none}.dewp-dropdown .dewp-dropdown-menu.show{opacity:1;visibility:visible;transform:scale(1) translateY(0);pointer-events:auto}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item{display:block;width:100%;padding:8px 16px;background:none;border:none;box-shadow:none;text-align:left;font-size:.875rem;color:#111827;cursor:pointer;transition:background-color .15s ease ease;text-decoration:none;line-height:1.5;border-bottom:1px solid #f3f4f6}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item:last-child{border-bottom:none}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item:hover{background-color:#f9fafb}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item:focus{background-color:#f9fafb}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item:focus:focus:not(:focus-visible){outline:none}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item:active{background-color:#e5e7eb}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item .dropdown-icon{width:14px;height:14px;margin-right:8px;vertical-align:middle;fill:currentColor}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-item-primary{color:#3b82f6}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-item-primary:hover{background-color:rgba(59,130,246,.1)}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-item-success{color:#10b981}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-item-success:hover{background-color:rgba(16,185,129,.1)}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-item-warning{color:#f59e0b}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-item-warning:hover{background-color:rgba(245,158,11,.1)}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-item-danger{color:#ef4444}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-item-danger:hover{background-color:rgba(239,68,68,.1)}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-item-info{color:#06b6d4}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-item-info:hover{background-color:rgba(6,182,212,.1)}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item:disabled,.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-divider{padding:0;height:1px;background-color:#f3f4f6;margin:4px 0;pointer-events:none;border-bottom:none}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-divider:hover{background-color:#f3f4f6}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-header{padding:4px 16px;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;pointer-events:none;border-bottom:none}.dewp-dropdown .dewp-dropdown-menu .dewp-dropdown-item.dropdown-header:hover{background-color:rgba(0,0,0,0)}.dewp-dropdown .dewp-dropdown-menu.dropdown-sm{min-width:140px}.dewp-dropdown .dewp-dropdown-menu.dropdown-sm .dewp-dropdown-item{padding:4px 8px;font-size:.75rem}.dewp-dropdown .dewp-dropdown-menu.dropdown-lg{min-width:200px}.dewp-dropdown .dewp-dropdown-menu.dropdown-lg .dewp-dropdown-item{padding:16px 24px;font-size:1rem}.dewp-dropdown .dewp-dropdown-menu.dropdown-bordered{border:2px solid #f3f4f6}.dewp-dropdown .dewp-dropdown-menu.dropdown-shadow-lg{box-shadow:0 1rem 2rem rgba(0,0,0,.2)}.dewp-dropdown .dewp-dropdown-menu.dropdown-rounded{border-radius:16px}.dewp-dropdown .dewp-dropdown-menu.dropdown-no-border{border:none}.dewp-dropdown .dewp-dropdown-menu.dropdown-scrollable{max-height:300px;overflow-y:auto}.dewp-dropdown .dewp-dropdown-menu.dropdown-scrollable::-webkit-scrollbar{width:6px}.dewp-dropdown .dewp-dropdown-menu.dropdown-scrollable::-webkit-scrollbar-track{background:#f9fafb}.dewp-dropdown .dewp-dropdown-menu.dropdown-scrollable::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:3px}.dewp-dropdown .dewp-dropdown-menu.dropdown-scrollable::-webkit-scrollbar-thumb:hover{background:#6b7280}.dewp-dropdown .dewp-dropdown-toggle{background:none;border:none;padding:8px 12px;background-color:#fff;border:1px solid #f3f4f6;border-radius:8px;cursor:pointer;color:#4b5563;transition:all .15s ease ease;display:flex;align-items:center;justify-content:space-between;min-width:120px;min-height:32px;gap:8px}.dewp-dropdown .dewp-dropdown-toggle:hover{color:#111827;background-color:#f9fafb}.dewp-dropdown .dewp-dropdown-toggle:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.dewp-dropdown .dewp-dropdown-toggle:focus:focus:not(:focus-visible){outline:none}.dewp-dropdown .dewp-dropdown-toggle .dropdown-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dewp-dropdown .dewp-dropdown-toggle .dropdown-arrow{width:16px;height:16px;fill:currentColor;transition:transform .15s ease ease;flex-shrink:0}.dropdown:has(.dewp-dropdown-menu.show) .dewp-dropdown .dewp-dropdown-toggle .dropdown-arrow{transform:rotate(180deg)}.dewp-dropdown-sm .dewp-dropdown-toggle{min-width:28px;min-height:28px;padding:4px}.dewp-dropdown-sm .dewp-dropdown-toggle svg{width:14px;height:14px}.dewp-dropdown-sm .dewp-dropdown-menu{min-width:140px}.dewp-dropdown-sm .dewp-dropdown-menu .dewp-dropdown-item{padding:4px 8px;font-size:.75rem}.dewp-dropdown-lg .dewp-dropdown-toggle{min-width:40px;min-height:40px;padding:8px}.dewp-dropdown-lg .dewp-dropdown-toggle svg{width:18px;height:18px}.dewp-dropdown-lg .dewp-dropdown-menu{min-width:200px}.dewp-dropdown-lg .dewp-dropdown-menu .dewp-dropdown-item{padding:16px 24px;font-size:1rem}.dewp-dropdown-bordered .dewp-dropdown-menu{border:2px solid #f3f4f6}.dewp-dropdown-shadow-lg .dewp-dropdown-menu{box-shadow:0 1rem 2rem rgba(0,0,0,.2)}.dewp-dropdown-rounded .dewp-dropdown-menu{border-radius:16px}.dewp-dropdown-no-border .dewp-dropdown-menu{border:none}.dewp-dropdown-primary .dewp-dropdown-toggle{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.dewp-dropdown-primary .dewp-dropdown-toggle:hover{background-color:rgb(11.1512195122,99.1219512195,242.8487804878);border-color:rgb(11.1512195122,99.1219512195,242.8487804878)}.dewp-dropdown-success .dewp-dropdown-toggle{background-color:#10b981;border-color:#10b981;color:#fff}.dewp-dropdown-success .dewp-dropdown-toggle:hover{background-color:rgb(11.9402985075,138.0597014925,96.2686567164);border-color:rgb(11.9402985075,138.0597014925,96.2686567164)}.dewp-dropdown-warning .dewp-dropdown-toggle{background-color:#f59e0b;border-color:#f59e0b;color:#111827}.dewp-dropdown-warning .dewp-dropdown-toggle:hover{background-color:rgb(196.9291338583,126.7125984252,8.0708661417);border-color:rgb(196.9291338583,126.7125984252,8.0708661417)}.dewp-dropdown-danger .dewp-dropdown-toggle{background-color:#ef4444;border-color:#ef4444;color:#fff}.dewp-dropdown-danger .dewp-dropdown-toggle:hover{background-color:hsl(0,84.236453202%,50.1960784314%);border-color:hsl(0,84.236453202%,50.1960784314%)}.dewp-dropdown-info .dewp-dropdown-toggle{background-color:#06b6d4;border-color:#06b6d4;color:#fff}.dewp-dropdown-info .dewp-dropdown-toggle:hover{background-color:rgb(4.5963302752,139.4220183486,162.4036697248);border-color:rgb(4.5963302752,139.4220183486,162.4036697248)}.dewp-dropdown-up .dewp-dropdown-menu{top:auto;bottom:100%;margin-bottom:4px}.dewp-dropdown-left .dewp-dropdown-menu{right:auto;left:0}.dewp-dropdown-right .dewp-dropdown-menu{left:auto;right:0}.dewp-dropdown-center .dewp-dropdown-menu{right:auto;left:50%;transform:translateX(-50%) translateY(-8px)}.dewp-dropdown-center .dewp-dropdown-menu.show{transform:translateX(-50%) translateY(0)}.dewp-dropdown-full-width{width:100%}.dewp-dropdown-full-width .dewp-dropdown-toggle{width:100%;justify-content:space-between}.dewp-dropdown-full-width .dewp-dropdown-menu{width:100%;min-width:100%}.dewp-dropdown-auto-width .dewp-dropdown-menu{width:auto;min-width:auto;white-space:nowrap}@media(max-width: 767px){.dewp-dropdown,.dewp-dropdown-container .dewp-dropdown-menu{min-width:180px;box-shadow:0 1rem 2rem rgba(0,0,0,.2)}}@media(prefers-reduced-motion: reduce){.dewp-dropdown .dewp-dropdown-toggle,.dewp-dropdown .dewp-dropdown-menu,.dewp-dropdown .dewp-dropdown-item,.dewp-dropdown-container .dewp-dropdown-toggle,.dewp-dropdown-container .dewp-dropdown-menu,.dewp-dropdown-container .dewp-dropdown-item{transition:none}}.dewp-empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px;text-align:center;background:#fff;border-radius:12px;box-shadow:0 .125rem .25rem rgba(0,0,0,.05);border:1px solid #f3f4f6}@media(max-width: 767px){.dewp-empty-state{padding:24px}}.dewp-empty-state .dewp-empty-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;color:#fff;font-size:2.5rem;margin-bottom:24px}@media(max-width: 767px){.dewp-empty-state .dewp-empty-icon{width:60px;height:60px;font-size:2rem}}.dewp-empty-state .dewp-empty-message h3{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 8px 0}@media(max-width: 767px){.dewp-empty-state .dewp-empty-message h3{font-size:1.25rem}}.dewp-empty-state .dewp-empty-message p{font-size:1rem;color:#4b5563;line-height:1.5;margin:0}@media(max-width: 767px){.dewp-empty-state .dewp-empty-message p{font-size:.875rem}}.dewp-empty-state-sm{padding:16px}.dewp-empty-state-sm .dewp-empty-icon{width:60px;height:60px;font-size:1.5rem;margin-bottom:16px}.dewp-empty-state-sm .dewp-empty-message h3{font-size:1.25rem;margin-bottom:4px}.dewp-empty-state-sm .dewp-empty-message p{font-size:.875rem}.dewp-empty-state-lg{padding:48px}.dewp-empty-state-lg .dewp-empty-icon{width:100px;height:100px;font-size:3rem;margin-bottom:32px}.dewp-empty-state-lg .dewp-empty-message h3{font-size:2rem;margin-bottom:16px}.dewp-empty-state-lg .dewp-empty-message p{font-size:1.125rem}.dewp-empty-state-bordered{border:2px solid #f3f4f6}.dewp-empty-state-no-shadow{box-shadow:none}.dewp-empty-state-rounded{border-radius:12px}.dewp-empty-state-compact{padding:16px}.dewp-empty-state-compact .dewp-empty-icon{margin-bottom:8px}.dewp-empty-state-compact .dewp-empty-message h3{margin-bottom:4px}.dewp-empty-state-primary .dewp-empty-icon{background-color:#3b82f6}.dewp-empty-state-secondary .dewp-empty-icon{background-color:#6b7280}.dewp-empty-state-success .dewp-empty-icon{background-color:#10b981}.dewp-empty-state-warning .dewp-empty-icon{background-color:#f59e0b}.dewp-empty-state-danger .dewp-empty-icon{background-color:#ef4444}.dewp-empty-state-info .dewp-empty-icon{background-color:#06b6d4}.dewp-empty-state-horizontal{flex-direction:row;text-align:left}.dewp-empty-state-horizontal .dewp-empty-icon{margin-bottom:0;margin-right:24px}@media(max-width: 767px){.dewp-empty-state-horizontal{flex-direction:column;text-align:center}.dewp-empty-state-horizontal .dewp-empty-icon{margin-right:0;margin-bottom:16px}}.dewp-empty-state-vertical{flex-direction:column;text-align:center}.dewp-empty-state-with-action .dewp-empty-message{margin-bottom:16px}.dewp-empty-state-with-action .empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.dewp-empty-state-with-action .empty-actions .dewp-btn{min-width:120px}.dewp-empty-state-animated .dewp-empty-icon{animation:emptyStatePulse 2s ease-in-out infinite}.dewp-empty-state-full-width{width:100%}.dewp-empty-state-centered{margin:0 auto}@media(max-width: 767px){.dewp-empty-state-responsive{padding:16px}.dewp-empty-state-responsive .dewp-empty-icon{width:50px;height:50px;font-size:1.25rem}.dewp-empty-state-responsive .dewp-empty-message h3{font-size:1rem}.dewp-empty-state-responsive .dewp-empty-message p{font-size:.75rem}}@keyframes emptyStatePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.dewp-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:1040;opacity:0;visibility:hidden;transition:all .3s ease}.dewp-modal{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%) scale(0.9);background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);z-index:1050;opacity:0;visibility:hidden;transition:all .3s ease;overflow:hidden;max-width:90vw;max-height:90vh}.dewp-modal-sm{width:320px;max-width:90vw}.dewp-modal-md{width:480px;max-width:90vw}.dewp-modal-lg{width:720px;max-width:90vw}.dewp-modal-xl{width:960px;max-width:90vw}.dewp-modal-full{width:95vw;height:95vh;top:2.5vh;left:2.5vw;transform:none}.dewp-modal-header{padding:16px 20px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.dewp-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.dewp-modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.dewp-modal-close:hover{background-color:#f3f4f6;color:#374151}.dewp-modal-close:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dewp-modal-body{padding:20px;overflow-y:auto;max-height:calc(90vh - 120px);color:#374151;line-height:1.5}.dewp-modal-footer{padding:16px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px;background-color:#fff}.dewp-modal-cancel{padding:8px 16px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.dewp-modal-cancel:hover{background-color:#f9fafb;border-color:#9ca3af}.dewp-modal-cancel:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dewp-modal-confirm{padding:8px 16px;border:1px solid #3b82f6;background:#3b82f6;color:#fff;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.dewp-modal-confirm:hover{background-color:#2563eb;border-color:#2563eb}.dewp-modal-confirm:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}@media(max-width: 768px){.dewp-modal-sm,.dewp-modal-md,.dewp-modal-lg,.dewp-modal-xl{width:95vw;max-width:95vw}.dewp-modal-full{width:100vw;height:100vh;top:0;left:0;transform:none;border-radius:0}}.dewp-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:8px;margin-bottom:16px;background-color:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:all .2s ease}.dewp-notice:last-child{margin-bottom:0}.dewp-notice .dewp-notice-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:50%;color:#fff;font-weight:bold}.dewp-notice .dewp-notice-content{flex:1;min-width:0}.dewp-notice .dewp-notice-content h3{margin:0 0 4px 0;font-size:14px;font-weight:600;color:inherit;line-height:1.4}.dewp-notice .dewp-notice-content p{margin:0;font-size:13px;line-height:1.5;color:inherit;word-break:keep-all}.dewp-notice .dewp-notice-content a{color:inherit;text-decoration:underline;font-weight:500}.dewp-notice .dewp-notice-content a:hover{text-decoration:none}.dewp-notice .dewp-notice-content strong{font-weight:600;margin-bottom:4px;display:block}.dewp-notice .dewp-notice-content ul{margin:8px 0 0 0;padding-left:20px}.dewp-notice .dewp-notice-content ul li{margin-bottom:4px;font-size:13px;line-height:1.4}.dewp-notice .dewp-notice-close{background:none;border:none;cursor:pointer;padding:4px;font-size:18px;color:#6b7280;opacity:.7;transition:all .2s ease;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dewp-notice .dewp-notice-close:hover{opacity:1;background-color:#f3f4f6;color:#374151}.dewp-notice .dewp-notice-close:focus{outline:2px solid #3b82f6;outline-offset:2px}.dewp-notice-info{background-color:#eff6ff;border-color:#3b82f6;color:#1e40af}.dewp-notice-info .dewp-notice-icon{background-color:#3b82f6}.dewp-notice-success{background-color:#f0fdf4;border-color:#22c55e;color:#15803d}.dewp-notice-success .dewp-notice-icon{background-color:#22c55e}.dewp-notice-warning{background-color:#fffbeb;border-color:#f59e0b;color:#a16207}.dewp-notice-warning .dewp-notice-icon{background-color:#f59e0b}.dewp-notice-danger{background-color:#fef2f2;border-color:#ef4444;color:#b91c1c}.dewp-notice-danger .dewp-notice-icon{background-color:#ef4444}.dewp-notice-primary{background-color:#f0f9ff;border-color:#0ea5e9;color:#0369a1}.dewp-notice-primary .dewp-notice-icon{background-color:#0ea5e9}.dewp-notice-secondary{background-color:#f8fafc;border-color:#64748b;color:#334155}.dewp-notice-secondary .dewp-notice-icon{background-color:#64748b}.dewp-notice-sm{padding:12px;gap:10px}.dewp-notice-sm .dewp-notice-icon{width:16px;height:16px;font-size:12px}.dewp-notice-sm .dewp-notice-content h3{font-size:13px;margin-bottom:3px}.dewp-notice-sm .dewp-notice-content p{font-size:12px}.dewp-notice-sm .dewp-notice-close{width:20px;height:20px;font-size:16px;padding:2px}.dewp-notice-lg{padding:20px;gap:16px}.dewp-notice-lg .dewp-notice-icon{width:24px;height:24px;font-size:18px}.dewp-notice-lg .dewp-notice-content h3{font-size:16px;margin-bottom:6px}.dewp-notice-lg .dewp-notice-content p{font-size:14px}.dewp-notice-lg .dewp-notice-close{width:28px;height:28px;font-size:20px;padding:4px}.dewp-notice-bordered{border-width:2px}.dewp-notice-rounded{border-radius:12px}.dewp-notice-no-shadow{box-shadow:none}.dewp-notice-elevated{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.dewp-notice-dismissible .dewp-notice-close{display:flex}.dewp-notice-non-dismissible .dewp-notice-close{display:none}@media(max-width: 768px){.dewp-notice{flex-direction:column;gap:12px;text-align:center;padding:16px}.dewp-notice .dewp-notice-icon{margin:0 auto}.dewp-notice .dewp-notice-content{text-align:center}.dewp-notice .dewp-notice-content h3{margin-bottom:6px}.dewp-notice .dewp-notice-close{align-self:center}}.dewp-notice-fade-in{animation:noticeFadeIn .3s ease-out}.dewp-notice-slide-in{animation:noticeSlideIn .3s ease-out}.dewp-notice-auto-hide{animation:noticeAutoHide 5s ease-in-out forwards}@keyframes noticeFadeIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes noticeSlideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes noticeAutoHide{0%,80%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(100%)}}.dewp-notice-group .dewp-notice{margin-bottom:12px}.dewp-notice-group .dewp-notice:last-child{margin-bottom:0}.dewp-notice-stack{position:fixed;top:20px;right:20px;z-index:1000;max-width:400px;pointer-events:none}.dewp-notice-stack .dewp-notice{margin-bottom:12px;pointer-events:auto;animation:noticeSlideIn .3s ease-out}.dewp-notice-stack .dewp-notice:last-child{margin-bottom:0}@media(max-width: 768px){.dewp-notice-stack{top:10px;right:10px;left:10px;max-width:none}}.dewp-notice-fixed{position:fixed;top:20px;right:20px;z-index:1000;max-width:400px;pointer-events:none}.dewp-notice-fixed .dewp-notice{pointer-events:auto}@media(max-width: 768px){.dewp-notice-fixed{top:10px;right:10px;left:10px;max-width:none}}.dewp-notice-sticky{position:sticky;top:20px;z-index:100}@media(prefers-color-scheme: dark){.dewp-notice{background-color:#1f2937;border-color:#374151;color:#f9fafb}.dewp-notice-info{background-color:#1e3a8a;border-color:#3b82f6;color:#dbeafe}.dewp-notice-success{background-color:#14532d;border-color:#22c55e;color:#bbf7d0}.dewp-notice-warning{background-color:#78350f;border-color:#f59e0b;color:#fef3c7}.dewp-notice-danger{background-color:#7f1d1d;border-color:#ef4444;color:#fecaca}.dewp-notice-primary{background-color:#0c4a6e;border-color:#0ea5e9;color:#bae6fd}.dewp-notice-secondary{background-color:#374151;border-color:#6b7280;color:#d1d5db}.dewp-notice .dewp-notice-close{color:#9ca3af}.dewp-notice .dewp-notice-close:hover{background-color:#374151;color:#d1d5db}}.dewp-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:24px 0}.dewp-pagination .dewp-page-item{list-style:none}.dewp-pagination .dewp-page-item .dewp-page-link{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:8px 12px;font-size:14px;font-weight:500;color:#6b7280;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;text-decoration:none;transition:all .2s ease}.dewp-pagination .dewp-page-item .dewp-page-link:hover{color:#3b82f6;background-color:#f8fafc;border-color:#3b82f6;z-index:2}.dewp-pagination .dewp-page-item .dewp-page-link:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1);z-index:3}.dewp-pagination .dewp-page-item.active .dewp-page-link{color:#fff;background-color:#3b82f6;border-color:#3b82f6;font-weight:600}.dewp-pagination .dewp-page-item.disabled .dewp-page-link{color:#9ca3af;background-color:#f9fafb;border-color:#e5e7eb;cursor:not-allowed;opacity:.6}.dewp-pagination .dewp-page-item.disabled .dewp-page-link:hover{color:#9ca3af;background-color:#f9fafb;border-color:#e5e7eb}.dewp-pagination-sm .dewp-page-item .dewp-page-link{min-width:32px;height:32px;padding:6px;font-size:12px}.dewp-pagination-lg .dewp-page-item .dewp-page-link{min-width:48px;height:48px;padding:12px 16px;font-size:16px}.dewp-pagination-justify-start{justify-content:flex-start}.dewp-pagination-justify-center{justify-content:center}.dewp-pagination-justify-end{justify-content:flex-end}.dewp-pagination-justify-between{justify-content:space-between}.dewp-pagination-rounded .dewp-page-item .dewp-page-link{border-radius:50%}.dewp-pagination-capsule .dewp-page-item:first-child .dewp-page-link{border-top-left-radius:20px;border-bottom-left-radius:20px}.dewp-pagination-capsule .dewp-page-item:last-child .dewp-page-link{border-top-right-radius:20px;border-bottom-right-radius:20px}@media(max-width: 768px){.dewp-pagination{flex-wrap:wrap;gap:6px}.dewp-pagination .dewp-page-item .dewp-page-link{min-width:36px;height:36px;padding:8px;font-size:12px}}.dewp-table{width:100%;margin-bottom:16px;color:#111827;background-color:#fff;border-collapse:collapse;border:1px solid #f3f4f6;border-radius:12px;overflow:hidden}.dewp-table th,.dewp-table td{padding:8px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid #f3f4f6}.dewp-table th{background-color:#f9fafb;font-weight:600;color:#111827;border-bottom:2px solid #f3f4f6;white-space:nowrap;cursor:pointer;transition:background-color .15s ease}.dewp-table th:hover{background-color:rgb(239.82,242.35,244.88)}.dewp-table th.sortable{position:relative;padding-right:2.5rem}.dewp-table th.sortable::after{content:"↕";position:absolute;right:8px;top:50%;transform:translateY(-50%);opacity:.5;font-size:.75rem;transition:opacity .15s ease}.dewp-table th.sortable:hover::after{opacity:.8}.dewp-table th.sortable.sort-asc::after{content:"↑";opacity:1}.dewp-table th.sortable.sort-desc::after{content:"↓";opacity:1}.dewp-table td{border-bottom:1px solid #f3f4f6}.dewp-table td:last-child{text-align:right}.dewp-table tbody tr{transition:background-color .15s ease}.dewp-table tbody tr:hover{background-color:rgba(59,130,246,.02)}.dewp-table tbody tr:last-child td{border-bottom:none}.dewp-table tfoot th,.dewp-table tfoot td{background-color:#f9fafb;font-weight:500}.dewp-table-striped tbody tr:nth-of-type(odd){background-color:rgba(249,250,251,.5)}.dewp-table-striped tbody tr:nth-of-type(odd):hover{background-color:rgba(59,130,246,.05)}.dewp-table-hover tbody tr:hover{background-color:rgba(59,130,246,.05)}.dewp-table-bordered th,.dewp-table-bordered td{border:1px solid #f3f4f6}.dewp-table-borderless th,.dewp-table-borderless td{border:none}.dewp-table-sm th,.dewp-table-sm td{padding:4px 8px;font-size:.875rem}.dewp-table-lg th,.dewp-table-lg td{padding:16px 24px;font-size:1.125rem}.dewp-table-primary th{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.dewp-table-primary tbody tr:hover{background-color:rgba(59,130,246,.1)}.dewp-table-secondary th{background-color:#6b7280;color:#fff;border-color:#6b7280}.dewp-table-secondary tbody tr:hover{background-color:rgba(107,114,128,.1)}.dewp-table-success th{background-color:#10b981;color:#fff;border-color:#10b981}.dewp-table-success tbody tr:hover{background-color:rgba(16,185,129,.1)}.dewp-table-warning th{background-color:#f59e0b;color:#111827;border-color:#f59e0b}.dewp-table-warning tbody tr:hover{background-color:rgba(245,158,11,.1)}.dewp-table-danger th{background-color:#ef4444;color:#fff;border-color:#ef4444}.dewp-table-danger tbody tr:hover{background-color:rgba(239,68,68,.1)}.dewp-table-info th{background-color:#06b6d4;color:#fff;border-color:#06b6d4}.dewp-table-info tbody tr:hover{background-color:rgba(6,182,212,.1)}.dewp-table-centered th,.dewp-table-centered td{text-align:center}.dewp-table-right th,.dewp-table-right td{text-align:right}.dewp-table-fixed{table-layout:fixed}.dewp-table-auto{table-layout:auto}.dewp-table-compact th,.dewp-table-compact td{padding:4px;font-size:.75rem}.dewp-table-expanded th,.dewp-table-expanded td{padding:24px 32px;font-size:1.125rem}.dewp-table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.dewp-table-responsive .dewp-table{margin-bottom:0}.dewp-form-table{margin-bottom:16px}.dewp-form-table th{width:160px;padding:8px 0;font-weight:600;color:#111827;text-align:left;vertical-align:top}.dewp-form-table td{padding:8px;vertical-align:top}.dewp-form-table td:last-child{padding-right:0}.dewp-form-table tr:last-child{border-bottom:none}.dewp-form-table textarea{resize:vertical}.dewp-form-table input[type=checkbox]{margin-right:8px}.dewp-form-table .description{font-size:.75rem;color:#6b7280;margin-top:4px;line-height:1.5}@media(max-width: 767px){.dewp-table-responsive .dewp-table{min-width:600px}.dewp-form-table th,.dewp-form-table td{display:block;width:100%;text-align:left}.dewp-form-table th{padding-bottom:4px;border-bottom:1px solid #f3f4f6}.dewp-form-table td{padding-top:8px;padding-bottom:16px}}.dewp-tabs{display:inline-flex;background:#f3f4f6;border-radius:8px;padding:4px;gap:4px}.dewp-tabs .dewp-tab-btn{appearance:none;color:#6b7280;font-size:14px;padding:8px 16px;font-weight:600;border:none;background:rgba(0,0,0,0);cursor:pointer;border-radius:6px;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px;user-select:none;white-space:nowrap;pointer-events:auto}.dewp-tabs .dewp-tab-btn *{pointer-events:none}.dewp-tabs .dewp-tab-btn:hover{background:#fff;color:#374151}.dewp-tabs .dewp-tab-btn.active{background:#fff;color:#1f2937}.dewp-tabs .dewp-tab-btn .dewp-tab-count{background:#e5e7eb;color:#6b7280;font-size:12px;padding:2px 6px;border-radius:4px;font-weight:500;min-width:20px;text-align:center;line-height:1}.dewp-tabs .dewp-tab-btn:hover .dewp-tab-count,.dewp-tabs .dewp-tab-btn.active .dewp-tab-count{background:#3b82f6;color:#fff}.dewp-tabs-sm{padding:3px;gap:3px}.dewp-tabs-sm .dewp-tab-btn{padding:6px 12px;font-size:13px}.dewp-tabs-sm .dewp-tab-btn .dewp-tab-count{padding:1px 4px;font-size:11px;min-width:16px}.dewp-tabs-lg{padding:6px;gap:6px}.dewp-tabs-lg .dewp-tab-btn{padding:12px 20px;font-size:16px}.dewp-tabs-lg .dewp-tab-btn .dewp-tab-count{padding:3px 8px;font-size:14px;min-width:24px}.dewp-tabs-pills{background:rgba(0,0,0,0);border-radius:0;padding:0}.dewp-tabs-pills .dewp-tab-btn{border-radius:50px;padding:8px 20px}.dewp-tabs-pills .dewp-tab-btn.active{background:#3b82f6;color:#fff;box-shadow:0 2px 4px rgba(59,130,246,.3)}.dewp-tabs-pills .dewp-tab-btn.active .dewp-tab-count{background:hsla(0,0%,100%,.2);color:#fff}.dewp-tabs-pills .dewp-tab-btn:hover:not(.active){background:#f2f2f2;color:#374151}.dewp-tabs-basic{background:rgba(0,0,0,0);padding:0;gap:4px}.dewp-tabs-basic .dewp-tab-btn{border-radius:4px;padding:12px 16px}.dewp-tabs-basic .dewp-tab-btn.active{border-bottom-color:#3b82f6;background:#3b82f6;color:#fff;font-weight:600}.dewp-tabs-basic .dewp-tab-btn:hover:not(.active){background:#f2f2f2;color:#6b7280}.dewp-tabs-underline{background:rgba(0,0,0,0);padding:0;gap:0;border-bottom:1px solid #e5e7eb}.dewp-tabs-underline .dewp-tab-btn{border-radius:0;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px;padding:12px 20px}.dewp-tabs-underline .dewp-tab-btn.active{border-bottom-color:#3b82f6;background:rgba(0,0,0,0);color:#3b82f6;font-weight:600}.dewp-tabs-underline .dewp-tab-btn:hover:not(.active){background:rgba(0,0,0,0);color:#6b7280;border-bottom-color:#d1d5db}.dewp-tabs-vertical{flex-direction:column;align-items:stretch;background:rgba(0,0,0,0);padding:0;gap:0}.dewp-tabs-vertical .dewp-tab-btn{justify-content:flex-start;text-align:left;border-radius:0;border-left:3px solid rgba(0,0,0,0);padding:12px 20px}.dewp-tabs-vertical .dewp-tab-btn.active{border-left-color:#3b82f6;background:#f8fafc;color:#3b82f6;font-weight:600}.dewp-tabs-vertical .dewp-tab-btn:hover:not(.active){background:#f8fafc;color:#6b7280;border-left-color:#d1d5db}.dewp-tabs-primary .dewp-tab-btn.active{background:#3b82f6;color:#fff}.dewp-tabs-primary .dewp-tab-btn.active .dewp-tab-count{background:hsla(0,0%,100%,.2);color:#fff}.dewp-tabs-primary .dewp-tab-btn:hover:not(.active){background:rgba(59,130,246,.1);color:#3b82f6}.dewp-tabs-success .dewp-tab-btn.active{background:#22c55e;color:#fff}.dewp-tabs-success .dewp-tab-btn.active .dewp-tab-count{background:hsla(0,0%,100%,.2);color:#fff}.dewp-tabs-success .dewp-tab-btn:hover:not(.active){background:rgba(34,197,94,.1);color:#22c55e}.dewp-tabs-warning .dewp-tab-btn.active{background:#f59e0b;color:#fff}.dewp-tabs-warning .dewp-tab-btn.active .dewp-tab-count{background:hsla(0,0%,100%,.2);color:#fff}.dewp-tabs-warning .dewp-tab-btn:hover:not(.active){background:rgba(245,158,11,.1);color:#f59e0b}.dewp-tabs-danger .dewp-tab-btn.active{background:#ef4444;color:#fff}.dewp-tabs-danger .dewp-tab-btn.active .dewp-tab-count{background:hsla(0,0%,100%,.2);color:#fff}.dewp-tabs-danger .dewp-tab-btn:hover:not(.active){background:rgba(239,68,68,.1);color:#ef4444}.dewp-tabs-info .dewp-tab-btn.active{background:#06b6d4;color:#fff}.dewp-tabs-info .dewp-tab-btn.active .dewp-tab-count{background:hsla(0,0%,100%,.2);color:#fff}.dewp-tabs-info .dewp-tab-btn:hover:not(.active){background:rgba(6,182,212,.1);color:#06b6d4}.dewp-tabs-full{width:100%}.dewp-tabs-full .dewp-tab-btn{flex:1;justify-content:center}.dewp-tabs-justified{width:100%}.dewp-tabs-justified .dewp-tab-btn{flex:1;justify-content:center}.dewp-tabs-center{justify-content:center}.dewp-tabs-end{justify-content:flex-end}.dewp-tabs-between{justify-content:space-between}.dewp-tab-header{margin:24px 0}.dewp-tab-header h2{margin:0 0 12px 0;color:#1f2937;font-size:20px;display:flex;align-items:center;gap:12px}.dewp-tab-header h2 i{color:#3b82f6}.dewp-tab-header p{margin:0;color:#6b7280;font-size:16px;line-height:1.5}.dewp-tab-content .dewp-tab-panel{display:none}.dewp-tab-content .dewp-tab-panel.active{display:block;animation:fadeIn .3s ease-in-out}.dewp-tab-group .dewp-tabs{margin-bottom:24px}.dewp-tab-group .dewp-tab-content{padding:24px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;border-top-left-radius:0}@media(max-width: 768px){.dewp-tabs{flex-wrap:wrap;gap:4px}.dewp-tabs .dewp-tab-btn{flex:1;min-width:0;justify-content:center}.dewp-tabs-vertical{flex-direction:row;flex-wrap:wrap}.dewp-tabs-vertical .dewp-tab-btn{flex:1;min-width:0}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dewp-toast-container{position:fixed;top:16px;right:16px;z-index:1080;pointer-events:none;display:flex;flex-direction:column;gap:4px;max-width:400px}@media(max-width: 767px){.dewp-toast-container{top:4px;right:4px;left:4px;max-width:none}}.dewp-toast-container-top-left{top:16px;left:16px;right:auto}.dewp-toast-container-top-center{top:16px;left:50%;right:auto;transform:translateX(-50%)}.dewp-toast-container-top-right{top:16px;right:16px;left:auto}.dewp-toast-container-bottom-left{top:auto;bottom:16px;left:16px;right:auto}.dewp-toast-container-bottom-center{top:auto;bottom:16px;left:50%;right:auto;transform:translateX(-50%)}.dewp-toast-container-bottom-right{top:auto;bottom:16px;right:16px;left:auto}.dewp-toast{background:#fff;border-radius:8px;border-left:2px solid;min-width:300px;opacity:0;transform:translateX(100%);transition:all .3s ease ease;pointer-events:auto;margin-bottom:0}@media(max-width: 767px){.dewp-toast{min-width:auto}}.dewp-toast.show{opacity:1;transform:translateX(0)}.dewp-toast-success{border-left-color:#10b981}.dewp-toast-success .dewp-toast-icon{color:#10b981}.dewp-toast-error{border-left-color:#ef4444}.dewp-toast-error .dewp-toast-icon{color:#ef4444}.dewp-toast-warning{border-left-color:#f59e0b}.dewp-toast-warning .dewp-toast-icon{color:#f59e0b}.dewp-toast-info{border-left-color:#06b6d4}.dewp-toast-info .dewp-toast-icon{color:#06b6d4}.dewp-toast-sm{min-width:250px}.dewp-toast-sm .dewp-toast-content{padding:4px}.dewp-toast-sm .dewp-toast-icon{font-size:.875rem;width:16px;height:16px}.dewp-toast-sm .dewp-toast-close{width:16px;height:16px;font-size:.875rem}.dewp-toast-lg{min-width:500px}.dewp-toast-lg .dewp-toast-content{padding:16px}.dewp-toast-lg .dewp-toast-icon{font-size:1.25rem;width:24px;height:24px}.dewp-toast-lg .dewp-toast-close{width:24px;height:24px;font-size:1.25rem}.dewp-toast-slide-in{animation:toastSlideIn .3s ease ease-out}.dewp-toast-slide-out{animation:toastSlideOut .3s ease ease-in}.dewp-toast-fade-in{animation:toastFadeIn .3s ease ease-out}.dewp-toast-fade-out{animation:toastFadeOut .3s ease ease-in}.dewp-toast-auto-hide{animation:toastAutoHide 5s ease-in-out forwards}.dewp-toast-content{display:flex;align-items:center;padding:8px;gap:4px}.dewp-toast-icon{flex-shrink:0;font-size:1.125rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.dewp-toast-message{flex:1;font-size:.875rem;line-height:1.5;color:#111827}.dewp-toast-close{flex-shrink:0;background:none;border:none;color:#6b7280;font-size:1.125rem;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:color .15s ease;border-radius:50%}.dewp-toast-close:hover{color:#4b5563;background-color:#f9fafb}.dewp-toast-close:focus:focus{outline:2px solid #3b82f6;outline-offset:2px}.dewp-toast-close:focus:focus:not(:focus-visible){outline:none}.dewp-toast-close span{line-height:1}.dewp-toast-group .dewp-toast{margin-bottom:4px}.dewp-toast-group .dewp-toast:last-child{margin-bottom:0}.dewp-toast-stack .dewp-toast{margin-bottom:4px}.dewp-toast-stack .dewp-toast:last-child{margin-bottom:0}.dewp-toast-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:1079;pointer-events:none}@keyframes toastSlideIn{from{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@keyframes toastFadeIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes toastAutoHide{0%,80%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(100%)}}@media(prefers-color-scheme: dark){.dewp-toast{background:#f9fafb;color:#111827}.dewp-toast .dewp-toast-message{color:#111827}.dewp-toast .dewp-toast-close{color:#6b7280}.dewp-toast .dewp-toast-close:hover{color:#4b5563;background-color:#f9fafb}}.dewp-toggle-label{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#374151;margin:0;gap:12px}.dewp-toggle-label .dewp-toggle-input{display:none}.dewp-toggle-label .dewp-toggle-slider{position:relative;width:50px;height:24px;background:#d1d5db;border-radius:999px;transition:all .2s ease}.dewp-toggle-label .dewp-toggle-slider::before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.1)}.dewp-toggle-label .dewp-toggle-text{font-size:14px;font-weight:500;color:#374151}.dewp-toggle-label .dewp-toggle-input:checked+.dewp-toggle-slider{background:#3b82f6}.dewp-toggle-label .dewp-toggle-input:checked+.dewp-toggle-slider::before{transform:translateX(26px)}.dewp-toggle-label:hover .dewp-toggle-slider{box-shadow:0 2px 4px rgba(0,0,0,.15)}.dewp-toggle-label.dewp-toggle-disabled{opacity:.6;cursor:not-allowed}.dewp-toggle-label.dewp-toggle-disabled .dewp-toggle-slider{cursor:not-allowed}.dewp-toggle-label.dewp-toggle-disabled .dewp-toggle-text{cursor:not-allowed}.dewp-toggle-label.dewp-toggle-sm .dewp-toggle-slider{width:40px;height:20px}.dewp-toggle-label.dewp-toggle-sm .dewp-toggle-slider::before{width:16px;height:16px;top:2px;left:2px}.dewp-toggle-label.dewp-toggle-sm .dewp-toggle-input:checked+.dewp-toggle-slider::before{transform:translateX(20px)}.dewp-toggle-label.dewp-toggle-lg .dewp-toggle-slider{width:60px;height:32px}.dewp-toggle-label.dewp-toggle-lg .dewp-toggle-slider::before{width:28px;height:28px;top:2px;left:2px}.dewp-toggle-label.dewp-toggle-lg .dewp-toggle-input:checked+.dewp-toggle-slider::before{transform:translateX(28px)}@media(max-width: 768px){.dewp-toggle-label{gap:10px}.dewp-toggle-label .dewp-toggle-text{font-size:13px}}.dewp-form-group{margin-bottom:16px}.dewp-form-group:last-child{margin-bottom:0}.dewp-form-group.has-error .dewp-form-label{color:#ef4444}.dewp-form-group.has-error .dewp-form-input,.dewp-form-group.has-error .dewp-form-textarea,.dewp-form-group.has-error .dewp-form-select{border-color:#ef4444}.dewp-form-group.has-error .dewp-form-input:focus,.dewp-form-group.has-error .dewp-form-textarea:focus,.dewp-form-group.has-error .dewp-form-select:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.dewp-form-group.has-success .dewp-form-input,.dewp-form-group.has-success .dewp-form-textarea,.dewp-form-group.has-success .dewp-form-select{border-color:#10b981}.dewp-form-group.has-success .dewp-form-input:focus,.dewp-form-group.has-success .dewp-form-textarea:focus,.dewp-form-group.has-success .dewp-form-select:focus{box-shadow:0 0 0 3px rgba(16,185,129,.1)}.dewp-form-row{display:flex;flex-wrap:wrap;margin:0 -8px}.dewp-form-row .dewp-form-group{flex:1;margin:0 8px 16px;min-width:200px}.dewp-form-label{display:block;font-size:.875rem;font-weight:500;color:#111827;margin-bottom:4px;line-height:1.5}.dewp-form-label.required::after{content:" *";color:#ef4444}.dewp-form-label-inline{display:inline-block;margin-right:12px;margin-bottom:0}.dewp-form-input,.dewp-form-textarea,.dewp-form-select{display:block;width:100%;padding:8px 12px;font-size:1rem;line-height:1.5;color:#111827;background-color:#fff;border:1px solid #f3f4f6;border-radius:8px;transition:all .15s ease ease;box-sizing:border-box}.dewp-form-input:focus,.dewp-form-textarea:focus,.dewp-form-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dewp-form-input:disabled,.dewp-form-textarea:disabled,.dewp-form-select:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed;opacity:.6}.dewp-form-input::placeholder,.dewp-form-textarea::placeholder,.dewp-form-select::placeholder{color:#6b7280;opacity:1}.dewp-form-input.form-input-error,.dewp-form-textarea.form-input-error,.dewp-form-select.form-input-error{border-color:#ef4444}.dewp-form-input.form-input-error:focus,.dewp-form-textarea.form-input-error:focus,.dewp-form-select.form-input-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.dewp-form-input.form-input-success,.dewp-form-textarea.form-input-success,.dewp-form-select.form-input-success{border-color:#10b981}.dewp-form-input.form-input-success:focus,.dewp-form-textarea.form-input-success:focus,.dewp-form-select.form-input-success:focus{box-shadow:0 0 0 3px rgba(16,185,129,.1)}.dewp-form-input{height:40px}.dewp-form-input-sm{height:32px;padding:4px 8px;font-size:.875rem}.dewp-form-input-lg{height:48px;padding:12px 16px;font-size:1.25rem}.dewp-form-textarea{min-height:100px;resize:vertical}.dewp-form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px 12px;padding-right:24px;appearance:none}.dewp-form-select::-ms-expand{display:none}.dewp-form-check{display:flex;align-items:flex-start;margin-bottom:8px}.dewp-form-check:last-child{margin-bottom:0}.dewp-form-check .dewp-form-check-input{flex-shrink:0;width:18px;height:18px;margin:2px 8px 0 0;cursor:pointer}.dewp-form-check .dewp-form-check-label{font-size:1rem;line-height:1.5;color:#111827;cursor:pointer;user-select:none}.dewp-form-check-group .dewp-form-check{margin-bottom:8px}.dewp-form-checkbox .dewp-form-check-input{appearance:none;border:2px solid #e5e7eb;border-radius:4px;background-color:#fff;transition:all .15s ease ease}.dewp-form-checkbox .dewp-form-check-input:checked{background-color:#3b82f6;border-color:#3b82f6;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");background-size:12px;background-position:center;background-repeat:no-repeat}.dewp-form-checkbox .dewp-form-check-input:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dewp-form-checkbox .dewp-form-check-input:disabled{background-color:#f3f4f6;border-color:#f3f4f6;cursor:not-allowed;opacity:.6}.dewp-form-radio .dewp-form-check-input{appearance:none;border:2px solid #e5e7eb;border-radius:50%;background-color:#fff;transition:all .15s ease ease}.dewp-form-radio .dewp-form-check-input:checked{background-color:#3b82f6;border-color:#3b82f6;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='%23fff' d='M10 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z'/%3e%3c/svg%3e");background-size:8px;background-position:center;background-repeat:no-repeat}.dewp-form-radio .dewp-form-check-input:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.dewp-form-radio .dewp-form-check-input:disabled{background-color:#f3f4f6;border-color:#f3f4f6;cursor:not-allowed;opacity:.6}.dewp-form-file{position:relative;display:inline-block;width:100%}.dewp-form-file .dewp-form-file-input{position:absolute;left:-9999px;opacity:0;width:0;height:0}.dewp-form-file .dewp-form-file-label{display:flex;align-items:center;justify-content:center;width:100%;height:40px;padding:8px 12px;font-size:1rem;line-height:1.5;color:#111827;background-color:#fff;border:2px dashed #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s ease ease}.dewp-form-file .dewp-form-file-label:hover{border-color:#3b82f6;background-color:#f9fafb}.dewp-form-file .dewp-form-file-label .dewp-form-file-icon{margin-right:8px;color:#6b7280}.dewp-form-input-group{display:flex;align-items:stretch;width:100%}.dewp-form-input-group .dewp-form-input,.dewp-form-input-group .dewp-form-select{border-radius:0;border-right:none}.dewp-form-input-group .dewp-form-input:first-child,.dewp-form-input-group .dewp-form-select:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.dewp-form-input-group .dewp-form-input:last-child,.dewp-form-input-group .dewp-form-select:last-child{border-right:1px solid #f3f4f6;border-top-right-radius:8px;border-bottom-right-radius:8px}.dewp-form-input-group .dewp-form-input-group-text{display:flex;align-items:center;padding:8px 12px;font-size:.875rem;font-weight:500;color:#4b5563;background-color:#f9fafb;border:1px solid #f3f4f6;border-right:none;white-space:nowrap}.dewp-form-input-group .dewp-form-input-group-text:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.dewp-form-input-group .dewp-form-input-group-text:last-child{border-right:1px solid #f3f4f6;border-top-right-radius:8px;border-bottom-right-radius:8px}.dewp-form-help{display:block;font-size:.75rem;color:#6b7280;margin-top:4px;line-height:1.5}.dewp-form-error{display:block;font-size:.75rem;color:#ef4444;margin-top:4px;line-height:1.5}.dewp-form-success{display:block;font-size:.75rem;color:#10b981;margin-top:4px;line-height:1.5}.dewp-form-required{color:#ef4444}.dewp-form-disabled{opacity:.6;pointer-events:none}.dewp-form-readonly{background-color:#f3f4f6;cursor:not-allowed}@media(max-width: 767px){.dewp-form-row{flex-direction:column}.dewp-form-row .dewp-form-group{margin:0 0 16px 0;min-width:auto}.dewp-form-input-group{flex-direction:column}.dewp-form-input-group .dewp-form-input,.dewp-form-input-group .dewp-form-select,.dewp-form-input-group .dewp-form-input-group-text{border-radius:8px;border-right:1px solid #f3f4f6;margin-bottom:4px}.dewp-form-input-group .dewp-form-input:last-child,.dewp-form-input-group .dewp-form-select:last-child,.dewp-form-input-group .dewp-form-input-group-text:last-child{margin-bottom:0}}
|
package/dist/js/dewp.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var DEWP=function(t){"use strict";function e(t,e,n,o){t.addEventListener(e,n,o)}function n(){return"loading"!==document.readyState}function o(t){n()?t():e(document,"DOMContentLoaded",t,{once:!0})}"undefined"!=typeof window&&(window.DEWP={});const s=new class{constructor(){this.container=null,this.init()}init(){this.createContainer()}createContainer(){const t=document.getElementById("dewp-toast-container");t&&t.remove(),this.container=document.createElement("div"),this.container.id="dewp-toast-container",this.container.className="toast-container toast-container-top-right",document.body.appendChild(this.container)}show(t,e="info",n=5e3){console.log("🔔 토스트 표시:",{message:t,type:e,duration:n}),this.container||this.createContainer();const o="dewp-toast-"+Date.now(),s=this.createToastElement(o,t,e);try{Array.from(this.container.querySelectorAll(".toast .toast-message")).some(e=>e.textContent===String(t))&&this.hideAll()}catch(t){}return this.container.appendChild(s),requestAnimationFrame(()=>{s.classList.add("show"),s.classList.add("toast-slide-in")}),n>0&&setTimeout(()=>{this.hide(o)},n),o}createToastElement(t,e,n){const o=document.createElement("div");o.id=t,o.className=`toast toast-${n}`;const s=document.createElement("div");s.className="toast-content";const i=document.createElement("span");i.className="toast-icon",i.innerHTML=this.getTypeIcon(n);const a=document.createElement("div");a.className="toast-message",a.textContent=e;const r=document.createElement("button");return r.className="toast-close",r.type="button",r.innerHTML="<span>×</span>",r.setAttribute("aria-label","토스트 닫기"),r.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),this.hide(t)}),s.appendChild(i),s.appendChild(a),s.appendChild(r),o.appendChild(s),o}getTypeIcon(t){return{info:"ℹ️",success:"✅",warning:"⚠️",error:"❌"}[t]}hide(t){const e=document.getElementById(t);e&&(e.classList.remove("show","toast-slide-in"),e.classList.add("toast-slide-out"),setTimeout(()=>{e.parentNode&&e.parentNode.removeChild(e)},300))}hideAll(){if(this.container){this.container.querySelectorAll(".toast").forEach(t=>{const e=t.id;e&&this.hide(e)})}}success(t,e){return this.show(t,"success",e)}error(t,e){return this.show(t,"error",e)}warning(t,e){return this.show(t,"warning",e)}info(t,e){return this.show(t,"info",e)}};const i=new class{constructor(){this.modals=new Map,this.activeModal=null,this.backdrop=null,this.zIndex=1050,this.init()}init(){this.createBackdrop(),this.bindEvents()}createBackdrop(){this.backdrop=document.createElement("div"),this.backdrop.className="dewp-modal-backdrop",document.body.appendChild(this.backdrop)}bindEvents(){document.addEventListener("keydown",t=>{"Escape"===t.key&&this.activeModal&&this.close(this.activeModal.id)}),this.backdrop&&this.backdrop.addEventListener("click",()=>{this.activeModal&&this.close(this.activeModal.id)})}create(t={}){const e="dewp-modal-"+Date.now(),n=this.createModalElement(e,t);return this.modals.set(e,n),document.body.appendChild(n),e}createModalElement(t,e){const n=document.createElement("div");n.id=t,n.className="dewp-modal";const o=e.size||"md";if(n.className=`dewp-modal ${{sm:"dewp-modal-sm",md:"dewp-modal-md",lg:"dewp-modal-lg",xl:"dewp-modal-xl",full:"dewp-modal-full"}[o]}`,e.title){const o=document.createElement("div");o.className="dewp-modal-header";const s=document.createElement("h3");if(s.textContent=e.title,o.appendChild(s),!1!==e.closable){const e=document.createElement("button");e.className="dewp-modal-close",e.innerHTML="×",e.addEventListener("click",()=>{this.close(t)}),o.appendChild(e)}n.appendChild(o)}if(e.content){const t=document.createElement("div");t.className="dewp-modal-body","string"==typeof e.content?t.innerHTML=e.content:t.appendChild(e.content),n.appendChild(t)}if(e.showCancel||e.confirmText){const o=document.createElement("div");if(o.className="dewp-modal-footer",e.showCancel){const n=document.createElement("button");n.className="dewp-modal-cancel",n.textContent=e.cancelText||"취소",n.addEventListener("click",()=>{e.onCancel&&e.onCancel(),this.close(t)}),o.appendChild(n)}if(e.confirmText){const n=document.createElement("button");n.className="dewp-modal-confirm",n.textContent=e.confirmText,n.addEventListener("click",()=>{e.onConfirm&&e.onConfirm(),this.close(t)}),o.appendChild(n)}n.appendChild(o)}return n}open(t){const e=this.modals.get(t);e&&(this.activeModal=e,this.showBackdrop(),e.style.opacity="1",e.style.visibility="visible",e.style.transform="translate(-50%, -50%) scale(1)",e.querySelector("button")&&e.querySelector("button").focus())}close(t){const e=this.modals.get(t);e&&(e.style.opacity="0",e.style.visibility="hidden",e.style.transform="translate(-50%, -50%) scale(0.9)",setTimeout(()=>{e.parentNode&&e.parentNode.removeChild(e),this.modals.delete(t),this.activeModal===e&&(this.activeModal=null,this.hideBackdrop())},300))}showBackdrop(){this.backdrop&&(this.backdrop.style.opacity="1",this.backdrop.style.visibility="visible")}hideBackdrop(){this.backdrop&&(this.backdrop.style.opacity="0",this.backdrop.style.visibility="hidden")}show(t={}){const e=this.create(t);return this.open(e),e}confirm(t){const e=this.create({title:t.title||"확인",content:t.message,confirmText:t.confirmText||"확인",cancelText:"취소",showCancel:!0,onConfirm:t.onConfirm,onCancel:t.onCancel});this.open(e)}alert(t,e){const n=this.create({title:e||"알림",content:t,confirmText:"확인"});this.open(n)}getModal(t){return this.modals.get(t)}isOpen(t){const e=this.modals.get(t);return!!e&&"visible"===e.style.visibility}closeAll(){this.modals.forEach((t,e)=>{this.close(e)})}};const a=new class{constructor(){this.dropdowns=new Map,this.activeDropdown=null,this.zIndex=1e3,this.init()}init(){this.bindGlobalEvents()}bindGlobalEvents(){document.addEventListener("click",t=>{if(this.activeDropdown){const e=t.target,n=this.activeDropdown.trigger.contains(e),o=this.activeDropdown.element.contains(e);n||o||this.hide(this.activeDropdown.id)}}),document.addEventListener("keydown",t=>{"Escape"===t.key&&this.activeDropdown&&this.hide(this.activeDropdown.id)}),window.addEventListener("resize",()=>{this.activeDropdown&&this.positionDropdown(this.activeDropdown)}),window.addEventListener("scroll",()=>{this.activeDropdown&&this.positionDropdown(this.activeDropdown)},!0)}create(t){const e="dewp-dropdown-"+Date.now();console.log("🔽 드롭다운 생성 시작:",e);const n="string"==typeof t.trigger?document.querySelector(t.trigger):t.trigger;if(!n)throw console.error("🔽 드롭다운 트리거 요소를 찾을 수 없음:",t.trigger),new Error("드롭다운 트리거 요소를 찾을 수 없습니다.");console.log("🔽 트리거 요소 찾음:",n);const o=this.findDropdownContainer(n);if(!o)throw console.error("🔽 드롭다운 컨테이너를 찾을 수 없음"),new Error("드롭다운 컨테이너를 찾을 수 없습니다. .dropdown 클래스가 있는 부모 요소가 필요합니다.");console.log("🔽 컨테이너 찾음:",o);const s=this.createDropdownElement(e,t);console.log("🔽 드롭다운 요소 생성됨:",s);const i={id:e,element:s,options:t,trigger:n,container:o};return this.dropdowns.set(e,i),console.log("🔽 드롭다운 인스턴스 저장됨:",e),o.appendChild(s),console.log("🔽 컨테이너에 드롭다운 추가됨"),this.bindTriggerEvents(i),console.log("🔽 트리거 이벤트 바인딩 완료"),this.updateTriggerText(i,t.placeholder||"선택하세요"),console.log("🔽 초기 텍스트 설정 완료"),console.log("🔽 드롭다운 생성 완료:",e),e}findDropdownContainer(t){let e=t.parentElement;for(;e;){if(e.classList.contains("dropdown"))return e;e=e.parentElement}return null}createDropdownElement(t,e){const n=document.createElement("div");return n.id=t,n.className="dropdown-menu","string"==typeof e.content?n.innerHTML=e.content:n.appendChild(e.content),this.bindDropdownItemEvents(n,t),n}bindDropdownItemEvents(t,e){t.querySelectorAll(".dropdown-item").forEach(t=>{t.addEventListener("click",n=>{n.preventDefault(),n.stopPropagation();const o=t.getAttribute("data-value")||t.textContent||"",s=t.textContent||"";this.selectItem(e,o,s),this.hide(e)})})}selectItem(t,e,n){const o=this.dropdowns.get(t);o&&(o.selectedValue=e,o.selectedText=n,this.updateTriggerText(o,n),o.options.onSelect&&o.options.onSelect(e,n))}updateTriggerText(t,e){const n=t.trigger,o=n.querySelector(".dropdown-text");if(o)o.textContent=e;else{const t=Array.from(n.childNodes).find(t=>{var e;return t.nodeType===Node.TEXT_NODE&&(null===(e=t.textContent)||void 0===e?void 0:e.trim())});if(t)t.textContent=e;else{const t=document.createTextNode(e);n.insertBefore(t,n.firstChild)}}}bindTriggerEvents(t){const{trigger:e,id:n}=t;e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation(),this.activeDropdown&&this.activeDropdown.id===n?this.hide(n):(this.activeDropdown&&this.hide(this.activeDropdown.id),this.show(n))})}show(t){const e=this.dropdowns.get(t);e&&(this.activeDropdown&&this.activeDropdown.id!==t&&this.hide(this.activeDropdown.id),this.activeDropdown=e,this.positionDropdown(e),e.element.classList.add("show"),e.options.onShow&&e.options.onShow())}hide(t){const e=this.dropdowns.get(t);e&&(e.element.classList.remove("show"),this.activeDropdown&&this.activeDropdown.id===t&&(this.activeDropdown=null),e.options.onHide&&e.options.onHide())}positionDropdown(t){const{element:e,trigger:n,options:o}=t,s=o.position||"bottom",i=o.align||"start",a=o.offset||8,r=n.getBoundingClientRect(),c=t.container.getBoundingClientRect(),d=e.getBoundingClientRect();let l=0,h=0;switch(s){case"bottom":l=r.bottom-c.top+a;break;case"top":l=r.top-c.top-d.height-a;break;case"left":h=r.left-c.left-d.width-a,l=r.top-c.top+r.height/2-d.height/2;break;case"right":h=r.right-c.left+a,l=r.top-c.top+r.height/2-d.height/2}switch(i){case"center":"top"!==s&&"bottom"!==s||(h=r.left-c.left+r.width/2-d.width/2);break;case"end":"top"!==s&&"bottom"!==s||(h=r.right-c.left-d.width);break;default:"top"!==s&&"bottom"!==s||(h=r.left-c.left)}e.style.top=`${l}px`,e.style.left=`${h}px`,e.style.zIndex=""+this.zIndex++}toggle(t){this.dropdowns.get(t)&&(this.activeDropdown&&this.activeDropdown.id===t?this.hide(t):this.show(t))}getSelectedValue(t){const e=this.dropdowns.get(t);return null==e?void 0:e.selectedValue}getSelectedText(t){const e=this.dropdowns.get(t);return null==e?void 0:e.selectedText}setValue(t,e,n){this.dropdowns.get(t)&&this.selectItem(t,e,n)}getDropdown(t){var e;return null===(e=this.dropdowns.get(t))||void 0===e?void 0:e.element}isOpen(t){const e=this.dropdowns.get(t);return!!e&&e.element.classList.contains("show")}closeAll(){this.dropdowns.forEach((t,e)=>{this.hide(e)})}destroy(t){const e=this.dropdowns.get(t);e&&(this.hide(t),e.element.parentNode&&e.element.parentNode.removeChild(e.element),this.dropdowns.delete(t))}};const r=new class{constructor(){this.tabInstances=new Map,this.autoInit()}autoInit(){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>this.autoInitTabs()):this.autoInitTabs()}autoInitTabs(){document.querySelectorAll("[data-tabs]").forEach(t=>{t.getAttribute("data-tabs")||t.id||Date.now(),this.initTabs(t,{container:t})})}initTabs(t,e){const n=t.id||"tabs-"+Date.now();this.tabInstances.has(n)&&this.destroy(n);const o=this.findTabElements(t),s=this.findPanelElements(t);if(0===o.size||0===s.size)throw new Error("탭 또는 패널 요소를 찾을 수 없습니다.");const i={id:n,container:t,options:e,tabs:o,panels:s,activeTabId:null};this.tabInstances.set(n,i),this.bindTabEvents(i);const a=e.activeTab||Array.from(o.keys())[0];return this.activateTab(n,a),n}findTabElements(t){const e=new Map;if(t.querySelectorAll("[data-tab]").forEach(t=>{const n=t.getAttribute("data-tab");n&&e.set(n,t)}),0===e.size){t.querySelectorAll(".tab-btn").forEach((t,n)=>{const o=t.getAttribute("data-tab")||`tab-${n}`;e.set(o,t)})}return e}findPanelElements(t){const e=new Map;if(t.querySelectorAll("[data-panel]").forEach(t=>{const n=t.getAttribute("data-panel");n&&e.set(n,t)}),0===e.size){t.querySelectorAll(".tab-panel").forEach((t,n)=>{const o=t.getAttribute("data-panel")||`panel-${n}`;e.set(o,t)})}return e}bindTabEvents(t){const{tabs:e,container:n}=t;e.forEach((e,n)=>{e.addEventListener("click",e=>{e.preventDefault(),this.activateTab(t.id,n)})})}activateTab(t,e){const n=this.tabInstances.get(t);if(!n)return;const{tabs:o,panels:s,activeTabId:i,options:a}=n,r=o.get(e),c=s.get(e);if(!r||!c)return;if(i){const t=o.get(i),e=s.get(i);t&&(t.classList.remove("active"),t.setAttribute("aria-selected","false")),e&&(e.classList.remove("active"),e.setAttribute("aria-hidden","true"))}r.classList.add("active"),r.setAttribute("aria-selected","true"),c.classList.add("active"),c.setAttribute("aria-hidden","false");const d=n.activeTabId;n.activeTabId=e,a.onTabChange&&a.onTabChange(e,d||void 0),!1!==a.animation&&this.animateTabChange(c)}animateTabChange(t){t.style.opacity="0",t.style.transform="translateY(10px)",requestAnimationFrame(()=>{t.style.transition="all 0.3s ease",t.style.opacity="1",t.style.transform="translateY(0)"})}getActiveTab(t){const e=this.tabInstances.get(t);return e?e.activeTabId:null}getTabInstance(t){return this.tabInstances.get(t)}destroy(t){const e=this.tabInstances.get(t);e&&(e.tabs.forEach(t=>{t.replaceWith(t.cloneNode(!0))}),this.tabInstances.delete(t))}destroyAll(){this.tabInstances.forEach((t,e)=>{this.destroy(e)})}},c={qs:function(t,e=document){return e.querySelector(t)},qsa:function(t,e=document){return Array.from(e.querySelectorAll(t))},create:function(t,e={}){const n=document.createElement(t);return Object.assign(n,e),n},addClass:function(t,e){t.classList.add(e)},removeClass:function(t,e){t.classList.remove(e)},toggleClass:function(t,e,n){return t.classList.toggle(e,n)},hasClass:function(t,e){return t.classList.contains(e)},setText:function(t,e){t.textContent=e},setHTML:function(t,e){t.innerHTML=e},on:e,off:function(t,e,n,o){t.removeEventListener(e,n,o)},remove:function(t){t.remove()},append:function(t,e){t.appendChild(e)},insertBefore:function(t,e,n){t.insertBefore(e,n)},clearChildren:function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},setStyle:function(t,e,n){t.style.setProperty(e,n)},setData:function(t,e,n){t.setAttribute(`data-${e}`,n)},getData:function(t,e){return t.getAttribute(`data-${e}`)},isDOMReady:n,onDOMReady:o,isElementVisible:function(t,e=0){return new Promise(n=>{const o=new IntersectionObserver(([t])=>{o.disconnect(),n(t.isIntersecting)},{threshold:e});o.observe(t)})},scrollToElement:function(t,e="smooth"){t.scrollIntoView({behavior:e,block:"start"})},getElementRect:function(t){return t.getBoundingClientRect()},isChildOf:function(t,e){return e.contains(t)},showToast:(t,e,n)=>s.show(t,e||"info",n),showSuccessToast:(t,e)=>s.success(t,e),showWarningToast:(t,e)=>s.warning(t,e),showErrorToast:(t,e)=>s.error(t,e),showInfoToast:(t,e)=>s.info(t,e),createModal:(t={})=>i.create(t),openModal:t=>{i.open(t)},closeModal:t=>{i.close(t)},showModal:(t={})=>i.show(t),showConfirmModal:t=>{i.confirm(t)},createDropdown:t=>a.create(t),toggleDropdown:t=>{a.toggle(t)},showDropdown:t=>{a.show(t)},hideDropdown:t=>{a.hide(t)},closeAllDropdowns:()=>{a.closeAll()},getSelectedValue:t=>a.getSelectedValue(t),getSelectedText:t=>a.getSelectedText(t),setDropdownValue:(t,e,n)=>a.setValue(t,e,n),initTabs:(t,e)=>r.initTabs(t,e||{container:t}),activateTab:(t,e)=>{r.activateTab(t,e)},getActiveTab:t=>r.getActiveTab(t),getTabInstance:t=>r.getTabInstance(t),destroyTabs:t=>{r.destroy(t)},ready:o,version:"1.0.0",info:{name:"DesignBase WordPress Library",description:"간단하고 강력한 프론트엔드 라이브러리",version:"1.0.0",author:"DesignBase",license:"MIT"}};if("undefined"!=typeof window){const t=window.DEWP={};Object.keys(c).forEach(e=>{t[e]=c[e]}),console.log("🚀 DEWP 라이브러리 전역 객체 설정 완료"),console.log("window.DEWP:",window.DEWP),console.log("사용 가능한 함수들:",Object.keys(window.DEWP))}return t.DEWP=c,t}({});
|
|
1
|
+
var DEWP=function(t){"use strict";function e(t,e,n,o){t.addEventListener(e,n,o)}function n(){return"loading"!==document.readyState}function o(t){n()?t():e(document,"DOMContentLoaded",t,{once:!0})}"undefined"!=typeof window&&(window.DEWP={});const s=new class{constructor(){this.container=null,this.init()}init(){this.createContainer()}createContainer(){const t=document.getElementById("dewp-toast-container");t&&t.remove(),this.container=document.createElement("div"),this.container.id="dewp-toast-container",this.container.className="dewp-toast-container dewp-toast-container-top-right",document.body.appendChild(this.container)}show(t,e="info",n=5e3,o="md"){console.log("🔔 토스트 표시:",{message:t,type:e,duration:n,size:o}),this.container||this.createContainer();const s="dewp-toast-"+Date.now(),i=this.createToastElement(s,t,e,o);try{Array.from(this.container.querySelectorAll(".dewp-toast .dewp-toast-message")).some(e=>e.textContent===String(t))&&this.hideAll()}catch(t){}return this.container.appendChild(i),requestAnimationFrame(()=>{i.classList.add("show"),i.classList.add("toast-slide-in")}),n>0&&setTimeout(()=>{this.hide(s)},n),s}createToastElement(t,e,n,o="md"){const s=document.createElement("div");s.id=t,s.className=`dewp-toast dewp-toast-${n} dewp-toast-${o}`;const i=document.createElement("div");i.className="dewp-toast-content";const a=document.createElement("span");a.className="dewp-toast-icon",a.innerHTML=this.getTypeIcon(n);const r=document.createElement("div");r.className="dewp-toast-message",r.textContent=e;const c=document.createElement("button");return c.className="dewp-toast-close",c.type="button",c.innerHTML="<span>×</span>",c.setAttribute("aria-label","토스트 닫기"),c.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),this.hide(t)}),i.appendChild(a),i.appendChild(r),i.appendChild(c),s.appendChild(i),s}getTypeIcon(t){return{info:"ℹ️",success:"✅",warning:"⚠️",error:"❌"}[t]}hide(t){const e=document.getElementById(t);e&&(e.classList.remove("show","toast-slide-in"),e.classList.add("toast-slide-out"),setTimeout(()=>{e.parentNode&&e.parentNode.removeChild(e)},300))}hideAll(){if(this.container){this.container.querySelectorAll(".dewp-toast").forEach(t=>{const e=t.id;e&&this.hide(e)})}}success(t,e,n){return this.show(t,"success",e,n)}error(t,e,n){return this.show(t,"error",e,n)}warning(t,e,n){return this.show(t,"warning",e,n)}info(t,e,n){return this.show(t,"info",e,n)}};const i=new class{constructor(){this.modals=new Map,this.activeModal=null,this.backdrop=null,this.zIndex=1050,this.init()}init(){this.createBackdrop(),this.bindEvents()}createBackdrop(){this.backdrop=document.createElement("div"),this.backdrop.className="dewp-modal-backdrop",document.body.appendChild(this.backdrop)}bindEvents(){document.addEventListener("keydown",t=>{"Escape"===t.key&&this.activeModal&&this.close(this.activeModal.id)}),this.backdrop&&this.backdrop.addEventListener("click",()=>{this.activeModal&&this.close(this.activeModal.id)})}create(t={}){const e="dewp-modal-"+Date.now(),n=this.createModalElement(e,t);return this.modals.set(e,n),document.body.appendChild(n),e}createModalElement(t,e){const n=document.createElement("div");n.id=t,n.className="dewp-modal";const o=e.size||"md";if(n.className=`dewp-modal ${{sm:"dewp-modal-sm",md:"dewp-modal-md",lg:"dewp-modal-lg",xl:"dewp-modal-xl",full:"dewp-modal-full"}[o]}`,e.title){const o=document.createElement("div");o.className="dewp-modal-header";const s=document.createElement("h3");if(s.textContent=e.title,o.appendChild(s),!1!==e.closable){const e=document.createElement("button");e.className="dewp-modal-close",e.innerHTML="×",e.addEventListener("click",()=>{this.close(t)}),o.appendChild(e)}n.appendChild(o)}if(e.content){const t=document.createElement("div");t.className="dewp-modal-body","string"==typeof e.content?t.innerHTML=e.content:t.appendChild(e.content),n.appendChild(t)}if(e.showCancel||e.confirmText){const o=document.createElement("div");if(o.className="dewp-modal-footer",e.showCancel){const n=document.createElement("button");n.className="dewp-modal-cancel",n.textContent=e.cancelText||"취소",n.addEventListener("click",()=>{e.onCancel&&e.onCancel(),this.close(t)}),o.appendChild(n)}if(e.confirmText){const n=document.createElement("button");n.className="dewp-modal-confirm",n.textContent=e.confirmText,n.addEventListener("click",()=>{e.onConfirm&&e.onConfirm(),this.close(t)}),o.appendChild(n)}n.appendChild(o)}return n}open(t){const e=this.modals.get(t);e&&(this.activeModal=e,this.showBackdrop(),e.style.opacity="1",e.style.visibility="visible",e.style.transform="translate(-50%, -50%) scale(1)",e.querySelector("button")&&e.querySelector("button").focus())}close(t){const e=this.modals.get(t);e&&(e.style.opacity="0",e.style.visibility="hidden",e.style.transform="translate(-50%, -50%) scale(0.9)",setTimeout(()=>{e.parentNode&&e.parentNode.removeChild(e),this.modals.delete(t),this.activeModal===e&&(this.activeModal=null,this.hideBackdrop())},300))}showBackdrop(){this.backdrop&&(this.backdrop.style.opacity="1",this.backdrop.style.visibility="visible")}hideBackdrop(){this.backdrop&&(this.backdrop.style.opacity="0",this.backdrop.style.visibility="hidden")}show(t={}){const e=this.create(t);return this.open(e),e}confirm(t){const e=this.create({title:t.title||"확인",content:t.message,confirmText:t.confirmText||"확인",cancelText:"취소",showCancel:!0,onConfirm:t.onConfirm,onCancel:t.onCancel});this.open(e)}alert(t,e){const n=this.create({title:e||"알림",content:t,confirmText:"확인"});this.open(n)}getModal(t){return this.modals.get(t)}isOpen(t){const e=this.modals.get(t);return!!e&&"visible"===e.style.visibility}closeAll(){this.modals.forEach((t,e)=>{this.close(e)})}};const a=new class{constructor(){this.dropdowns=new Map,this.activeDropdown=null,this.zIndex=1e3,this.init()}init(){this.bindGlobalEvents()}bindGlobalEvents(){document.addEventListener("click",t=>{if(this.activeDropdown){const e=t.target,n=this.activeDropdown.trigger.contains(e),o=this.activeDropdown.element.contains(e);n||o||this.hide(this.activeDropdown.id)}}),document.addEventListener("keydown",t=>{"Escape"===t.key&&this.activeDropdown&&this.hide(this.activeDropdown.id)}),window.addEventListener("resize",()=>{this.activeDropdown&&this.positionDropdown(this.activeDropdown)}),window.addEventListener("scroll",()=>{this.activeDropdown&&this.positionDropdown(this.activeDropdown)},!0)}create(t){const e="dewp-dropdown-"+Date.now();console.log("🔽 드롭다운 생성 시작:",e);const n="string"==typeof t.trigger?document.querySelector(t.trigger):t.trigger;if(!n)throw console.error("🔽 드롭다운 트리거 요소를 찾을 수 없음:",t.trigger),new Error("드롭다운 트리거 요소를 찾을 수 없습니다.");console.log("🔽 트리거 요소 찾음:",n);const o=this.findDropdownContainer(n);if(!o)throw console.error("🔽 드롭다운 컨테이너를 찾을 수 없음"),new Error("드롭다운 컨테이너를 찾을 수 없습니다. .dropdown 클래스가 있는 부모 요소가 필요합니다.");console.log("🔽 컨테이너 찾음:",o);const s=this.createDropdownElement(e,t);console.log("🔽 드롭다운 요소 생성됨:",s);const i={id:e,element:s,options:t,trigger:n,container:o};return this.dropdowns.set(e,i),console.log("🔽 드롭다운 인스턴스 저장됨:",e),o.appendChild(s),console.log("🔽 컨테이너에 드롭다운 추가됨"),this.bindTriggerEvents(i),console.log("🔽 트리거 이벤트 바인딩 완료"),this.updateTriggerText(i,t.placeholder||"선택하세요"),console.log("🔽 초기 텍스트 설정 완료"),console.log("🔽 드롭다운 생성 완료:",e),e}findDropdownContainer(t){let e=t.parentElement;for(;e;){if(e.classList.contains("dropdown"))return e;e=e.parentElement}return null}createDropdownElement(t,e){const n=document.createElement("div");return n.id=t,n.className="dewp-dropdown-menu","string"==typeof e.content?n.innerHTML=e.content:n.appendChild(e.content),this.bindDropdownItemEvents(n,t),n}bindDropdownItemEvents(t,e){t.querySelectorAll(".dewp-dropdown-item").forEach(t=>{t.addEventListener("click",n=>{n.preventDefault(),n.stopPropagation();const o=t.getAttribute("data-value")||t.textContent||"",s=t.textContent||"";this.selectItem(e,o,s),this.hide(e)})})}selectItem(t,e,n){const o=this.dropdowns.get(t);o&&(o.selectedValue=e,o.selectedText=n,this.updateTriggerText(o,n),o.options.onSelect&&o.options.onSelect(e,n))}updateTriggerText(t,e){const n=t.trigger,o=n.querySelector(".dewp-dropdown-text");if(o)o.textContent=e;else{const t=Array.from(n.childNodes).find(t=>{var e;return t.nodeType===Node.TEXT_NODE&&(null===(e=t.textContent)||void 0===e?void 0:e.trim())});if(t)t.textContent=e;else{const t=document.createTextNode(e);n.insertBefore(t,n.firstChild)}}}bindTriggerEvents(t){const{trigger:e,id:n}=t;e.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation(),this.activeDropdown&&this.activeDropdown.id===n?this.hide(n):(this.activeDropdown&&this.hide(this.activeDropdown.id),this.show(n))})}show(t){const e=this.dropdowns.get(t);e&&(this.activeDropdown&&this.activeDropdown.id!==t&&this.hide(this.activeDropdown.id),this.activeDropdown=e,this.positionDropdown(e),e.element.classList.add("show"),e.options.onShow&&e.options.onShow())}hide(t){const e=this.dropdowns.get(t);e&&(e.element.classList.remove("show"),this.activeDropdown&&this.activeDropdown.id===t&&(this.activeDropdown=null),e.options.onHide&&e.options.onHide())}positionDropdown(t){const{element:e,trigger:n,options:o}=t,s=o.position||"bottom",i=o.align||"start",a=o.offset||8,r=n.getBoundingClientRect(),c=t.container.getBoundingClientRect(),d=e.getBoundingClientRect();let l=0,h=0;switch(s){case"bottom":l=r.bottom-c.top+a;break;case"top":l=r.top-c.top-d.height-a;break;case"left":h=r.left-c.left-d.width-a,l=r.top-c.top+r.height/2-d.height/2;break;case"right":h=r.right-c.left+a,l=r.top-c.top+r.height/2-d.height/2}switch(i){case"center":"top"!==s&&"bottom"!==s||(h=r.left-c.left+r.width/2-d.width/2);break;case"end":"top"!==s&&"bottom"!==s||(h=r.right-c.left-d.width);break;default:"top"!==s&&"bottom"!==s||(h=r.left-c.left)}e.style.top=`${l}px`,e.style.left=`${h}px`,e.style.zIndex=""+this.zIndex++}toggle(t){this.dropdowns.get(t)&&(this.activeDropdown&&this.activeDropdown.id===t?this.hide(t):this.show(t))}getSelectedValue(t){const e=this.dropdowns.get(t);return null==e?void 0:e.selectedValue}getSelectedText(t){const e=this.dropdowns.get(t);return null==e?void 0:e.selectedText}setValue(t,e,n){this.dropdowns.get(t)&&this.selectItem(t,e,n)}getDropdown(t){var e;return null===(e=this.dropdowns.get(t))||void 0===e?void 0:e.element}isOpen(t){const e=this.dropdowns.get(t);return!!e&&e.element.classList.contains("show")}closeAll(){this.dropdowns.forEach((t,e)=>{this.hide(e)})}destroy(t){const e=this.dropdowns.get(t);e&&(this.hide(t),e.element.parentNode&&e.element.parentNode.removeChild(e.element),this.dropdowns.delete(t))}};const r=new class{constructor(){this.tabInstances=new Map,this.autoInit()}autoInit(){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>this.autoInitTabs()):this.autoInitTabs()}autoInitTabs(){document.querySelectorAll("[data-tabs]").forEach(t=>{t.getAttribute("data-tabs")||t.id||Date.now(),this.initTabs(t,{container:t})})}initTabs(t,e){const n=t.id||"tabs-"+Date.now();this.tabInstances.has(n)&&this.destroy(n);const o=this.findTabElements(t),s=this.findPanelElements(t);if(0===o.size||0===s.size)throw new Error("탭 또는 패널 요소를 찾을 수 없습니다.");const i={id:n,container:t,options:e,tabs:o,panels:s,activeTabId:null};this.tabInstances.set(n,i),this.bindTabEvents(i);const a=e.activeTab||Array.from(o.keys())[0];return this.activateTab(n,a),n}findTabElements(t){const e=new Map;if(t.querySelectorAll("[data-tab]").forEach(t=>{const n=t.getAttribute("data-tab");n&&e.set(n,t)}),0===e.size){t.querySelectorAll(".dewp-tab-btn").forEach((t,n)=>{const o=t.getAttribute("data-tab")||`tab-${n}`;e.set(o,t)})}return e}findPanelElements(t){const e=new Map;if(t.querySelectorAll("[data-panel]").forEach(t=>{const n=t.getAttribute("data-panel");n&&e.set(n,t)}),0===e.size){t.querySelectorAll(".dewp-tab-panel").forEach((t,n)=>{const o=t.getAttribute("data-panel")||`panel-${n}`;e.set(o,t)})}return e}bindTabEvents(t){const{tabs:e,container:n}=t;e.forEach((e,n)=>{e.addEventListener("click",e=>{e.preventDefault(),this.activateTab(t.id,n)})})}activateTab(t,e){const n=this.tabInstances.get(t);if(!n)return;const{tabs:o,panels:s,activeTabId:i,options:a}=n,r=o.get(e),c=s.get(e);if(!r||!c)return;if(i){const t=o.get(i),e=s.get(i);t&&(t.classList.remove("active"),t.setAttribute("aria-selected","false")),e&&(e.classList.remove("active"),e.setAttribute("aria-hidden","true"))}r.classList.add("active"),r.setAttribute("aria-selected","true"),c.classList.add("active"),c.setAttribute("aria-hidden","false");const d=n.activeTabId;n.activeTabId=e,a.onTabChange&&a.onTabChange(e,d||void 0),!1!==a.animation&&this.animateTabChange(c)}animateTabChange(t){t.style.opacity="0",t.style.transform="translateY(10px)",requestAnimationFrame(()=>{t.style.transition="all 0.3s ease",t.style.opacity="1",t.style.transform="translateY(0)"})}getActiveTab(t){const e=this.tabInstances.get(t);return e?e.activeTabId:null}getTabInstance(t){return this.tabInstances.get(t)}destroy(t){const e=this.tabInstances.get(t);e&&(e.tabs.forEach(t=>{t.replaceWith(t.cloneNode(!0))}),this.tabInstances.delete(t))}destroyAll(){this.tabInstances.forEach((t,e)=>{this.destroy(e)})}},c={qs:function(t,e=document){return e.querySelector(t)},qsa:function(t,e=document){return Array.from(e.querySelectorAll(t))},create:function(t,e={}){const n=document.createElement(t);return Object.assign(n,e),n},addClass:function(t,e){t.classList.add(e)},removeClass:function(t,e){t.classList.remove(e)},toggleClass:function(t,e,n){return t.classList.toggle(e,n)},hasClass:function(t,e){return t.classList.contains(e)},setText:function(t,e){t.textContent=e},setHTML:function(t,e){t.innerHTML=e},on:e,off:function(t,e,n,o){t.removeEventListener(e,n,o)},remove:function(t){t.remove()},append:function(t,e){t.appendChild(e)},insertBefore:function(t,e,n){t.insertBefore(e,n)},clearChildren:function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},setStyle:function(t,e,n){t.style.setProperty(e,n)},setData:function(t,e,n){t.setAttribute(`data-${e}`,n)},getData:function(t,e){return t.getAttribute(`data-${e}`)},isDOMReady:n,onDOMReady:o,isElementVisible:function(t,e=0){return new Promise(n=>{const o=new IntersectionObserver(([t])=>{o.disconnect(),n(t.isIntersecting)},{threshold:e});o.observe(t)})},scrollToElement:function(t,e="smooth"){t.scrollIntoView({behavior:e,block:"start"})},getElementRect:function(t){return t.getBoundingClientRect()},isChildOf:function(t,e){return e.contains(t)},showToast:(t,e,n,o)=>s.show(t,e||"info",n,o),showSuccessToast:(t,e,n)=>s.success(t,e,n),showWarningToast:(t,e,n)=>s.warning(t,e,n),showErrorToast:(t,e,n)=>s.error(t,e,n),showInfoToast:(t,e,n)=>s.info(t,e,n),createModal:(t={})=>i.create(t),openModal:t=>{i.open(t)},closeModal:t=>{i.close(t)},showModal:(t={})=>i.show(t),showConfirmModal:t=>{i.confirm(t)},createDropdown:t=>a.create(t),toggleDropdown:t=>{a.toggle(t)},showDropdown:t=>{a.show(t)},hideDropdown:t=>{a.hide(t)},closeAllDropdowns:()=>{a.closeAll()},getSelectedValue:t=>a.getSelectedValue(t),getSelectedText:t=>a.getSelectedText(t),setDropdownValue:(t,e,n)=>a.setValue(t,e,n),initTabs:(t,e)=>r.initTabs(t,e||{container:t}),activateTab:(t,e)=>{r.activateTab(t,e)},getActiveTab:t=>r.getActiveTab(t),getTabInstance:t=>r.getTabInstance(t),destroyTabs:t=>{r.destroy(t)},ready:o,version:"1.0.0",info:{name:"DesignBase WordPress Library",description:"간단하고 강력한 프론트엔드 라이브러리",version:"1.0.0",author:"DesignBase",license:"MIT"}};if("undefined"!=typeof window){const t=window.DEWP={};Object.keys(c).forEach(e=>{t[e]=c[e]}),console.log("🚀 DEWP 라이브러리 전역 객체 설정 완료"),console.log("window.DEWP:",window.DEWP),console.log("사용 가능한 함수들:",Object.keys(window.DEWP))}return t.DEWP=c,t}({});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "designbase-wp-library",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Reusable CSS/JS kit for WordPress plugins (frontend/admin).",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"preview": "npm run build && npm pack --dry-run"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
+
"@changesets/cli": "^2.29.6",
|
|
35
36
|
"@rollup/plugin-commonjs": "^26.0.0",
|
|
36
37
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
37
38
|
"@rollup/plugin-terser": "^0.4.4",
|
|
@@ -49,4 +50,4 @@
|
|
|
49
50
|
"tslib": "^2.6.2",
|
|
50
51
|
"typescript": "^5.5.4"
|
|
51
52
|
}
|
|
52
|
-
}
|
|
53
|
+
}
|