cic-kit 0.0.23 → 0.0.24
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 +273 -54
- package/dist/cic-kit.css +1 -1
- package/dist/cmp/Avatar/Avatar.vue.d.ts +2 -2
- package/dist/cmp/Btn/BtnMoveIcon.vue.d.ts +2 -0
- package/dist/cmp/Header/headerStore.d.ts +175 -0
- package/dist/cmp/Modal/Modal.vue.d.ts +2 -2
- package/dist/cmp/ModalDev/ModalDev.vue.d.ts +8 -1
- package/dist/cmp/ModalDev/view/AppConfigViewDev.vue.d.ts +5 -1
- package/dist/cmp/ModalDev/view/MsgPushViewDev.vue.d.ts +5 -1
- package/dist/cmp/RegisterSW.vue.d.ts +20 -1
- package/dist/cmp/Toolbar/Toolbar.vue.d.ts +42 -0
- package/dist/cmp/Toolbar/ToolbarApp.vue.d.ts +27 -0
- package/dist/cmp/Toolbar/toolbarStore.d.ts +83 -0
- package/dist/cmp/{toolbar → Toolbar}/useChangeToolbar.d.ts +3 -1
- package/dist/cmp/cicKitStore.d.ts +3 -1
- package/dist/cmp/firebase/firebase.d.ts +1 -1
- package/dist/cmp/firebase/useStoreWatch.d.ts +2 -2
- package/dist/cmp/input/Code/Code.d.ts +9 -0
- package/dist/cmp/input/Code/FieldCode.vue.d.ts +45 -0
- package/dist/cmp/input/File/FieldFile.vue.d.ts +2 -2
- package/dist/cmp/input/Gender/FieldGender.vue.d.ts +11 -10
- package/dist/cmp/input/Gender/Gender.d.ts +7 -1
- package/dist/cmp/input/PhoneNumber/FieldPhoneNumber.vue.d.ts +14 -11
- package/dist/cmp/input/PhoneNumber/PhoneNumber.d.ts +6 -1
- package/dist/cmp/input/Tag/ColorTag.d.ts +6 -2
- package/dist/cmp/input/Tag/{ColorTagInput.vue.d.ts → FieldColorTag.vue.d.ts} +13 -3
- package/dist/cmp/input/{Text/InputField.vue.d.ts → Tiptap/FieldTiptap.vue.d.ts} +11 -17
- package/dist/cmp/input/Tiptap/Tiptap.d.ts +2 -0
- package/dist/cmp/notification/pushMsg.d.ts +15 -5
- package/dist/cmp/offCanvas/OffcanvasCmp.vue.d.ts +3 -3
- package/dist/cmp/offCanvas/useSetOffCanvasTabs.d.ts +1 -1
- package/dist/cmp/timestamp/parseTimestamp.d.ts +6 -4
- package/dist/index.cjs +168 -28
- package/dist/index.d.ts +24 -5
- package/dist/index.mjs +46914 -28045
- package/package.json +7 -5
- package/src/styles/partials/_layout.scss +0 -9
- package/src/vue-shim.d.ts +8 -5
- package/dist/cmp/File/ImgUploader.vue.d.ts +0 -34
- package/dist/cmp/input/Tag/TagInput.vue.d.ts +0 -27
- package/dist/cmp/input/Tiptap/TiptapField.vue.d.ts +0 -15
- package/dist/cmp/layout/FooterApp.vue.d.ts +0 -3
- package/dist/cmp/layout/ToolbarTab.vue.d.ts +0 -10
- package/dist/stores/currentUserStore.d.ts +0 -175
- package/dist/stores/store.d.ts +0 -233
- package/dist/stores/userPublicStore.d.ts +0 -533
- /package/dist/cmp/{layout → Header}/HeaderApp.vue.d.ts +0 -0
- /package/dist/cmp/{header → Header}/useChangeHeader.d.ts +0 -0
- /package/dist/cmp/{header → Header}/useHeaderExtra.d.ts +0 -0
- /package/dist/cmp/{header → Header}/useHideHeader.d.ts +0 -0
package/README.md
CHANGED
|
@@ -1,99 +1,318 @@
|
|
|
1
1
|
# cic-kit
|
|
2
2
|
|
|
3
|
-
`cic-kit`
|
|
3
|
+
`cic-kit` e un kit di componenti, store e utility per Vue 3, pensato per progetti web con Bootstrap, Firebase e workflow PWA.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Il pacchetto espone:
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- componenti UI riusabili
|
|
8
|
+
- plugin `CicKit` per registrazione globale dei componenti
|
|
9
|
+
- utility per Firebase/Auth/Firestore
|
|
10
|
+
- gestione toast, toolbar, header, local storage, form validator
|
|
11
|
+
- helper PWA/push notifications (`RegisterSW`, `pushMsg`)
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
## Indice
|
|
14
|
+
|
|
15
|
+
1. [Requisiti](#requisiti)
|
|
16
|
+
2. [Installazione](#installazione)
|
|
17
|
+
3. [Integrazione base](#integrazione-base)
|
|
18
|
+
4. [Stili](#stili)
|
|
19
|
+
5. [PWA e notifiche push](#pwa-e-notifiche-push)
|
|
20
|
+
6. [API pushMsg (FCM)](#api-pushmsg-fcm)
|
|
21
|
+
7. [Variabili ambiente demo/esempio](#variabili-ambiente-demoesempio)
|
|
22
|
+
8. [Sviluppo locale della demo](#sviluppo-locale-della-demo)
|
|
23
|
+
9. [Build](#build)
|
|
24
|
+
10. [Documentazione componenti](#documentazione-componenti)
|
|
25
|
+
11. [Troubleshooting](#troubleshooting)
|
|
26
|
+
12. [Changelog](#changelog)
|
|
27
|
+
|
|
28
|
+
## Requisiti
|
|
16
29
|
|
|
17
|
-
|
|
30
|
+
- Node.js 20+ consigliato
|
|
31
|
+
- npm 10+ consigliato
|
|
32
|
+
- progetto host su Vue 3 + Vite
|
|
18
33
|
|
|
19
|
-
-
|
|
20
|
-
|
|
34
|
+
Il progetto host deve avere le `peerDependencies` richieste da `cic-kit`.
|
|
35
|
+
Installazione rapida:
|
|
21
36
|
|
|
22
|
-
|
|
37
|
+
```bash
|
|
38
|
+
npm install vue vue-router bootstrap firebase vee-validate @vee-validate/yup yup @tiptap/core @tiptap/starter-kit @tiptap/vue-3 @tiptap/extension-heading @tiptap/extension-link @tiptap/extension-code-block @tiptap/extension-placeholder
|
|
39
|
+
```
|
|
23
40
|
|
|
24
41
|
## Installazione
|
|
25
42
|
|
|
26
|
-
|
|
43
|
+
Installa il pacchetto:
|
|
27
44
|
|
|
28
45
|
```bash
|
|
29
46
|
npm install cic-kit
|
|
30
47
|
```
|
|
31
48
|
|
|
32
|
-
|
|
49
|
+
## Integrazione base
|
|
50
|
+
|
|
51
|
+
Esempio tipico in `main.ts`:
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import { createApp } from "vue";
|
|
55
|
+
import App from "./App.vue";
|
|
56
|
+
import { router } from "./router";
|
|
57
|
+
import {
|
|
58
|
+
CicKit,
|
|
59
|
+
_CurrentUser,
|
|
60
|
+
cicKitStore,
|
|
61
|
+
initAuth,
|
|
62
|
+
setupFirebase,
|
|
63
|
+
type FirebaseConfig,
|
|
64
|
+
} from "cic-kit";
|
|
65
|
+
|
|
66
|
+
import "bootstrap/dist/css/bootstrap.min.css";
|
|
67
|
+
import "cic-kit/style.css";
|
|
68
|
+
|
|
69
|
+
const firebaseConfig: FirebaseConfig = {
|
|
70
|
+
apiKey: import.meta.env.VITE_FIREBASE_API_KEY ?? "",
|
|
71
|
+
authDomain: import.meta.env.VITE_FIREBASE_AUTH_DOMAIN ?? "",
|
|
72
|
+
projectId: import.meta.env.VITE_FIREBASE_PROJECT_ID ?? "",
|
|
73
|
+
storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET ?? "",
|
|
74
|
+
messagingSenderId: import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID ?? "",
|
|
75
|
+
appId: import.meta.env.VITE_FIREBASE_APP_ID ?? "",
|
|
76
|
+
measurementId: import.meta.env.VITE_FIREBASE_MEASUREMENT_ID ?? undefined,
|
|
77
|
+
databaseURL: import.meta.env.VITE_FIREBASE_DATABASE_URL ?? undefined,
|
|
78
|
+
functionsRegion: import.meta.env.VITE_FIREBASE_FUNCTIONS_REGION ?? "europe-west1",
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
cicKitStore.isDev = import.meta.env.VITE_USE_FIREBASE_EMULATORS === "true";
|
|
82
|
+
setupFirebase(firebaseConfig);
|
|
83
|
+
|
|
84
|
+
const Auth = initAuth(_CurrentUser);
|
|
85
|
+
Auth.checkAuth();
|
|
86
|
+
|
|
87
|
+
const app = createApp(App);
|
|
88
|
+
app.use(router);
|
|
89
|
+
app.use(CicKit);
|
|
90
|
+
app.mount("#app");
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Stili
|
|
94
|
+
|
|
95
|
+
Hai due opzioni:
|
|
96
|
+
|
|
97
|
+
- CSS pronto:
|
|
98
|
+
|
|
99
|
+
```ts
|
|
100
|
+
import "cic-kit/style.css";
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
- SCSS:
|
|
33
104
|
|
|
34
105
|
```scss
|
|
106
|
+
@use "bootstrap/scss/bootstrap";
|
|
35
107
|
@use "cic-kit/style";
|
|
36
108
|
```
|
|
37
109
|
|
|
38
|
-
|
|
110
|
+
Nota: se usi SCSS, importa Bootstrap prima di `cic-kit/style`.
|
|
111
|
+
Nota: `cic-kit` non include Bootstrap internamente, Bootstrap deve essere installato e importato dal progetto host.
|
|
39
112
|
|
|
40
|
-
##
|
|
113
|
+
## PWA e notifiche push
|
|
41
114
|
|
|
42
|
-
|
|
43
|
-
>
|
|
44
|
-
> - regolre di reset
|
|
45
|
-
> - font custom (Material Symbols, emoji, ecc.)
|
|
46
|
-
> - override delle classi Bootstrap
|
|
47
|
-
> - utility CSS
|
|
115
|
+
Se usi il componente `RegisterSW` o l'import virtuale `virtual:pwa-register`, devi configurare `vite-plugin-pwa`.
|
|
48
116
|
|
|
49
|
-
|
|
117
|
+
### 1) Installa il plugin (obbligatorio per PWA)
|
|
50
118
|
|
|
51
|
-
|
|
119
|
+
```bash
|
|
120
|
+
npm install vite-plugin-pwa -D
|
|
121
|
+
```
|
|
52
122
|
|
|
53
|
-
###
|
|
123
|
+
### 2) Configura `vite.config.ts`
|
|
54
124
|
|
|
55
|
-
|
|
125
|
+
Esempio con `injectManifest`:
|
|
56
126
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
127
|
+
```ts
|
|
128
|
+
import { defineConfig } from "vite";
|
|
129
|
+
import vue from "@vitejs/plugin-vue";
|
|
130
|
+
import { VitePWA } from "vite-plugin-pwa";
|
|
60
131
|
|
|
61
|
-
|
|
132
|
+
export default defineConfig({
|
|
133
|
+
plugins: [
|
|
134
|
+
vue(),
|
|
135
|
+
VitePWA({
|
|
136
|
+
strategies: "injectManifest",
|
|
137
|
+
srcDir: "src",
|
|
138
|
+
filename: "sw.ts",
|
|
139
|
+
injectRegister: false,
|
|
140
|
+
registerType: "autoUpdate",
|
|
141
|
+
manifest: false,
|
|
142
|
+
devOptions: { enabled: true },
|
|
143
|
+
}),
|
|
144
|
+
],
|
|
145
|
+
});
|
|
146
|
+
```
|
|
62
147
|
|
|
63
|
-
|
|
148
|
+
### 3) Tipi TypeScript (consigliato)
|
|
149
|
+
|
|
150
|
+
In `src/vite-env.d.ts` (o equivalente):
|
|
64
151
|
|
|
65
|
-
|
|
152
|
+
```ts
|
|
153
|
+
/// <reference types="vite/client" />
|
|
154
|
+
/// <reference types="vite-plugin-pwa/client" />
|
|
155
|
+
```
|
|
66
156
|
|
|
67
|
-
|
|
157
|
+
### 4) Usa `RegisterSW` e configura VAPID
|
|
68
158
|
|
|
69
|
-
|
|
70
|
-
| ---------- | -------- | ----------------------------------------------------------------------------------------------- | --------------------------- |
|
|
71
|
-
| `variant` | `solid` | `"solid" \| "outline" \| "ghost" \| "link"` | stile del bottone |
|
|
72
|
-
| `color` | `dark` | `"primary" \| "secondary" \| "success" \| "danger" \| "warning" \| "info" \| "light" \| "dark"` | cambia colore Bootstrap |
|
|
73
|
-
| `size` | — | `"sm" \| "lg"` | dimensione Bootstrap |
|
|
74
|
-
| `block` | `false` | `boolean` | full width (`w-100`) |
|
|
75
|
-
| `disabled` | `false` | `boolean` | disabilita click |
|
|
76
|
-
| `type` | `button` | `"button" \| "submit" \| "reset"` | tipo HTML button |
|
|
77
|
-
| `to` | — | `RouteLocationRaw` | naviga con `router.push` |
|
|
78
|
-
| `loading` | `false` | `boolean` | mostra spinner e disabilita |
|
|
79
|
-
| `icon` | — | `string` | icona Material Symbols |
|
|
80
|
-
| `share` | — | `ShareLink` | condivide link al click |
|
|
159
|
+
Nel tuo root component:
|
|
81
160
|
|
|
82
161
|
```vue
|
|
83
162
|
<script setup lang="ts">
|
|
84
|
-
import {
|
|
163
|
+
import { RegisterSW, pushMsg } from "cic-kit";
|
|
164
|
+
import { registerSW } from "virtual:pwa-register";
|
|
165
|
+
|
|
166
|
+
pushMsg.vapidPublicKey = import.meta.env.VITE_FIREBASE_VAPID_PUBLIC_KEY ?? "";
|
|
85
167
|
</script>
|
|
86
168
|
|
|
87
169
|
<template>
|
|
88
|
-
<
|
|
170
|
+
<RegisterSW :register-s-w="registerSW" />
|
|
89
171
|
</template>
|
|
90
172
|
```
|
|
91
173
|
|
|
92
|
-
|
|
174
|
+
`RegisterSW` salva la `ServiceWorkerRegistration` in `pushMsg.reg`, necessaria per i flussi FCM del device.
|
|
175
|
+
|
|
176
|
+
## API pushMsg (FCM)
|
|
177
|
+
|
|
178
|
+
API principale disponibile da `cic-kit`:
|
|
179
|
+
|
|
180
|
+
- `pushMsg.askPermission()`
|
|
181
|
+
- `pushMsg.getCurrentFcmToken()`
|
|
182
|
+
- `pushMsg.registerFcmToken()`
|
|
183
|
+
- `pushMsg.isThisDeviceTokenRegistered()`
|
|
184
|
+
- `pushMsg.removeThisDeviceToken()`
|
|
185
|
+
- `pushMsg.send(...)` (notifica locale)
|
|
186
|
+
- `pushMsg.sendTo(uid, ...)` (invio remoto via callable function `sendUserPush`)
|
|
187
|
+
|
|
188
|
+
Sono esportate anche come funzioni named:
|
|
189
|
+
|
|
190
|
+
```ts
|
|
191
|
+
import {
|
|
192
|
+
getCurrentFcmToken,
|
|
193
|
+
registerFcmToken,
|
|
194
|
+
isThisDeviceTokenRegistered,
|
|
195
|
+
removeThisDeviceToken,
|
|
196
|
+
} from "cic-kit";
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Esempio completo:
|
|
200
|
+
|
|
201
|
+
```ts
|
|
202
|
+
import { pushMsg } from "cic-kit";
|
|
203
|
+
|
|
204
|
+
pushMsg.vapidPublicKey = import.meta.env.VITE_FIREBASE_VAPID_PUBLIC_KEY ?? "";
|
|
205
|
+
|
|
206
|
+
await pushMsg.askPermission();
|
|
207
|
+
const token = await pushMsg.registerFcmToken();
|
|
208
|
+
const registered = await pushMsg.isThisDeviceTokenRegistered();
|
|
209
|
+
console.log({ token, registered });
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Comportamento lato utente autenticato
|
|
213
|
+
|
|
214
|
+
`registerFcmToken()` e `removeThisDeviceToken()` usano `_Auth?.user`.
|
|
215
|
+
|
|
216
|
+
- se non sei loggato, il token puo essere ottenuto ma non viene salvato nel profilo utente
|
|
217
|
+
- se sei loggato, il token viene sincronizzato su `user.fcmTokens`
|
|
218
|
+
|
|
219
|
+
## Variabili ambiente demo/esempio
|
|
220
|
+
|
|
221
|
+
Template disponibile in `demo/.env.example`:
|
|
222
|
+
|
|
223
|
+
```env
|
|
224
|
+
VITE_USE_FIREBASE_EMULATORS=false
|
|
225
|
+
VITE_FIREBASE_API_KEY=
|
|
226
|
+
VITE_FIREBASE_AUTH_DOMAIN=
|
|
227
|
+
VITE_FIREBASE_PROJECT_ID=
|
|
228
|
+
VITE_FIREBASE_STORAGE_BUCKET=
|
|
229
|
+
VITE_FIREBASE_MESSAGING_SENDER_ID=
|
|
230
|
+
VITE_FIREBASE_APP_ID=
|
|
231
|
+
VITE_FIREBASE_MEASUREMENT_ID=
|
|
232
|
+
VITE_FIREBASE_DATABASE_URL=
|
|
233
|
+
VITE_FIREBASE_FUNCTIONS_REGION=europe-west1
|
|
234
|
+
VITE_FIREBASE_VAPID_PUBLIC_KEY=
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
## Sviluppo locale della demo
|
|
238
|
+
|
|
239
|
+
1. Crea il file env locale:
|
|
240
|
+
|
|
241
|
+
```powershell
|
|
242
|
+
Copy-Item demo/.env.example demo/.env.local
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
2. Compila i valori Firebase in `demo/.env.local`.
|
|
246
|
+
3. Avvia la demo:
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
npm run start
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Altri comandi utili:
|
|
253
|
+
|
|
254
|
+
- `npm run build:demo`
|
|
255
|
+
- `npm run preview:demo`
|
|
256
|
+
|
|
257
|
+
## Build
|
|
258
|
+
|
|
259
|
+
- build libreria + tipi:
|
|
260
|
+
|
|
261
|
+
```bash
|
|
262
|
+
npm run build
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
- build solo dichiarazioni:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
npm run build:types
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## Documentazione componenti
|
|
93
272
|
|
|
94
|
-
|
|
273
|
+
Documentazione locale:
|
|
95
274
|
|
|
96
|
-
|
|
275
|
+
- [docs/Btn.md](./docs/Btn.md)
|
|
276
|
+
- [docs/LS.md](./docs/LS.md)
|
|
277
|
+
- [docs/Modal.md](./docs/Modal.md)
|
|
278
|
+
- [docs/toast.md](./docs/toast.md)
|
|
97
279
|
|
|
98
|
-
|
|
99
|
-
|
|
280
|
+
## Troubleshooting
|
|
281
|
+
|
|
282
|
+
### TS2307: Cannot find module `virtual:pwa-register`
|
|
283
|
+
|
|
284
|
+
Cause comune:
|
|
285
|
+
|
|
286
|
+
- `vite-plugin-pwa` non installato/configurato
|
|
287
|
+
- tipi PWA mancanti in `vite-env.d.ts`
|
|
288
|
+
|
|
289
|
+
Checklist:
|
|
290
|
+
|
|
291
|
+
1. Installa il plugin:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
npm install vite-plugin-pwa -D
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
2. Configura `VitePWA(...)` in `vite.config.ts`.
|
|
298
|
+
3. Aggiungi:
|
|
299
|
+
|
|
300
|
+
```ts
|
|
301
|
+
/// <reference types="vite-plugin-pwa/client" />
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### `ServiceWorker non registrato`
|
|
305
|
+
|
|
306
|
+
`pushMsg.reg` non e valorizzato. Monta `<RegisterSW :register-s-w="registerSW" />` (o registra manualmente il SW e assegna la registration a `pushMsg.reg`).
|
|
307
|
+
|
|
308
|
+
### `VAPID_PUBLIC_KEY mancante`
|
|
309
|
+
|
|
310
|
+
Imposta `pushMsg.vapidPublicKey` con `VITE_FIREBASE_VAPID_PUBLIC_KEY`.
|
|
311
|
+
|
|
312
|
+
### `Firebase non inizializzato`
|
|
313
|
+
|
|
314
|
+
Chiama `setupFirebase(firebaseConfig)` prima di usare API push/Firebase.
|
|
315
|
+
|
|
316
|
+
## Changelog
|
|
317
|
+
|
|
318
|
+
- [CHANGELOG.md](./CHANGELOG.md)
|
package/dist/cic-kit.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";.scope-accordion-button[data-v-b7f53834]:focus{outline:none;box-shadow:none}.scope-accordion-button[data-v-b7f53834]:not(.collapsed){color:initial!important;background-color:transparent!important}.spinner-border[data-v-02f82e55]{vertical-align:middle}.btn-ms-link[data-v-02f82e55]{background-color:transparent!important;border:none;color:var(--bs-btn-color)!important}.btn-ms-link[data-v-02f82e55]:hover{text-decoration:underline}.hideAfter[data-v-02f82e55]:after{display:none}.toast-wrapper[data-v-e724e2c2]{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:6px;z-index:999999}.toast-card[data-v-e724e2c2]{width:330px;min-height:80px;border-radius:8px;padding:10px 12px;background-color:#fff;box-shadow:0 8px 24px #00000026;display:flex;align-items:center;justify-content:center;gap:12px;cursor:default;transition:all .3s ease,transform .3s ease;overflow:hidden;opacity:1}.toast-card .icon-container[data-v-e724e2c2]{width:35px;height:35px;display:flex;justify-content:center;align-items:center;border-radius:50%;flex-shrink:0;transition:all .3s ease}.toast-card .message-text[data-v-e724e2c2]{font-size:17px;font-weight:700}.toast-card .sub-text[data-v-e724e2c2]{color:#555;font-size:14px}.toast-card .cross-icon[data-v-e724e2c2]{width:18px;height:18px;color:#555;cursor:pointer;flex-shrink:0}.toast-card[data-v-e724e2c2]:not(.expanded){min-height:40px;max-height:40px;padding-top:6px;padding-bottom:6px;opacity:.7}.toast-card:not(.expanded) .icon-container[data-v-e724e2c2]{width:18px;height:18px}.toast-card:not(.expanded) .message-text[data-v-e724e2c2]{font-size:14px}.toast-card:not(.expanded) .sub-content[data-v-e724e2c2]{display:none}.toast-card:not(.expanded) .cross-icon[data-v-e724e2c2]{width:14px;height:14px}.toast-fade-enter-from[data-v-e724e2c2],.toast-fade-leave-to[data-v-e724e2c2]{opacity:0;transform:translateY(20px)}.toast-fade-enter-active[data-v-e724e2c2],.toast-fade-leave-active[data-v-e724e2c2]{transition:all .3s ease}.message-text-container[data-v-e724e2c2]{flex-grow:1}.toast-card.info[data-v-e724e2c2]{border-right:5px solid var(--bs-info)}.toast-card.info .icon-container[data-v-e724e2c2]{color:var(--bs-info)}.toast-card.success[data-v-e724e2c2]{border-right:5px solid var(--bs-success)}.toast-card.success .icon-container[data-v-e724e2c2]{color:var(--bs-success)}.toast-card.warning[data-v-e724e2c2]{border-right:5px solid var(--bs-warning)}.toast-card.warning .icon-container[data-v-e724e2c2]{color:var(--bs-warning)}.toast-card.error[data-v-e724e2c2]{border-right:5px solid var(--bs-danger)}.toast-card.error .icon-container[data-v-e724e2c2]{color:var(--bs-danger)}.toast-card.primary[data-v-e724e2c2]{border-right:5px solid var(--bs-primary)}.toast-card.primary .icon-container[data-v-e724e2c2]{color:var(--bs-primary)}.toast-card.secondary[data-v-e724e2c2]{border-right:5px solid var(--bs-secondary)}.toast-card.secondary .icon-container[data-v-e724e2c2]{color:var(--bs-secondary)}.prefix-width[data-v-a5d73642]{width:60px}.bg-glass[data-v-d4945b09]{width:100%;z-index:1;background:var(--colors-theme-bg-accent-hover-alpha, rgba(0, 0, 0, .0235294118));-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);box-shadow:0 6px 24px #00000014;border-radius:4px}.scope-btn[data-v-20a95d83]{border-radius:4px;border:none;transition:all .5s ease-in-out;display:flex;align-items:center;background:var(--colors-theme-bg-accent-hover-alpha, rgba(0, 0, 0, .0235294118));-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);box-shadow:0 6px 24px #00000014;position:relative;padding:4px 8px;overflow:hidden}.scope-btn .scope-icon[data-v-20a95d83]{position:absolute;left:8px;transition:all .3s}.scope-btn .scope-text[data-v-20a95d83]{margin-left:24px}.scope-btn[data-v-20a95d83]:hover,.scope-btn.loading[data-v-20a95d83]{box-shadow:0 0 20px #2e2e2e3a}.scope-btn:hover .scope-icon[data-v-20a95d83],.scope-btn.loading .scope-icon[data-v-20a95d83]{transition:all .3s;left:50%;transform:translate(-50%)}.scope-btn:hover .scope-text[data-v-20a95d83],.scope-btn.loading .scope-text[data-v-20a95d83]{transition:all .3s;transform:translate(100%);opacity:0}.scope-btn:active .scope-icon[data-v-20a95d83]{left:50%;transform:scale(.6) translate(-80%)}.scope-btn[data-v-20a95d83]:focus{outline:none}.fix-to-top[data-v-570e865d]{position:sticky;z-index:1}.ms_tab[data-v-5204c1f0]{width:100%;text-align:left;display:flex;align-items:center;gap:.5em;padding:.25em .5em;border-radius:6px;cursor:pointer;transition:background-color .16s ease,transform .14s ease,box-shadow .16s ease;transform:translate(0)}.ms_tab[data-v-5204c1f0]:hover{transform:translate(2px)}.ms_tab.active[data-v-5204c1f0]{font-weight:700;transform:translate(2px)}.bg-glass[data-v-aaeee2ed]{width:100%;z-index:1;background:var(--colors-theme-bg-accent-hover-alpha, rgba(0, 0, 0, .0235294118));-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);box-shadow:0 6px 24px #00000014;border-radius:4px}.home-page[data-v-f13913df]{min-height:100%}.loader[data-v-82b9a30d]{position:fixed;top:0;left:0;z-index:9999;width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:wait;background-color:#000c}.banter-loader[data-v-82b9a30d]{position:relative;width:72px;height:72px;margin-left:-36px;margin-top:-36px}.banter-loader__box[data-v-82b9a30d]{float:left;position:relative;width:20px;height:20px;margin-right:6px}.banter-loader__box[data-v-82b9a30d]:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:#fff}.banter-loader__box[data-v-82b9a30d]:nth-child(3n){margin-right:0;margin-bottom:6px}.banter-loader__box[data-v-82b9a30d]:nth-child(1):before,.banter-loader__box[data-v-82b9a30d]:nth-child(4):before{margin-left:26px}.banter-loader__box[data-v-82b9a30d]:nth-child(3):before{margin-top:52px}.banter-loader__box[data-v-82b9a30d]:last-child{margin-bottom:0}@keyframes moveBox-1-82b9a30d{9.0909090909%{transform:translate(-26px)}18.1818181818%{transform:translate(0)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(26px)}45.4545454545%{transform:translate(26px,26px)}54.5454545455%{transform:translate(26px,26px)}63.6363636364%{transform:translate(26px,26px)}72.7272727273%{transform:translate(26px)}81.8181818182%{transform:translate(0)}90.9090909091%{transform:translate(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(1){animation:moveBox-1-82b9a30d 4s infinite}@keyframes moveBox-2-82b9a30d{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(26px)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(26px)}45.4545454545%{transform:translate(26px,26px)}54.5454545455%{transform:translate(26px,26px)}63.6363636364%{transform:translate(26px,26px)}72.7272727273%{transform:translate(26px,26px)}81.8181818182%{transform:translateY(26px)}90.9090909091%{transform:translateY(26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(2){animation:moveBox-2-82b9a30d 4s infinite}@keyframes moveBox-3-82b9a30d{9.0909090909%{transform:translate(-26px)}18.1818181818%{transform:translate(-26px)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(-26px)}45.4545454545%{transform:translate(-26px)}54.5454545455%{transform:translate(-26px)}63.6363636364%{transform:translate(-26px)}72.7272727273%{transform:translate(-26px)}81.8181818182%{transform:translate(-26px,-26px)}90.9090909091%{transform:translateY(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(3){animation:moveBox-3-82b9a30d 4s infinite}@keyframes moveBox-4-82b9a30d{9.0909090909%{transform:translate(-26px)}18.1818181818%{transform:translate(-26px)}27.2727272727%{transform:translate(-26px,-26px)}36.3636363636%{transform:translateY(-26px)}45.4545454545%{transform:translate(0)}54.5454545455%{transform:translateY(-26px)}63.6363636364%{transform:translateY(-26px)}72.7272727273%{transform:translateY(-26px)}81.8181818182%{transform:translate(-26px,-26px)}90.9090909091%{transform:translate(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(4){animation:moveBox-4-82b9a30d 4s infinite}@keyframes moveBox-5-82b9a30d{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(0)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(26px)}45.4545454545%{transform:translate(26px)}54.5454545455%{transform:translate(26px)}63.6363636364%{transform:translate(26px)}72.7272727273%{transform:translate(26px)}81.8181818182%{transform:translate(26px,-26px)}90.9090909091%{transform:translateY(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(5){animation:moveBox-5-82b9a30d 4s infinite}@keyframes moveBox-6-82b9a30d{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(-26px)}27.2727272727%{transform:translate(-26px)}36.3636363636%{transform:translate(0)}45.4545454545%{transform:translate(0)}54.5454545455%{transform:translate(0)}63.6363636364%{transform:translate(0)}72.7272727273%{transform:translateY(26px)}81.8181818182%{transform:translate(-26px,26px)}90.9090909091%{transform:translate(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(6){animation:moveBox-6-82b9a30d 4s infinite}@keyframes moveBox-7-82b9a30d{9.0909090909%{transform:translate(26px)}18.1818181818%{transform:translate(26px)}27.2727272727%{transform:translate(26px)}36.3636363636%{transform:translate(0)}45.4545454545%{transform:translateY(-26px)}54.5454545455%{transform:translate(26px,-26px)}63.6363636364%{transform:translateY(-26px)}72.7272727273%{transform:translateY(-26px)}81.8181818182%{transform:translate(0)}90.9090909091%{transform:translate(26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(7){animation:moveBox-7-82b9a30d 4s infinite}@keyframes moveBox-8-82b9a30d{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(-26px)}27.2727272727%{transform:translate(-26px,-26px)}36.3636363636%{transform:translateY(-26px)}45.4545454545%{transform:translateY(-26px)}54.5454545455%{transform:translateY(-26px)}63.6363636364%{transform:translateY(-26px)}72.7272727273%{transform:translateY(-26px)}81.8181818182%{transform:translate(26px,-26px)}90.9090909091%{transform:translate(26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(8){animation:moveBox-8-82b9a30d 4s infinite}@keyframes moveBox-9-82b9a30d{9.0909090909%{transform:translate(-26px)}18.1818181818%{transform:translate(-26px)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(-26px)}45.4545454545%{transform:translate(0)}54.5454545455%{transform:translate(0)}63.6363636364%{transform:translate(-26px)}72.7272727273%{transform:translate(-26px)}81.8181818182%{transform:translate(-52px)}90.9090909091%{transform:translate(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(9){animation:moveBox-9-82b9a30d 4s infinite}.btn-google[data-v-b17b6ae7]{font-family:Roboto,arial,sans-serif;background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-google[data-v-b17b6ae7]:hover{border-color:none}.btn-google svg[data-v-b17b6ae7]{width:30px;margin-right:6px}.btn-pwa-update[data-v-12205a11]{cursor:pointer;border:none;background:#7808d0;color:#fff;width:80px;height:80px;border-radius:50%;overflow:hidden;position:relative;display:grid;place-content:center;transition:background .3s,transform .2s;font-weight:600}.btn-pwa-update .btn-pwa-text[data-v-12205a11]{position:absolute;inset:0;animation:text-rotation-12205a11 8s linear infinite;margin-bottom:0}.btn-pwa-update .btn-pwa-text>span[data-v-12205a11]{position:absolute;transform:rotate(calc(18deg * var(--index)));inset:2px}.btn-pwa-update .btn-pwa-circle[data-v-12205a11]{position:relative;width:32px;height:32px;overflow:hidden;background:#fff;color:#7808d0;border-radius:50%;display:flex;align-items:center;justify-content:center}.btn-pwa-update .btn-pwa-icon-copy[data-v-12205a11]{position:absolute;transform:translate(-150%,150%)}.btn-pwa-update[data-v-12205a11]:hover{background:#000;transform:scale(1.05)}.btn-pwa-update:hover .btn-pwa-icon[data-v-12205a11],.btn-pwa-update:hover .spinner-border[data-v-12205a11]{color:#000}.btn-pwa-update:hover .btn-pwa-icon[data-v-12205a11]:first-child{transition:transform .3s ease-in-out;transform:translate(150%,-150%)}.btn-pwa-update:hover .btn-pwa-icon-copy[data-v-12205a11]{transition:transform .3s ease-in-out .1s;transform:translate(0)}@keyframes text-rotation-12205a11{to{rotate:360deg}}.avatar-display[data-v-41b1b08b]{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;border:1px solid var(--border, #e5e7eb);background:#f3f4f6}.shape--circle[data-v-41b1b08b]{border-radius:999px}.shape--square[data-v-41b1b08b]{border-radius:0}.avatar-img[data-v-41b1b08b]{width:100%;height:100%;object-fit:cover;display:block}.centered[data-v-41b1b08b]{position:absolute;inset:0;display:grid;place-items:center}.avatar-initials[data-v-41b1b08b]{color:#374151;background:#f9fafb;font-weight:600}.avatar-placeholder[data-v-41b1b08b]{color:#9ca3af;background:#f9fafb;font-weight:500;border:1px dashed #e5e7eb}.logo-wrapper[data-v-684b8f53]{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .2s ease;position:relative}.logo-wrapper .scope-logo-bk[data-v-684b8f53]{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;transition:all .3s}.logo-wrapper:hover .scope-logo-bk[data-v-684b8f53]{opacity:1}.logo-wrapper[data-v-684b8f53]:active{transform:scale(.98)}.logo-wrapper.size-lg[data-v-684b8f53]{width:6em}.logo-wrapper.size-md[data-v-684b8f53]{width:4.5em}.logo-wrapper.size-sm[data-v-684b8f53]{width:3em}.logo-wrapper .square[data-v-684b8f53]{border-radius:0}.logo-wrapper .circle[data-v-684b8f53]{border-radius:50%}.logo-app[data-v-684b8f53]{inline-size:auto;display:block}.logo-wrapper.size-lg .logo-app[data-v-684b8f53]{height:6em}.logo-wrapper.size-md .logo-app[data-v-684b8f53]{height:4.5em}.logo-wrapper.size-sm .logo-app[data-v-684b8f53]{height:3em}@media(max-width:576px){.logo-wrapper.size-lg[data-v-684b8f53]{width:3em}.logo-wrapper.size-md[data-v-684b8f53]{width:2.5em}.logo-wrapper.size-sm[data-v-684b8f53]{width:2em}.logo-wrapper.size-lg .logo-app[data-v-684b8f53]{height:3em}.logo-wrapper.size-md .logo-app[data-v-684b8f53]{height:2.5em}.logo-wrapper.size-sm .logo-app[data-v-684b8f53]{height:2em}}.logo-shadows[data-v-684b8f53]{will-change:filter;transition:filter .3s}.logo-shadows[data-v-684b8f53]:hover{filter:drop-shadow(0 0 2em rgba(129,129,129,.5))}.is-loading[data-v-684b8f53]{animation:blink-684b8f53 .8s linear infinite}@keyframes blink-684b8f53{0%{opacity:.9}50%{opacity:.25}to{opacity:.9}}@media(prefers-reduced-motion:reduce){.logo-wrapper[data-v-684b8f53],.logo-shadows[data-v-684b8f53]{transition:none}.is-loading[data-v-684b8f53]{animation:none}}.auth-page[data-v-02b6024a]{min-height:100%}.auth-card[data-v-02b6024a]{background:#fff;border-radius:18px;padding:2rem;border:1px solid rgba(48,71,94,.12);box-shadow:0 26px 60px #30475e1f;animation:fadeUp-02b6024a .6s ease both}.auth-header[data-v-02b6024a]{display:flex;gap:12px;align-items:center;margin-bottom:1.5rem}.brand-logo[data-v-02b6024a]{width:44px;height:44px}.social-block[data-v-02b6024a]{margin-bottom:1.5rem}.divider[data-v-02b6024a]{display:flex;align-items:center;margin:1rem 0 .5rem;color:#83919b}.divider[data-v-02b6024a]:before,.divider[data-v-02b6024a]:after{content:"";height:1px;background:#30475e1f;flex:1}.divider span[data-v-02b6024a]{padding:0 12px;font-size:.85rem}.form-group[data-v-02b6024a]{margin-bottom:1rem}.input-icon[data-v-02b6024a]{position:relative}.input-icon .material-symbols-outlined[data-v-02b6024a]{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--brand-dark);opacity:.6}.input-icon .form-control[data-v-02b6024a]{padding-left:2.4rem}.field-error[data-v-02b6024a]{color:var(--brand-accent);font-size:.85rem;margin-top:.3rem;display:block}.link-row[data-v-02b6024a]{margin-top:1.5rem;display:flex;flex-direction:column;gap:8px}@keyframes fadeUp-02b6024a{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-page[data-v-bedacedd]{min-height:100%}.auth-card[data-v-bedacedd]{background:#fff;border-radius:18px;padding:2rem;border:1px solid rgba(48,71,94,.12);box-shadow:0 26px 60px #30475e1f;animation:fadeUp-bedacedd .6s ease both}.auth-header[data-v-bedacedd]{display:flex;gap:12px;align-items:center;margin-bottom:1.5rem}.brand-logo[data-v-bedacedd]{width:44px;height:44px}.form-grid[data-v-bedacedd]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.form-group[data-v-bedacedd]{margin-bottom:1rem}.input-icon[data-v-bedacedd]{position:relative}.input-icon .material-symbols-outlined[data-v-bedacedd]{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--brand-dark);opacity:.6}.input-icon .form-control[data-v-bedacedd]{padding-left:2.4rem}.field-error[data-v-bedacedd]{color:var(--brand-accent);font-size:.85rem;margin-top:.3rem;display:block}.link-row[data-v-bedacedd]{margin-top:1.5rem}@keyframes fadeUp-bedacedd{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-page[data-v-dd5b1fc7]{min-height:100%}.auth-card[data-v-dd5b1fc7]{background:#fff;border-radius:18px;padding:2rem;border:1px solid rgba(48,71,94,.12);box-shadow:0 26px 60px #30475e1f;animation:fadeUp-dd5b1fc7 .6s ease both}.auth-header[data-v-dd5b1fc7]{display:flex;gap:12px;align-items:center;margin-bottom:1.5rem}.brand-logo[data-v-dd5b1fc7]{width:44px;height:44px}.form-group[data-v-dd5b1fc7]{margin-bottom:1rem}.input-icon[data-v-dd5b1fc7]{position:relative}.input-icon .material-symbols-outlined[data-v-dd5b1fc7]{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--brand-dark);opacity:.6}.input-icon .form-control[data-v-dd5b1fc7]{padding-left:2.4rem}.field-error[data-v-dd5b1fc7]{color:var(--brand-accent);font-size:.85rem;margin-top:.3rem;display:block}.link-row[data-v-dd5b1fc7]{margin-top:1.5rem}@keyframes fadeUp-dd5b1fc7{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.home-page[data-v-17f88a6d]{--brand-dark: #30475e;--brand-accent: #f05454;--brand-soft: #f7f4f4;min-height:100%}.brand-bar[data-v-17f88a6d]{display:flex;align-items:center;gap:12px}.brand-logo[data-v-17f88a6d]{width:48px;height:48px}.brand-title[data-v-17f88a6d]{font-size:1.5rem;letter-spacing:.5px;color:var(--brand-dark)}.brand-sub[data-v-17f88a6d]{font-size:.9rem;color:#6a7b86}.hero-card[data-v-17f88a6d]{background:#fff;border:1px solid rgba(48,71,94,.12);border-radius:20px;padding:2rem;box-shadow:0 24px 60px #30475e1f;animation:fadeUp-17f88a6d .6s ease both}.hero-pill[data-v-17f88a6d]{display:inline-flex;align-items:center;gap:8px;background:#f0545414;color:var(--brand-accent);border-radius:999px;padding:6px 14px;font-weight:600;font-size:.85rem;margin-bottom:1rem}.hero-title[data-v-17f88a6d]{font-size:clamp(1.8rem,2.5vw,2.6rem);color:var(--brand-dark);margin-bottom:1rem}.hero-lead[data-v-17f88a6d]{color:#5c6c78;margin-bottom:1.5rem}.hero-actions[data-v-17f88a6d]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1.5rem}.hero-grid[data-v-17f88a6d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.hero-item[data-v-17f88a6d]{display:flex;gap:10px;align-items:center;background:#f9fafb;border-radius:12px;padding:10px 12px;border:1px solid rgba(48,71,94,.08);color:#4c5b66}.hero-item .material-symbols-outlined[data-v-17f88a6d]{font-size:22px;color:var(--brand-accent)}.hero-item strong[data-v-17f88a6d]{display:block;color:var(--brand-dark);font-size:.95rem}.hero-item div span[data-v-17f88a6d]{font-size:.85rem}.avatar-card[data-v-17f88a6d]{background:linear-gradient(140deg,#30475e14,#f0545414);border-radius:24px;padding:2rem;text-align:center;border:1px solid rgba(48,71,94,.1);animation:fadeUp-17f88a6d .6s ease both;animation-delay:.1s}.avatar-card img[data-v-17f88a6d]{max-width:min(320px,90%)}.avatar-caption[data-v-17f88a6d]{margin-top:1rem;display:inline-flex;align-items:center;gap:8px;color:#5c6c78;font-weight:600}@keyframes fadeUp-17f88a6d{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.field-file-input[data-v-7fc37b19]{display:none}.field-file-dropzone[data-v-7fc37b19]{border:1px dashed rgba(15,23,42,.2);border-radius:10px;padding:.75rem;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#f8fafc;transition:border-color .2s ease,background-color .2s ease}.field-file-dropzone.is-dragging[data-v-7fc37b19]{border-color:#3b82f6b3;background:#3b82f614}.field-file-dropzone.is-disabled[data-v-7fc37b19]{opacity:.6;cursor:not-allowed}.field-file-dropzone-default[data-v-7fc37b19]{border:0;background:transparent;font-size:1.5rem;font-weight:600;line-height:1;color:#0f172a;padding:.1rem .4rem}.field-file-list[data-v-7fc37b19]{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.field-file-item[data-v-7fc37b19]{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.field-file-name[data-v-7fc37b19]{flex:1;color:#1f2937}.field-file-size[data-v-7fc37b19]{color:#64748b;font-size:.8rem}.field-file-remove[data-v-7fc37b19]{border:0;background:transparent;color:#ef4444;font-size:1.2rem;line-height:1;cursor:pointer}.avatar-dropzone[data-v-219cf050]{border:0;background:transparent;padding:0;width:100%;display:flex;align-items:center;gap:12px;text-align:left}.avatar-preview[data-v-219cf050]{width:64px;height:64px;border-radius:50%;background:#0f172a14;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar-preview img[data-v-219cf050]{width:100%;height:100%;object-fit:cover}.avatar-preview .material-symbols-outlined[data-v-219cf050]{font-size:28px;color:var(--brand-dark, #0f172a)}.avatar-dropzone.is-dragging .avatar-preview[data-v-219cf050]{box-shadow:0 0 0 3px #3b82f640}.avatar-copy[data-v-219cf050]{display:flex;flex-direction:column;gap:2px}.avatar-title[data-v-219cf050]{font-weight:600;color:var(--brand-dark, #0f172a)}.avatar-hint[data-v-219cf050]{font-size:.8rem;color:#64748b}.public-keys-toggle[data-v-219cf050]{display:flex;flex-wrap:wrap;gap:.5rem}.public-keys-toggle .btn[data-v-219cf050]{border-radius:999px;padding:.35rem .9rem}.user-page[data-v-217462f0]{min-height:100%}.user-card[data-v-217462f0]{background:#fff;border-radius:18px;padding:2rem;border:1px solid rgba(48,71,94,.12);box-shadow:0 26px 60px #30475e1f;animation:fadeUp-217462f0 .6s ease both}.user-header[data-v-217462f0]{display:flex;gap:12px;align-items:center;margin-bottom:1.5rem}.brand-logo[data-v-217462f0]{width:44px;height:44px}.empty-state[data-v-217462f0]{text-align:center;color:#5c6c78}.empty-state .material-symbols-outlined[data-v-217462f0]{font-size:48px;color:var(--brand-accent);margin-bottom:.5rem}.profile-body[data-v-217462f0]{display:flex;flex-direction:column;gap:1.5rem}.profile-card[data-v-217462f0]{display:flex;gap:16px;align-items:center;padding:1.2rem 1.2rem 1.2rem .6rem}.avatar[data-v-217462f0]{width:72px;height:72px;border-radius:50%;background:#30475e14;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar img[data-v-217462f0]{width:100%;height:100%;object-fit:cover}.avatar .material-symbols-outlined[data-v-217462f0]{font-size:36px;color:var(--brand-dark)}.profile-grid[data-v-217462f0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.profile-item[data-v-217462f0]{display:flex;gap:10px;align-items:center;background:#f9fafb;border-radius:12px;padding:12px 14px;border:1px solid rgba(48,71,94,.08);color:#4c5b66}.profile-item .material-symbols-outlined[data-v-217462f0]{font-size:22px;color:var(--brand-accent)}.profile-item strong[data-v-217462f0]{display:block;color:var(--brand-dark);font-size:.95rem}.profile-item div span[data-v-217462f0]{font-size:.85rem}.profile-actions[data-v-217462f0]{display:flex;flex-wrap:wrap;gap:12px}@keyframes fadeUp-217462f0{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
|
|
1
|
+
@charset "UTF-8";.scope-accordion-button[data-v-b7f53834]:focus{outline:none;box-shadow:none}.scope-accordion-button[data-v-b7f53834]:not(.collapsed){color:initial!important;background-color:transparent!important}.spinner-border[data-v-02f82e55]{vertical-align:middle}.btn-ms-link[data-v-02f82e55]{background-color:transparent!important;border:none;color:var(--bs-btn-color)!important}.btn-ms-link[data-v-02f82e55]:hover{text-decoration:underline}.hideAfter[data-v-02f82e55]:after{display:none}.toast-wrapper[data-v-e724e2c2]{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:6px;z-index:999999}.toast-card[data-v-e724e2c2]{width:330px;min-height:80px;border-radius:8px;padding:10px 12px;background-color:#fff;box-shadow:0 8px 24px #00000026;display:flex;align-items:center;justify-content:center;gap:12px;cursor:default;transition:all .3s ease,transform .3s ease;overflow:hidden;opacity:1}.toast-card .icon-container[data-v-e724e2c2]{width:35px;height:35px;display:flex;justify-content:center;align-items:center;border-radius:50%;flex-shrink:0;transition:all .3s ease}.toast-card .message-text[data-v-e724e2c2]{font-size:17px;font-weight:700}.toast-card .sub-text[data-v-e724e2c2]{color:#555;font-size:14px}.toast-card .cross-icon[data-v-e724e2c2]{width:18px;height:18px;color:#555;cursor:pointer;flex-shrink:0}.toast-card[data-v-e724e2c2]:not(.expanded){min-height:40px;max-height:40px;padding-top:6px;padding-bottom:6px;opacity:.7}.toast-card:not(.expanded) .icon-container[data-v-e724e2c2]{width:18px;height:18px}.toast-card:not(.expanded) .message-text[data-v-e724e2c2]{font-size:14px}.toast-card:not(.expanded) .sub-content[data-v-e724e2c2]{display:none}.toast-card:not(.expanded) .cross-icon[data-v-e724e2c2]{width:14px;height:14px}.toast-fade-enter-from[data-v-e724e2c2],.toast-fade-leave-to[data-v-e724e2c2]{opacity:0;transform:translateY(20px)}.toast-fade-enter-active[data-v-e724e2c2],.toast-fade-leave-active[data-v-e724e2c2]{transition:all .3s ease}.message-text-container[data-v-e724e2c2]{flex-grow:1}.toast-card.info[data-v-e724e2c2]{border-right:5px solid var(--bs-info)}.toast-card.info .icon-container[data-v-e724e2c2]{color:var(--bs-info)}.toast-card.success[data-v-e724e2c2]{border-right:5px solid var(--bs-success)}.toast-card.success .icon-container[data-v-e724e2c2]{color:var(--bs-success)}.toast-card.warning[data-v-e724e2c2]{border-right:5px solid var(--bs-warning)}.toast-card.warning .icon-container[data-v-e724e2c2]{color:var(--bs-warning)}.toast-card.error[data-v-e724e2c2]{border-right:5px solid var(--bs-danger)}.toast-card.error .icon-container[data-v-e724e2c2]{color:var(--bs-danger)}.toast-card.primary[data-v-e724e2c2]{border-right:5px solid var(--bs-primary)}.toast-card.primary .icon-container[data-v-e724e2c2]{color:var(--bs-primary)}.toast-card.secondary[data-v-e724e2c2]{border-right:5px solid var(--bs-secondary)}.toast-card.secondary .icon-container[data-v-e724e2c2]{color:var(--bs-secondary)}.field-phone-prefix[data-v-a5b6940f]{width:84px}.field-code[data-v-c3387968]{--field-code-length: 6;position:relative}.field-code__native-input[data-v-c3387968]{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;opacity:0;z-index:1;border:0;pointer-events:none}.field-code__slots[data-v-c3387968]{display:grid;grid-template-columns:repeat(var(--field-code-length),minmax(0,1fr));gap:.45rem}.field-code__slot[data-v-c3387968]{min-height:2.5rem;border-radius:.5rem;border:1px solid #ced4da;background:#fff;color:#0f172a;font-size:1.05rem;line-height:1;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.field-code__slot.is-filled[data-v-c3387968]{color:#0f172a}.field-code.is-focused .field-code__slot.is-active[data-v-c3387968]{border-color:#86b7fe;box-shadow:0 0 0 .2rem #0d6efd40}.field-code.is-invalid .field-code__slot[data-v-c3387968]{border-color:#dc3545}.field-code.is-disabled .field-code__slot[data-v-c3387968]{background:#f8f9fa;color:#6c757d}.field-code__slot[data-v-c3387968]:disabled{cursor:not-allowed}.field-color-tag .form-control[data-v-2d135ff0]{cursor:text;min-height:44px}.field-color-tag__input[data-v-2d135ff0]{min-width:120px;outline:none}.field-color-tag__input[data-v-2d135ff0]:focus{box-shadow:none}.field-color-tag__pill[data-v-2d135ff0]{background-color:var(--bs-light);border:1px solid var(--bs-border-color);color:var(--bs-body-color);padding:.35rem .5rem;border-radius:999px}.field-color-tag__dot[data-v-2d135ff0]{width:12px;height:12px;border-radius:999px;border:1px solid rgba(0,0,0,.15);flex:0 0 12px}.field-color-tag__color-input[data-v-2d135ff0]{padding:0;min-height:initial;height:1em;width:1em;border-radius:50%}.field-color-tag__delete-btn[data-v-2d135ff0]{text-decoration:none;line-height:1;font-size:14px;opacity:.75}.field-color-tag__delete-btn[data-v-2d135ff0]:hover{opacity:1}.field-tiptap .field-tiptap__sticky-sentinel[data-v-ebc59296]{height:1px}.field-tiptap .field-tiptap__toolbar[data-v-ebc59296]{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;border:1px solid var(--bs-border-color, #e5e7eb);background:var(--bs-body-bg, #fff);border-top-left-radius:.5rem;border-top-right-radius:.5rem;border-bottom:none}.field-tiptap .field-tiptap__toolbar.position-sticky-top.is-stuck[data-v-ebc59296],.field-tiptap .field-tiptap__toolbar.position-sticky-bottom.is-stuck[data-v-ebc59296]{position:sticky;left:0;right:0;z-index:9999;border-bottom:1px solid var(--bs-border-color, #e5e7eb);border-radius:.5rem;box-shadow:0 6px 24px #00000014;background:var(--colors-theme-bg-accent-hover-alpha, rgba(0, 0, 0, .0235294118));-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);width:fit-content;margin:0 auto}.field-tiptap .field-tiptap__toolbar.position-sticky-top[data-v-ebc59296]{top:16px}.field-tiptap .field-tiptap__toolbar.position-sticky-bottom[data-v-ebc59296]{bottom:16px}.field-tiptap .field-tiptap__separator[data-v-ebc59296]{width:1px;align-self:stretch;background:var(--bs-border-color, #e5e7eb);margin:0 .125rem}.field-tiptap .field-tiptap__btn[data-v-ebc59296]{appearance:none;border:none;background:transparent;padding:.4rem;border-radius:.375rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}.field-tiptap .field-tiptap__btn[data-v-ebc59296]:hover{background:var(--bs-secondary-bg, #f3f4f6)}.field-tiptap .field-tiptap__btn[data-v-ebc59296]:focus-visible{outline:2px solid var(--bs-primary, #0d6efd);outline-offset:2px}.field-tiptap .field-tiptap__btn[data-v-ebc59296]:disabled{opacity:.5;cursor:not-allowed}.field-tiptap .field-tiptap__btn.is-active[data-v-ebc59296]{background:color-mix(in srgb,var(--bs-primary, #0d6efd) 12%,transparent)}.field-tiptap .field-tiptap__btn.is-active[data-v-ebc59296] .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 450,"GRAD" 0,"opsz" 24}.field-tiptap .field-tiptap__select[data-v-ebc59296]{border:1px solid var(--bs-border-color, #e5e7eb);background:var(--bs-body-bg, #fff);border-radius:.375rem;padding:.25rem .5rem;font-size:.9rem}.field-tiptap .field-tiptap__editor[data-v-ebc59296] .ProseMirror{outline:none;line-height:1.5;border:1px solid var(--bs-border-color, #e5e7eb);background:var(--bs-body-bg, #fff);border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem;min-height:14rem}.field-tiptap .field-tiptap__editor[data-v-ebc59296] .ProseMirror p{margin:0 0 .75rem}.field-tiptap .field-tiptap__editor[data-v-ebc59296] .ProseMirror pre{background:#0b0c0e0d;padding:.75rem;border-radius:.5rem;overflow:auto}.field-tiptap .field-tiptap__editor[data-v-ebc59296] .ProseMirror a{color:var(--bs-primary, #0d6efd);text-decoration:underline}.field-tiptap .field-tiptap__editor[data-v-ebc59296] .material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-size:20px}.home-page[data-v-8fd5a459]{min-height:100%;width:100%}.scope-btn[data-v-5e3259ce]{border-radius:4px;border:none;transition:all .5s ease-in-out;display:flex;align-items:center;position:relative;padding:4px 8px;overflow:hidden;justify-content:center;width:max-content;border:1px solid rgba(48,71,94,.08)}.scope-btn.sc-block[data-v-5e3259ce]{box-shadow:0 6px 24px #00000014;background:var(--colors-theme-bg-accent-hover-alpha, rgba(0, 0, 0, .0235294118));-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.scope-btn.sc-block[data-v-5e3259ce]{width:auto}.scope-btn .scope-icon[data-v-5e3259ce]{position:absolute;left:8px;transition:all .3s}.scope-btn .scope-text[data-v-5e3259ce]{margin-left:28px}.scope-btn[data-v-5e3259ce]:hover,.scope-btn.loading[data-v-5e3259ce]{box-shadow:0 0 20px #2e2e2e3a;background:var(--colors-theme-bg-accent-hover-alpha, rgba(0, 0, 0, .0235294118));-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.scope-btn:hover .scope-icon[data-v-5e3259ce],.scope-btn.loading .scope-icon[data-v-5e3259ce]{transition:all .3s;left:50%;transform:translate(-50%)}.scope-btn:hover .scope-text[data-v-5e3259ce],.scope-btn.loading .scope-text[data-v-5e3259ce]{transition:all .3s;transform:translate(100%);opacity:0}.scope-btn:active .scope-icon[data-v-5e3259ce]{left:50%;transform:scale(.6) translate(-80%)}.scope-btn[data-v-5e3259ce]:focus{outline:none}.btn-google[data-v-b17b6ae7]{font-family:Roboto,arial,sans-serif;background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-google[data-v-b17b6ae7]:hover{border-color:none}.btn-google svg[data-v-b17b6ae7]{width:30px;margin-right:6px}.auth-page[data-v-31c6c751]{min-height:100%;width:100%}.auth-card[data-v-31c6c751]{background:#fff;border-radius:18px;padding:2rem;border:1px solid rgba(48,71,94,.12);box-shadow:0 26px 60px #30475e1f;animation:fadeUp-31c6c751 .6s ease both}.auth-card-access[data-v-31c6c751]{border:1px solid rgba(48,71,94,.18)}.auth-header[data-v-31c6c751]{display:flex;gap:12px;align-items:center;margin-bottom:1.5rem}.brand-logo[data-v-31c6c751]{width:56px;height:56px;margin-right:16px}.social-block[data-v-31c6c751]{margin-bottom:1.5rem}.access-note[data-v-31c6c751]{display:flex;gap:.65rem;align-items:flex-start;border:1px solid rgba(48,71,94,.12);background:#30475e0a;border-radius:12px;padding:.75rem .9rem;margin-bottom:1rem}.access-note p[data-v-31c6c751]{margin:0;color:#30475e;line-height:1.35}.access-note .material-symbols-outlined[data-v-31c6c751]{color:#30475e;opacity:.85;font-size:1.25rem;line-height:1.2}.divider[data-v-31c6c751]{display:flex;align-items:center;margin:1rem 0 .5rem;color:#83919b}.divider[data-v-31c6c751]:before,.divider[data-v-31c6c751]:after{content:"";height:1px;background:#30475e1f;flex:1}.divider span[data-v-31c6c751]{padding:0 12px;font-size:.85rem}.form-group[data-v-31c6c751]{margin-bottom:1rem}.input-icon[data-v-31c6c751]{position:relative}.input-icon .material-symbols-outlined[data-v-31c6c751]{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--brand-dark);opacity:.6}.input-icon .form-control[data-v-31c6c751]{padding-left:2.4rem}.field-error[data-v-31c6c751]{color:var(--brand-accent);font-size:.85rem;margin-top:.3rem;display:block}.link-row[data-v-31c6c751]{margin-top:1.5rem;display:flex;flex-direction:column;gap:8px}@keyframes fadeUp-31c6c751{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-page[data-v-422a326a]{min-height:100%;width:100%}.auth-card[data-v-422a326a]{background:#fff;border-radius:18px;padding:2rem;border:1px solid rgba(48,71,94,.12);box-shadow:0 26px 60px #30475e1f;animation:fadeUp-422a326a .6s ease both}.auth-header[data-v-422a326a]{display:flex;gap:12px;align-items:center;margin-bottom:1.5rem}.brand-logo[data-v-422a326a]{width:56px;height:56px;margin-right:16px}.form-grid[data-v-422a326a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.form-group[data-v-422a326a]{margin-bottom:1rem}.input-icon[data-v-422a326a]{position:relative}.input-icon .material-symbols-outlined[data-v-422a326a]{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--brand-dark);opacity:.6}.input-icon .form-control[data-v-422a326a]{padding-left:2.4rem}.field-error[data-v-422a326a]{color:var(--brand-accent);font-size:.85rem;margin-top:.3rem;display:block}.link-row[data-v-422a326a]{margin-top:1.5rem}@keyframes fadeUp-422a326a{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-page[data-v-2f1d8e9b]{min-height:100%;width:100%}.auth-card[data-v-2f1d8e9b]{background:#fff;border-radius:18px;padding:2rem;border:1px solid rgba(48,71,94,.12);box-shadow:0 26px 60px #30475e1f;animation:fadeUp-2f1d8e9b .6s ease both}.auth-header[data-v-2f1d8e9b]{display:flex;gap:12px;align-items:center;margin-bottom:1.5rem}.brand-logo[data-v-2f1d8e9b]{width:56px;height:56px;margin-right:16px}.form-group[data-v-2f1d8e9b]{margin-bottom:1rem}.input-icon[data-v-2f1d8e9b]{position:relative}.input-icon .material-symbols-outlined[data-v-2f1d8e9b]{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--brand-dark);opacity:.6}.input-icon .form-control[data-v-2f1d8e9b]{padding-left:2.4rem}.field-error[data-v-2f1d8e9b]{color:var(--brand-accent);font-size:.85rem;margin-top:.3rem;display:block}.link-row[data-v-2f1d8e9b]{margin-top:1.5rem}@keyframes fadeUp-2f1d8e9b{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.home-page[data-v-a3749acb]{--brand-dark: #30475e;--brand-accent: #f05454;--brand-soft: #f7f4f4;min-height:100%;width:100%}.brand-bar[data-v-a3749acb]{display:flex;align-items:center;gap:12px}.brand-logo[data-v-a3749acb]{width:48px;height:48px}.brand-title[data-v-a3749acb]{font-size:1.5rem;letter-spacing:.5px;color:var(--brand-dark)}.brand-sub[data-v-a3749acb]{font-size:.9rem;color:#6a7b86}.hero-card[data-v-a3749acb]{background:#fff;border:1px solid rgba(48,71,94,.12);border-radius:20px;padding:2rem;box-shadow:0 24px 60px #30475e1f;animation:fadeUp-a3749acb .6s ease both}.hero-pill[data-v-a3749acb]{display:inline-flex;align-items:center;gap:8px;background:#f0545414;color:var(--brand-accent);border-radius:999px;padding:6px 14px;font-weight:600;font-size:.85rem;margin-bottom:1rem}.hero-title[data-v-a3749acb]{font-size:clamp(1.8rem,2.5vw,2.6rem);color:var(--brand-dark);margin-bottom:1rem}.hero-lead[data-v-a3749acb]{color:#5c6c78;margin-bottom:1.5rem}.hero-actions[data-v-a3749acb]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1.5rem}.hero-grid[data-v-a3749acb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.hero-item[data-v-a3749acb]{display:flex;gap:10px;align-items:center;background:#f9fafb;border-radius:12px;padding:10px 12px;border:1px solid rgba(48,71,94,.08);color:#4c5b66}.hero-item .material-symbols-outlined[data-v-a3749acb]{font-size:22px;color:var(--brand-accent)}.hero-item strong[data-v-a3749acb]{display:block;color:var(--brand-dark);font-size:.95rem}.hero-item div span[data-v-a3749acb]{font-size:.85rem}.avatar-card[data-v-a3749acb]{background:linear-gradient(140deg,#30475e14,#f0545414);border-radius:24px;border:1px solid rgba(48,71,94,.1);animation:fadeUp-a3749acb .6s ease both;animation-delay:.1s}.avatar-card img[data-v-a3749acb]{max-width:min(320px,90%)}.avatar-caption[data-v-a3749acb]{margin-top:1rem;display:inline-flex;align-items:center;gap:8px;color:#5c6c78;font-weight:600}@keyframes fadeUp-a3749acb{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.field-file-input[data-v-7fc37b19]{display:none}.field-file-dropzone[data-v-7fc37b19]{border:1px dashed rgba(15,23,42,.2);border-radius:10px;padding:.75rem;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#f8fafc;transition:border-color .2s ease,background-color .2s ease}.field-file-dropzone.is-dragging[data-v-7fc37b19]{border-color:#3b82f6b3;background:#3b82f614}.field-file-dropzone.is-disabled[data-v-7fc37b19]{opacity:.6;cursor:not-allowed}.field-file-dropzone-default[data-v-7fc37b19]{border:0;background:transparent;font-size:1.5rem;font-weight:600;line-height:1;color:#0f172a;padding:.1rem .4rem}.field-file-list[data-v-7fc37b19]{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.field-file-item[data-v-7fc37b19]{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.field-file-name[data-v-7fc37b19]{flex:1;color:#1f2937}.field-file-size[data-v-7fc37b19]{color:#64748b;font-size:.8rem}.field-file-remove[data-v-7fc37b19]{border:0;background:transparent;color:#ef4444;font-size:1.2rem;line-height:1;cursor:pointer}.avatar-dropzone[data-v-219cf050]{border:0;background:transparent;padding:0;width:100%;display:flex;align-items:center;gap:12px;text-align:left}.avatar-preview[data-v-219cf050]{width:64px;height:64px;border-radius:50%;background:#0f172a14;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar-preview img[data-v-219cf050]{width:100%;height:100%;object-fit:cover}.avatar-preview .material-symbols-outlined[data-v-219cf050]{font-size:28px;color:var(--brand-dark, #0f172a)}.avatar-dropzone.is-dragging .avatar-preview[data-v-219cf050]{box-shadow:0 0 0 3px #3b82f640}.avatar-copy[data-v-219cf050]{display:flex;flex-direction:column;gap:2px}.avatar-title[data-v-219cf050]{font-weight:600;color:var(--brand-dark, #0f172a)}.avatar-hint[data-v-219cf050]{font-size:.8rem;color:#64748b}.public-keys-toggle[data-v-219cf050]{display:flex;flex-wrap:wrap;gap:.5rem}.public-keys-toggle .btn[data-v-219cf050]{border-radius:999px;padding:.35rem .9rem}.user-page[data-v-f5fb5aef]{min-height:100%;width:100%}.user-card[data-v-f5fb5aef]{background:#fff;border-radius:18px;padding:2rem;border:1px solid rgba(48,71,94,.12);box-shadow:0 26px 60px #30475e1f;animation:fadeUp-f5fb5aef .6s ease both}.empty-state[data-v-f5fb5aef]{text-align:center;color:#5c6c78}.empty-state .material-symbols-outlined[data-v-f5fb5aef]{font-size:48px;color:var(--brand-accent);margin-bottom:.5rem}.profile-body[data-v-f5fb5aef]{display:flex;flex-direction:column;gap:1.5rem}.profile-card[data-v-f5fb5aef]{display:flex;gap:16px;align-items:center;padding:1.2rem 1.2rem 1.2rem .6rem}.avatar[data-v-f5fb5aef]{width:72px;height:72px;border-radius:50%;background:#30475e14;display:flex;align-items:center;justify-content:center;overflow:hidden}.avatar img[data-v-f5fb5aef]{width:100%;height:100%;object-fit:cover}.avatar .material-symbols-outlined[data-v-f5fb5aef]{font-size:36px;color:var(--brand-dark)}.profile-grid[data-v-f5fb5aef]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.profile-item[data-v-f5fb5aef]{display:flex;gap:10px;align-items:center;background:#f9fafb;border-radius:12px;padding:12px 14px;border:1px solid rgba(48,71,94,.08);color:#4c5b66}.profile-item .material-symbols-outlined[data-v-f5fb5aef]{font-size:22px;color:var(--brand-accent)}.profile-item strong[data-v-f5fb5aef]{display:block;color:var(--brand-dark);font-size:.95rem}.profile-item div span[data-v-f5fb5aef]{font-size:.85rem}.profile-actions[data-v-f5fb5aef]{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-evenly}@keyframes fadeUp-f5fb5aef{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.pwa-modal[data-v-be1f6b03]{display:grid;gap:1rem}.pwa-modal__hero[data-v-be1f6b03]{text-align:center;padding:.5rem 0 .25rem;position:relative;isolation:isolate}.pwa-modal__hero[data-v-be1f6b03]:before{content:"";position:absolute;inset:-1rem -1rem auto;height:120px;background:radial-gradient(800px 200px at 20% 0%,rgba(99,102,241,.12),transparent 60%),radial-gradient(800px 200px at 80% 0%,rgba(16,185,129,.12),transparent 60%);z-index:-1}.pwa-modal__icon[data-v-be1f6b03]{width:64px;height:64px;margin:0 auto .5rem;border-radius:18px;display:grid;place-items:center;color:#4f46e5;background:conic-gradient(from 180deg at 50% 50%,#4f46e51f,#10b98129);box-shadow:inset 0 0 0 1px #4f46e538;animation:float-be1f6b03 3.6s ease-in-out infinite}.pwa-modal__icon .material-symbols-outlined[data-v-be1f6b03]{font-size:30px;line-height:1}.pwa-modal__title[data-v-be1f6b03]{margin:.25rem 0;font-weight:700;font-size:1.25rem}.pwa-modal__subtitle[data-v-be1f6b03]{margin:0 auto;max-width:46ch;color:#6b7280}.pwa-modal__versions[data-v-be1f6b03]{display:flex;justify-content:center;gap:.5rem;margin-top:.75rem}.chip[data-v-be1f6b03]{--bg: #eef2ff;--fg: #3730a3;display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .6rem;border-radius:999px;font-size:.85rem;background:var(--bg);color:var(--fg);border:1px solid rgba(0,0,0,.06)}.chip--muted[data-v-be1f6b03]{--bg: #f3f4f6;--fg: #374151}.chip--success[data-v-be1f6b03]{--bg: #ecfdf5;--fg: #065f46}.dot[data-v-be1f6b03]{width:8px;height:8px;border-radius:999px}.dot--muted[data-v-be1f6b03]{background:#9ca3af}.dot--success[data-v-be1f6b03]{background:#10b981}.pwa-modal__panel[data-v-be1f6b03]{border:1px solid rgba(99,102,241,.18);background:linear-gradient(180deg,#6366f10a,#10b9810a);border-radius:12px;padding:.9rem 1rem}.pwa-modal__list[data-v-be1f6b03]{margin:.25rem 0 0;padding-left:1rem}.pwa-modal__list li[data-v-be1f6b03]{margin:.25rem 0}.pwa-modal__hint[data-v-be1f6b03]{text-align:center;color:#6b7280;font-size:.9rem;margin-top:.25rem}.pwa-modal__hint .kbd[data-v-be1f6b03]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.85em;padding:.15rem .4rem;border-radius:6px;border:1px solid #e5e7eb;background:#f9fafb;box-shadow:inset 0 -1px #e5e7eb;margin:0 2px;display:inline-block}@keyframes float-be1f6b03{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.bg-glass[data-v-d4945b09]{width:100%;z-index:1;background:var(--colors-theme-bg-accent-hover-alpha, rgba(0, 0, 0, .0235294118));-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);box-shadow:0 6px 24px #00000014;border-radius:4px}.fix-to-top[data-v-570e865d]{position:sticky;z-index:1}.ms_tab[data-v-5204c1f0]{width:100%;text-align:left;display:flex;align-items:center;gap:.5em;padding:.25em .5em;border-radius:6px;cursor:pointer;transition:background-color .16s ease,transform .14s ease,box-shadow .16s ease;transform:translate(0)}.ms_tab[data-v-5204c1f0]:hover{transform:translate(2px)}.ms_tab.active[data-v-5204c1f0]{font-weight:700;transform:translate(2px)}.bg-glass[data-v-aaeee2ed]{width:100%;z-index:1;background:var(--colors-theme-bg-accent-hover-alpha, rgba(0, 0, 0, .0235294118));-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);box-shadow:0 6px 24px #00000014;border-radius:4px}.loader[data-v-82b9a30d]{position:fixed;top:0;left:0;z-index:9999;width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:wait;background-color:#000c}.banter-loader[data-v-82b9a30d]{position:relative;width:72px;height:72px;margin-left:-36px;margin-top:-36px}.banter-loader__box[data-v-82b9a30d]{float:left;position:relative;width:20px;height:20px;margin-right:6px}.banter-loader__box[data-v-82b9a30d]:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:#fff}.banter-loader__box[data-v-82b9a30d]:nth-child(3n){margin-right:0;margin-bottom:6px}.banter-loader__box[data-v-82b9a30d]:nth-child(1):before,.banter-loader__box[data-v-82b9a30d]:nth-child(4):before{margin-left:26px}.banter-loader__box[data-v-82b9a30d]:nth-child(3):before{margin-top:52px}.banter-loader__box[data-v-82b9a30d]:last-child{margin-bottom:0}@keyframes moveBox-1-82b9a30d{9.0909090909%{transform:translate(-26px)}18.1818181818%{transform:translate(0)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(26px)}45.4545454545%{transform:translate(26px,26px)}54.5454545455%{transform:translate(26px,26px)}63.6363636364%{transform:translate(26px,26px)}72.7272727273%{transform:translate(26px)}81.8181818182%{transform:translate(0)}90.9090909091%{transform:translate(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(1){animation:moveBox-1-82b9a30d 4s infinite}@keyframes moveBox-2-82b9a30d{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(26px)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(26px)}45.4545454545%{transform:translate(26px,26px)}54.5454545455%{transform:translate(26px,26px)}63.6363636364%{transform:translate(26px,26px)}72.7272727273%{transform:translate(26px,26px)}81.8181818182%{transform:translateY(26px)}90.9090909091%{transform:translateY(26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(2){animation:moveBox-2-82b9a30d 4s infinite}@keyframes moveBox-3-82b9a30d{9.0909090909%{transform:translate(-26px)}18.1818181818%{transform:translate(-26px)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(-26px)}45.4545454545%{transform:translate(-26px)}54.5454545455%{transform:translate(-26px)}63.6363636364%{transform:translate(-26px)}72.7272727273%{transform:translate(-26px)}81.8181818182%{transform:translate(-26px,-26px)}90.9090909091%{transform:translateY(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(3){animation:moveBox-3-82b9a30d 4s infinite}@keyframes moveBox-4-82b9a30d{9.0909090909%{transform:translate(-26px)}18.1818181818%{transform:translate(-26px)}27.2727272727%{transform:translate(-26px,-26px)}36.3636363636%{transform:translateY(-26px)}45.4545454545%{transform:translate(0)}54.5454545455%{transform:translateY(-26px)}63.6363636364%{transform:translateY(-26px)}72.7272727273%{transform:translateY(-26px)}81.8181818182%{transform:translate(-26px,-26px)}90.9090909091%{transform:translate(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(4){animation:moveBox-4-82b9a30d 4s infinite}@keyframes moveBox-5-82b9a30d{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(0)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(26px)}45.4545454545%{transform:translate(26px)}54.5454545455%{transform:translate(26px)}63.6363636364%{transform:translate(26px)}72.7272727273%{transform:translate(26px)}81.8181818182%{transform:translate(26px,-26px)}90.9090909091%{transform:translateY(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(5){animation:moveBox-5-82b9a30d 4s infinite}@keyframes moveBox-6-82b9a30d{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(-26px)}27.2727272727%{transform:translate(-26px)}36.3636363636%{transform:translate(0)}45.4545454545%{transform:translate(0)}54.5454545455%{transform:translate(0)}63.6363636364%{transform:translate(0)}72.7272727273%{transform:translateY(26px)}81.8181818182%{transform:translate(-26px,26px)}90.9090909091%{transform:translate(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(6){animation:moveBox-6-82b9a30d 4s infinite}@keyframes moveBox-7-82b9a30d{9.0909090909%{transform:translate(26px)}18.1818181818%{transform:translate(26px)}27.2727272727%{transform:translate(26px)}36.3636363636%{transform:translate(0)}45.4545454545%{transform:translateY(-26px)}54.5454545455%{transform:translate(26px,-26px)}63.6363636364%{transform:translateY(-26px)}72.7272727273%{transform:translateY(-26px)}81.8181818182%{transform:translate(0)}90.9090909091%{transform:translate(26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(7){animation:moveBox-7-82b9a30d 4s infinite}@keyframes moveBox-8-82b9a30d{9.0909090909%{transform:translate(0)}18.1818181818%{transform:translate(-26px)}27.2727272727%{transform:translate(-26px,-26px)}36.3636363636%{transform:translateY(-26px)}45.4545454545%{transform:translateY(-26px)}54.5454545455%{transform:translateY(-26px)}63.6363636364%{transform:translateY(-26px)}72.7272727273%{transform:translateY(-26px)}81.8181818182%{transform:translate(26px,-26px)}90.9090909091%{transform:translate(26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(8){animation:moveBox-8-82b9a30d 4s infinite}@keyframes moveBox-9-82b9a30d{9.0909090909%{transform:translate(-26px)}18.1818181818%{transform:translate(-26px)}27.2727272727%{transform:translate(0)}36.3636363636%{transform:translate(-26px)}45.4545454545%{transform:translate(0)}54.5454545455%{transform:translate(0)}63.6363636364%{transform:translate(-26px)}72.7272727273%{transform:translate(-26px)}81.8181818182%{transform:translate(-52px)}90.9090909091%{transform:translate(-26px)}to{transform:translate(0)}}.banter-loader__box[data-v-82b9a30d]:nth-child(9){animation:moveBox-9-82b9a30d 4s infinite}.btn-pwa-update[data-v-12205a11]{cursor:pointer;border:none;background:#7808d0;color:#fff;width:80px;height:80px;border-radius:50%;overflow:hidden;position:relative;display:grid;place-content:center;transition:background .3s,transform .2s;font-weight:600}.btn-pwa-update .btn-pwa-text[data-v-12205a11]{position:absolute;inset:0;animation:text-rotation-12205a11 8s linear infinite;margin-bottom:0}.btn-pwa-update .btn-pwa-text>span[data-v-12205a11]{position:absolute;transform:rotate(calc(18deg * var(--index)));inset:2px}.btn-pwa-update .btn-pwa-circle[data-v-12205a11]{position:relative;width:32px;height:32px;overflow:hidden;background:#fff;color:#7808d0;border-radius:50%;display:flex;align-items:center;justify-content:center}.btn-pwa-update .btn-pwa-icon-copy[data-v-12205a11]{position:absolute;transform:translate(-150%,150%)}.btn-pwa-update[data-v-12205a11]:hover{background:#000;transform:scale(1.05)}.btn-pwa-update:hover .btn-pwa-icon[data-v-12205a11],.btn-pwa-update:hover .spinner-border[data-v-12205a11]{color:#000}.btn-pwa-update:hover .btn-pwa-icon[data-v-12205a11]:first-child{transition:transform .3s ease-in-out;transform:translate(150%,-150%)}.btn-pwa-update:hover .btn-pwa-icon-copy[data-v-12205a11]{transition:transform .3s ease-in-out .1s;transform:translate(0)}@keyframes text-rotation-12205a11{to{rotate:360deg}}.avatar-display[data-v-c1e354e6]{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;border:1px solid var(--border, #e5e7eb);background:#f3f4f6}.shape--circle[data-v-c1e354e6]{border-radius:999px}.shape--square[data-v-c1e354e6]{border-radius:0}.avatar-img[data-v-c1e354e6]{width:100%;height:100%;object-fit:cover;display:block}.centered[data-v-c1e354e6]{position:absolute;inset:0;display:grid;place-items:center}.avatar-initials[data-v-c1e354e6]{color:#374151;background:#f9fafb;font-weight:600}.avatar-placeholder[data-v-c1e354e6]{color:#9ca3af;background:#f9fafb;font-weight:500;border:1px dashed #e5e7eb}.logo-wrapper[data-v-059ac056]{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .2s ease;position:relative}.logo-wrapper .scope-logo-bk[data-v-059ac056]{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;transition:all .3s}.logo-wrapper:hover .scope-logo-bk[data-v-059ac056]{opacity:1}.logo-wrapper[data-v-059ac056]:active{transform:scale(.98)}.logo-wrapper.size-lg[data-v-059ac056]{width:6em}.logo-wrapper.size-md[data-v-059ac056]{width:4.5em}.logo-wrapper.size-sm[data-v-059ac056]{width:3em}.logo-wrapper .square[data-v-059ac056]{border-radius:0}.logo-wrapper .circle[data-v-059ac056]{border-radius:50%}.logo-app[data-v-059ac056]{inline-size:auto;display:block}.logo-wrapper.size-lg .logo-app[data-v-059ac056]{height:6em}.logo-wrapper.size-md .logo-app[data-v-059ac056]{height:4.5em}.logo-wrapper.size-sm .logo-app[data-v-059ac056]{height:3em}@media(max-width:576px){.logo-wrapper.size-lg[data-v-059ac056]{width:3em}.logo-wrapper.size-md[data-v-059ac056]{width:2.5em}.logo-wrapper.size-sm[data-v-059ac056]{width:2em}.logo-wrapper.size-lg .logo-app[data-v-059ac056]{height:3em}.logo-wrapper.size-md .logo-app[data-v-059ac056]{height:2.5em}.logo-wrapper.size-sm .logo-app[data-v-059ac056]{height:2em}}.logo-shadows[data-v-059ac056]{will-change:filter;transition:filter .3s}.logo-shadows[data-v-059ac056]:hover{filter:drop-shadow(0 0 2em rgba(129,129,129,.5))}.is-loading[data-v-059ac056]{animation:blink-059ac056 .8s linear infinite}@keyframes blink-059ac056{0%{opacity:.9}50%{opacity:.25}to{opacity:.9}}@media(prefers-reduced-motion:reduce){.logo-wrapper[data-v-059ac056],.logo-shadows[data-v-059ac056]{transition:none}.is-loading[data-v-059ac056]{animation:none}}.text-muted-weak[data-v-ca04e01a]{color:#ffffffb3!important}.card.notify-card[data-v-ca04e01a]{border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#141419e6,#101014cc);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card.notify-card .card-header[data-v-ca04e01a]{background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.06)}.card.notify-card .card-footer[data-v-ca04e01a]{background:#ffffff0a;border-top:1px solid rgba(255,255,255,.06)}.avatar-frame[data-v-ca04e01a]{width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.15);box-shadow:0 0 0 3px #00000040;background:#ffffff0f;display:grid;place-items:center}.avatar-frame img[data-v-ca04e01a]{width:100%;height:100%;object-fit:cover}.avatar-frame .avatar-fallback[data-v-ca04e01a]{font-weight:700;color:#ffffffd9}.input-group-text--ghost[data-v-ca04e01a]{background:#ffffff0f;color:#ffffffbf;border-color:#ffffff1f}.btn-emoji[data-v-ca04e01a]{border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff;padding:.25rem .5rem;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.btn-emoji[data-v-ca04e01a]:hover{background:#ffffff1f}.btn-glow[data-v-ca04e01a]{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.15)}.btn-glow[data-v-ca04e01a]:after{content:"";position:absolute;inset:-2px;background:radial-gradient(600px circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.12),transparent 35%);opacity:0;transition:opacity .25s ease}.btn-glow[data-v-ca04e01a]:hover:after{opacity:1}.btn-glow[data-v-ca04e01a]:hover{transform:translateY(-1px)}.badge.bg-success-subtle[data-v-ca04e01a]{background:#198754!important}.badge.bg-warning-subtle[data-v-ca04e01a]{background:#ffc107!important}.badge.bg-danger-subtle[data-v-ca04e01a]{background:#dc3545!important}.notification-preview[data-v-ca04e01a]{margin-top:1rem;display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.notification-preview .np-icon[data-v-ca04e01a]{width:40px;height:40px;border-radius:8px;overflow:hidden;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.notification-preview .np-icon img[data-v-ca04e01a]{width:100%;height:100%;object-fit:cover}.notification-preview .np-content[data-v-ca04e01a]{display:grid;gap:2px}.notification-preview .np-content .np-title[data-v-ca04e01a]{font-weight:600;color:#fff}.notification-preview .np-content .np-body[data-v-ca04e01a]{font-size:.95rem}.notification-preview .np-content .np-url[data-v-ca04e01a]{font-size:.8rem;color:#fff9}.btn-glow[data-v-ca04e01a]:hover{transition:transform .15s ease}.buttonUpdateAllUser{--h-button: 48px;--w-button: 102px;--round: .75rem;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;transition:all .25s ease;background:radial-gradient(65.28% 65.28% at 50% 100%,#df71ffcc,#df71ff00),linear-gradient(0deg,#7a5af8,#7a5af8);border-radius:var(--round);border:none;outline:none;padding:12px 18px}.buttonUpdateAllUser:before,.buttonUpdateAllUser:after{content:"";position:absolute;inset:var(--space);transition:all .5s ease-in-out;border-radius:calc(var(--round) - var(--space));z-index:0}.buttonUpdateAllUser:before{--space: 1px;background:linear-gradient(177.95deg,#ffffff30,#fff0)}.buttonUpdateAllUser:after{--space: 2px;background:radial-gradient(65.28% 65.28% at 50% 100%,#df71ffcc,#df71ff00),linear-gradient(0deg,#7a5af8,#7a5af8)}.buttonUpdateAllUser:active{transform:scale(.95)}.fold{z-index:1;position:absolute;top:0;right:0;height:1rem;width:1rem;display:inline-block;transition:all .5s ease-in-out;background:radial-gradient(100% 75% at 55%,#df71ffcc,#df71ff00);box-shadow:0 0 3px #000;border-bottom-left-radius:.5rem;border-top-right-radius:var(--round)}.fold:after{content:"";position:absolute;top:0;right:0;width:150%;height:150%;transform:rotate(45deg) translate(0) translateY(-18px);background-color:#e8e8e8;pointer-events:none}.buttonUpdateAllUser:hover .fold{margin-top:-1rem;margin-right:-1rem}.points_wrapper{overflow:hidden;width:100%;height:100%;pointer-events:none;position:absolute;z-index:1}.points_wrapper .point{bottom:-10px;position:absolute;animation:floating-points infinite ease-in-out;pointer-events:none;width:2px;height:2px;background-color:#fff;border-radius:9999px}@keyframes floating-points{0%{transform:translateY(0)}85%{opacity:0}to{transform:translateY(-55px);opacity:0}}.points_wrapper .point:nth-child(1){left:10%;opacity:1;animation-duration:2.35s;animation-delay:.2s}.points_wrapper .point:nth-child(2){left:30%;opacity:.7;animation-duration:2.5s;animation-delay:.5s}.points_wrapper .point:nth-child(3){left:25%;opacity:.8;animation-duration:2.2s;animation-delay:.1s}.points_wrapper .point:nth-child(4){left:44%;opacity:.6;animation-duration:2.05s}.points_wrapper .point:nth-child(5){left:50%;opacity:1;animation-duration:1.9s}.points_wrapper .point:nth-child(6){left:75%;opacity:.5;animation-duration:1.5s;animation-delay:1.5s}.points_wrapper .point:nth-child(7){left:88%;opacity:.9;animation-duration:2.2s;animation-delay:.2s}.points_wrapper .point:nth-child(8){left:58%;opacity:.8;animation-duration:2.25s;animation-delay:.2s}.points_wrapper .point:nth-child(9){left:98%;opacity:.6;animation-duration:2.6s;animation-delay:.1s}.points_wrapper .point:nth-child(10){left:65%;opacity:1;animation-duration:2.5s;animation-delay:.2s}.inner{z-index:2;gap:6px;position:relative;width:100%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;line-height:1.5;transition:color .2s ease-in-out}.inner svg.icon{width:18px;height:18px;transition:fill .1s linear}.buttonUpdateAllUser:focus svg.icon{fill:#fff}.buttonUpdateAllUser:hover svg.icon{fill:transparent;animation:dasharray 1s linear forwards,filled .1s linear forwards .95s}@keyframes dasharray{0%{stroke-dasharray:0 0 0 0}to{stroke-dasharray:68 68 0 0}}@keyframes filled{to{fill:#fff}}.json-pre[data-v-3439c7d3]{background:#0f172a0d;border:1px solid #e2e8f0;border-radius:.5rem;padding:.75rem 1rem;line-height:1.45;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem;white-space:pre;overflow:auto;max-height:80vh}.max-z-index{z-index:999998}.dev-container{position:fixed;inset:0;z-index:999997;background-color:#000000f0}.nav-scoped{padding-right:38px}.tab-content.scoped{border-top:2px solid #fff}.tab-pane.scoped{overflow-y:auto}.nav-link.text-info.active{color:#000!important}:where(.cic-toolbar){position:fixed;bottom:30px;width:100%;padding:0 24px;z-index:1;box-sizing:border-box;display:flex;justify-content:center;pointer-events:none}:where(.cic-toolbar__tabs){pointer-events:auto;position:relative;display:inline-flex;align-items:center;gap:.25rem;padding:.5rem;border-radius:999px;background-color:#ffffffe0;box-shadow:0 4px 14px #185ee033;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:where(.cic-toolbar__tab){position:relative;z-index:2;border:0;background:transparent;min-width:72px;min-height:38px;padding:.2rem .5rem;border-radius:999px;color:var(--cic-toolbar-dark, #0866e3);opacity:.72;transition:color .2s ease,opacity .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}:where(.cic-toolbar__tab.active){opacity:1}:where(.cic-toolbar__tab:disabled){opacity:.45;cursor:not-allowed}:where(.cic-toolbar__icon),:where(.cic-toolbar__component),:where(.cic-toolbar__img){display:inline-flex;align-items:center;justify-content:center}:where(.cic-toolbar__img){width:24px;height:24px;object-fit:cover}:where(.cic-toolbar__label){line-height:1}:where(.cic-toolbar__glider){position:absolute;inset:0 auto 0 0;z-index:1;margin:.45rem 0;border-radius:999px;background-color:var(--cic-toolbar-light, rgba(49, 71, 94, .3019607843));transition:transform .25s ease}
|
|
@@ -2,7 +2,7 @@ interface Props {
|
|
|
2
2
|
src?: string | null;
|
|
3
3
|
initials?: string;
|
|
4
4
|
/** 'sm'|'md'|'lg'|'xl' o un number (px) */
|
|
5
|
-
size?: 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
5
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
6
6
|
/** Forma del contenitore */
|
|
7
7
|
shape?: 'square' | 'circle';
|
|
8
8
|
/** Se presente, mostra questa icona centrata invece di img/initials (es. un componente icona) */
|
|
@@ -13,7 +13,7 @@ interface Props {
|
|
|
13
13
|
}
|
|
14
14
|
declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
15
15
|
title: string;
|
|
16
|
-
size: "sm" | "md" | "lg" | "xl" | number;
|
|
16
|
+
size: "xs" | "sm" | "md" | "lg" | "xl" | number;
|
|
17
17
|
src: string | null;
|
|
18
18
|
initials: string;
|
|
19
19
|
shape: "square" | "circle";
|