From 85df9a208e01363c5537216409f315490dbcfafe Mon Sep 17 00:00:00 2001 From: Brian Rogers Date: Fri, 14 Aug 2026 11:29:11 -0600 Subject: [PATCH] phase 0 complete --- .claude/settings.local.json | 35 + .env.example | 50 + .gitignore | 5 +- Dockerfile | 28 + Makefile | 33 + cmd/solopm/main.go | 108 + cmd/solopm/migrate.go | 41 + docker-compose.yml | 59 + go.mod | 21 + go.sum | 89 + internal/config/config.go | 139 + internal/config/config_test.go | 96 + internal/db/migrate.go | 73 + .../0001_extensions_and_enums.down.sql | 13 + .../0001_extensions_and_enums.up.sql | 13 + internal/db/queries/system.sql | 2 + internal/db/sqlcgen/db.go | 32 + internal/db/sqlcgen/models.go | 503 ++ internal/db/sqlcgen/querier.go | 15 + internal/db/sqlcgen/system.sql.go | 21 + internal/httpserver/health.go | 75 + internal/httpserver/health_test.go | 59 + internal/httpserver/middleware.go | 30 + internal/httpserver/router.go | 59 + internal/httpserver/spa.go | 37 + internal/httpserver/spa_test.go | 48 + plans/01-architecture.md | 34 +- plans/15-deployment.md | 2 +- plans/16-phases.md | 22 +- sqlc.yaml | 13 + tmp/build-errors.log | 1 + web/.gitignore | 24 + web/.vscode/extensions.json | 3 + web/README.md | 5 + web/design-system/conformity.md | 38 + web/design-system/design-system.md | 161 + web/design-system/lint/stylelint.json | 23 + web/design-system/lint/tokens-schema.json | 159 + web/design-system/setup/INIT.md | 200 + web/design-system/setup/base.html | 251 + web/design-system/setup/get-fonts.sh | 82 + web/design-system/setup/open-sans.css | 81 + web/design-system/setup/package.json | 18 + web/design-system/setup/preview/dashboard.jpg | Bin 0 -> 275775 bytes .../setup/public/assets/css/nucleo-icons.css | 597 ++ .../setup/public/assets/css/nucleo-svg.css | 135 + .../assets/css/soft-ui-dashboard-tailwind.css | 4256 +++++++++ .../public/assets/fonts/nucleo-icons.eot | Bin 0 -> 18516 bytes .../public/assets/fonts/nucleo-icons.svg | 312 + .../public/assets/fonts/nucleo-icons.ttf | Bin 0 -> 18292 bytes .../public/assets/fonts/nucleo-icons.woff | Bin 0 -> 10220 bytes .../public/assets/fonts/nucleo-icons.woff2 | Bin 0 -> 8580 bytes .../setup/public/assets/fonts/nucleo.eot | Bin 0 -> 26524 bytes .../setup/public/assets/fonts/nucleo.ttf | Bin 0 -> 26364 bytes .../setup/public/assets/fonts/nucleo.woff | Bin 0 -> 15168 bytes .../setup/public/assets/fonts/nucleo.woff2 | Bin 0 -> 12616 bytes web/design-system/setup/tailwind.config.js | 1453 +++ web/design-system/tokens.json | 111 + web/embed.go | 10 + web/index.html | 23 + web/package.json | 27 + web/pnpm-lock.yaml | 1723 ++++ web/postcss.config.cjs | 6 + web/public/assets/css/fontawesome/all.css | 7955 +++++++++++++++++ web/public/assets/css/fontawesome/all.min.css | 9 + .../fontawesome/webfonts/fa-brands-400.woff2 | Bin 0 -> 108020 bytes .../fontawesome/webfonts/fa-regular-400.woff2 | Bin 0 -> 24948 bytes .../fontawesome/webfonts/fa-solid-900.woff2 | Bin 0 -> 150124 bytes .../webfonts/fa-v4compatibility.woff2 | Bin 0 -> 4564 bytes web/public/assets/css/nucleo-icons.css | 597 ++ web/public/assets/css/nucleo-svg.css | 135 + web/public/assets/css/open-sans.css | 81 + .../assets/css/soft-ui-dashboard-tailwind.css | 4256 +++++++++ web/public/assets/fonts/nucleo-icons.eot | Bin 0 -> 18516 bytes web/public/assets/fonts/nucleo-icons.svg | 312 + web/public/assets/fonts/nucleo-icons.ttf | Bin 0 -> 18292 bytes web/public/assets/fonts/nucleo-icons.woff | Bin 0 -> 10220 bytes web/public/assets/fonts/nucleo-icons.woff2 | Bin 0 -> 8580 bytes web/public/assets/fonts/nucleo.eot | Bin 0 -> 26524 bytes web/public/assets/fonts/nucleo.ttf | Bin 0 -> 26364 bytes web/public/assets/fonts/nucleo.woff | Bin 0 -> 15168 bytes web/public/assets/fonts/nucleo.woff2 | Bin 0 -> 12616 bytes .../fonts/open-sans/open-sans-300.woff2 | Bin 0 -> 18660 bytes .../fonts/open-sans/open-sans-300italic.woff2 | Bin 0 -> 19292 bytes .../fonts/open-sans/open-sans-400.woff2 | Bin 0 -> 18640 bytes .../fonts/open-sans/open-sans-400italic.woff2 | Bin 0 -> 19304 bytes .../fonts/open-sans/open-sans-600.woff2 | Bin 0 -> 18620 bytes .../fonts/open-sans/open-sans-600italic.woff2 | Bin 0 -> 19268 bytes .../fonts/open-sans/open-sans-700.woff2 | Bin 0 -> 18204 bytes .../fonts/open-sans/open-sans-700italic.woff2 | Bin 0 -> 18872 bytes web/public/favicon.svg | 1 + web/src/App.vue | 9 + web/src/layouts/AppShell.vue | 80 + web/src/main.ts | 7 + web/src/router/index.ts | 9 + web/src/styles/main.css | 55 + web/src/views/DashboardView.vue | 13 + web/tailwind.config.cjs | 17 + web/tsconfig.app.json | 15 + web/tsconfig.json | 7 + web/tsconfig.node.json | 23 + web/vite.config.ts | 14 + 102 files changed, 25019 insertions(+), 30 deletions(-) create mode 100644 .claude/settings.local.json create mode 100644 .env.example create mode 100644 Dockerfile create mode 100644 Makefile create mode 100644 cmd/solopm/main.go create mode 100644 cmd/solopm/migrate.go create mode 100644 docker-compose.yml create mode 100644 go.mod create mode 100644 go.sum create mode 100644 internal/config/config.go create mode 100644 internal/config/config_test.go create mode 100644 internal/db/migrate.go create mode 100644 internal/db/migrations/0001_extensions_and_enums.down.sql create mode 100644 internal/db/migrations/0001_extensions_and_enums.up.sql create mode 100644 internal/db/queries/system.sql create mode 100644 internal/db/sqlcgen/db.go create mode 100644 internal/db/sqlcgen/models.go create mode 100644 internal/db/sqlcgen/querier.go create mode 100644 internal/db/sqlcgen/system.sql.go create mode 100644 internal/httpserver/health.go create mode 100644 internal/httpserver/health_test.go create mode 100644 internal/httpserver/middleware.go create mode 100644 internal/httpserver/router.go create mode 100644 internal/httpserver/spa.go create mode 100644 internal/httpserver/spa_test.go create mode 100644 sqlc.yaml create mode 100644 tmp/build-errors.log create mode 100644 web/.gitignore create mode 100644 web/.vscode/extensions.json create mode 100644 web/README.md create mode 100644 web/design-system/conformity.md create mode 100644 web/design-system/design-system.md create mode 100644 web/design-system/lint/stylelint.json create mode 100644 web/design-system/lint/tokens-schema.json create mode 100644 web/design-system/setup/INIT.md create mode 100644 web/design-system/setup/base.html create mode 100644 web/design-system/setup/get-fonts.sh create mode 100644 web/design-system/setup/open-sans.css create mode 100644 web/design-system/setup/package.json create mode 100644 web/design-system/setup/preview/dashboard.jpg create mode 100644 web/design-system/setup/public/assets/css/nucleo-icons.css create mode 100644 web/design-system/setup/public/assets/css/nucleo-svg.css create mode 100644 web/design-system/setup/public/assets/css/soft-ui-dashboard-tailwind.css create mode 100644 web/design-system/setup/public/assets/fonts/nucleo-icons.eot create mode 100644 web/design-system/setup/public/assets/fonts/nucleo-icons.svg create mode 100644 web/design-system/setup/public/assets/fonts/nucleo-icons.ttf create mode 100644 web/design-system/setup/public/assets/fonts/nucleo-icons.woff create mode 100644 web/design-system/setup/public/assets/fonts/nucleo-icons.woff2 create mode 100644 web/design-system/setup/public/assets/fonts/nucleo.eot create mode 100644 web/design-system/setup/public/assets/fonts/nucleo.ttf create mode 100644 web/design-system/setup/public/assets/fonts/nucleo.woff create mode 100644 web/design-system/setup/public/assets/fonts/nucleo.woff2 create mode 100644 web/design-system/setup/tailwind.config.js create mode 100644 web/design-system/tokens.json create mode 100644 web/embed.go create mode 100644 web/index.html create mode 100644 web/package.json create mode 100644 web/pnpm-lock.yaml create mode 100644 web/postcss.config.cjs create mode 100644 web/public/assets/css/fontawesome/all.css create mode 100644 web/public/assets/css/fontawesome/all.min.css create mode 100644 web/public/assets/css/fontawesome/webfonts/fa-brands-400.woff2 create mode 100644 web/public/assets/css/fontawesome/webfonts/fa-regular-400.woff2 create mode 100644 web/public/assets/css/fontawesome/webfonts/fa-solid-900.woff2 create mode 100644 web/public/assets/css/fontawesome/webfonts/fa-v4compatibility.woff2 create mode 100644 web/public/assets/css/nucleo-icons.css create mode 100644 web/public/assets/css/nucleo-svg.css create mode 100644 web/public/assets/css/open-sans.css create mode 100644 web/public/assets/css/soft-ui-dashboard-tailwind.css create mode 100644 web/public/assets/fonts/nucleo-icons.eot create mode 100644 web/public/assets/fonts/nucleo-icons.svg create mode 100644 web/public/assets/fonts/nucleo-icons.ttf create mode 100644 web/public/assets/fonts/nucleo-icons.woff create mode 100644 web/public/assets/fonts/nucleo-icons.woff2 create mode 100644 web/public/assets/fonts/nucleo.eot create mode 100644 web/public/assets/fonts/nucleo.ttf create mode 100644 web/public/assets/fonts/nucleo.woff create mode 100644 web/public/assets/fonts/nucleo.woff2 create mode 100644 web/public/assets/fonts/open-sans/open-sans-300.woff2 create mode 100644 web/public/assets/fonts/open-sans/open-sans-300italic.woff2 create mode 100644 web/public/assets/fonts/open-sans/open-sans-400.woff2 create mode 100644 web/public/assets/fonts/open-sans/open-sans-400italic.woff2 create mode 100644 web/public/assets/fonts/open-sans/open-sans-600.woff2 create mode 100644 web/public/assets/fonts/open-sans/open-sans-600italic.woff2 create mode 100644 web/public/assets/fonts/open-sans/open-sans-700.woff2 create mode 100644 web/public/assets/fonts/open-sans/open-sans-700italic.woff2 create mode 100644 web/public/favicon.svg create mode 100644 web/src/App.vue create mode 100644 web/src/layouts/AppShell.vue create mode 100644 web/src/main.ts create mode 100644 web/src/router/index.ts create mode 100644 web/src/styles/main.css create mode 100644 web/src/views/DashboardView.vue create mode 100644 web/tailwind.config.cjs create mode 100644 web/tsconfig.app.json create mode 100644 web/tsconfig.json create mode 100644 web/tsconfig.node.json create mode 100644 web/vite.config.ts diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..c90ed68 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,35 @@ +{ + "permissions": { + "allow": [ + "Bash(env)", + "Bash(go mod *)", + "Bash(go get *)", + "Bash(2>&1)", + "Bash(go test *)", + "Bash(go build *)", + "Bash(export DATABASE_URL=\"postgres://app:liquid-carbon-web@postgres:5432/app?sslmode=disable\")", + "Bash(export BASE_URL=\"http://localhost:4080\")", + "Bash(export SESSION_SECRET=\"dev-only-secret-32-bytes-minimum!!\")", + "Bash(go run *)", + "Bash(export HTTP_PORT=4080)", + "Bash(echo \"PID: $!\")", + "Bash(curl -s -i http://localhost:4080/healthz)", + "Bash(kill %1)", + "Bash(wait)", + "Bash(export MEILI_URL=\"http://meilisearch:7700\")", + "Bash(export MEILI_KEY=\"masterkey\")", + "Bash(curl -s http://localhost:4080/healthz)", + "Bash(curl -s -i http://meilisearch:7700/health)", + "Bash(pkill -f \"cmd/solopm serve\")", + "Bash(pkill -f \"go-build.*/exe/solopm\")", + "Bash(timeout 5 curl -sI https://cdn.jsdelivr.net/npm/@fontsource/open-sans@5/files/open-sans-latin-400-normal.woff2)", + "Bash(timeout 5 curl -sI https://github.com/FortAwesome/Font-Awesome/releases/download/6.4.0/fontawesome-free-6.4.0-web.zip)", + "Bash(pnpm create *)", + "Bash(cp -r /references/first-iteration/ai/design-system ./design-system)", + "Bash(cp -r design-system/setup/public/assets public/assets)", + "Bash(bash design-system/setup/get-fonts.sh)", + "Bash(pnpm build *)", + "Bash(go vet *)" + ] + } +} diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..a7a3d9d --- /dev/null +++ b/.env.example @@ -0,0 +1,50 @@ +# Copy to .env and fill in. Required vars have no default and the server +# fails fast at startup if they're missing. + +# --- Required --- + +# pgx connection string, e.g. postgres://user:pass@localhost:5432/solopm +DATABASE_URL= + +# External URL the app is served at. Used in emails, OAuth callbacks, and +# webhook payloads. +BASE_URL=http://localhost:8080 + +# Session cookie signing/encryption key. Must be at least 32 bytes. +SESSION_SECRET= + +# --- Server --- + +HTTP_PORT=8080 +LOG_LEVEL=info + +# --- Attachments --- + +UPLOAD_DIR=./uploads +MAX_UPLOAD_MB=25 + +# --- Search (optional; search endpoints return 503 while unset) --- + +MEILI_URL= +MEILI_KEY= + +# --- Email (optional; disabled while SMTP_HOST is unset) --- + +SMTP_HOST= +SMTP_PORT= +SMTP_USER= +SMTP_PASS= +SMTP_FROM= + +# --- OAuth (optional; the corresponding login button is hidden while unset) --- + +GITHUB_CLIENT_ID= +GITHUB_CLIENT_SECRET= + +GITEA_URL= +GITEA_CLIENT_ID= +GITEA_CLIENT_SECRET= + +# --- Retention --- + +CULL_AFTER_DAYS=30 diff --git a/.gitignore b/.gitignore index 8b13789..6666348 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ - +/solopm +/uploads +.env +.pnpm-store/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5a4f9ef --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +# syntax=docker/dockerfile:1 + +FROM node:22-alpine AS frontend +WORKDIR /src/web +RUN corepack enable +COPY web/package.json web/pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile +COPY web/ ./ +RUN pnpm build + +FROM golang:1.26-alpine AS backend +WORKDIR /src +COPY go.mod go.sum ./ +RUN go mod download +COPY cmd/ cmd/ +COPY internal/ internal/ +COPY web/embed.go web/ +COPY --from=frontend /src/web/dist web/dist +RUN CGO_ENABLED=0 go build -o /out/solopm ./cmd/solopm + +FROM alpine:3.20 +RUN apk add --no-cache ca-certificates && \ + addgroup -S solopm && adduser -S solopm -G solopm +COPY --from=backend /out/solopm /usr/local/bin/solopm +USER solopm +EXPOSE 8080 +ENTRYPOINT ["solopm"] +CMD ["serve"] diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..74f7748 --- /dev/null +++ b/Makefile @@ -0,0 +1,33 @@ +.PHONY: dev build test fmt vet lint sqlc migrate-up migrate-down + +dev: + @trap 'kill 0' EXIT; \ + (cd web && pnpm dev) & \ + go run ./cmd/solopm serve & \ + wait + +build: + cd web && pnpm install && pnpm build + go build -ldflags "-X main.version=$$(git describe --tags --always --dirty 2>/dev/null || echo dev)" -o solopm ./cmd/solopm + +test: + go test ./... + +fmt: + gofmt -l -w . + +vet: + go vet ./... + +lint: vet + golangci-lint run ./... + cd web && pnpm exec vue-tsc -b --noEmit + +sqlc: + sqlc generate + +migrate-up: + go run ./cmd/solopm migrate up + +migrate-down: + go run ./cmd/solopm migrate down diff --git a/cmd/solopm/main.go b/cmd/solopm/main.go new file mode 100644 index 0000000..0c87486 --- /dev/null +++ b/cmd/solopm/main.go @@ -0,0 +1,108 @@ +// Command solopm is the SoloPM server binary: serves the JSON API and the +// embedded Vue SPA, and hosts CLI subcommands (migrate, reindex, cull). +package main + +import ( + "context" + "io/fs" + "log/slog" + "net/http" + "os" + "os/signal" + "syscall" + "time" + + "github.com/jackc/pgx/v5/pgxpool" + "github.com/joho/godotenv" + + "solopm.com/solopm-server/internal/config" + "solopm.com/solopm-server/internal/httpserver" + solopmweb "solopm.com/solopm-server/web" +) + +var version = "dev" + +func main() { + // Best-effort: .env is a local-dev convenience, absent in Docker/prod + // where real env vars are set directly. + _ = godotenv.Load() + + if len(os.Args) > 1 { + switch os.Args[1] { + case "migrate": + runMigrateCmd(os.Args[2:]) + return + case "serve": + // falls through to default serve below + default: + slog.Error("unknown subcommand", "subcommand", os.Args[1]) + os.Exit(1) + } + } + + if err := serve(); err != nil { + slog.Error("server exited with error", "error", err) + os.Exit(1) + } +} + +func serve() error { + cfg, err := config.Load() + if err != nil { + return err + } + + logLevel := slog.LevelInfo + if cfg.LogLevel == "debug" { + logLevel = slog.LevelDebug + } + logger := slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: logLevel})) + slog.SetDefault(logger) + + ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM) + defer stop() + + pool, err := pgxpool.New(ctx, cfg.DatabaseURL) + if err != nil { + return err + } + defer pool.Close() + + if err := runMigrations(cfg.DatabaseURL); err != nil { + return err + } + + spaFS, err := fs.Sub(solopmweb.DistFS, "dist") + if err != nil { + return err + } + + router := httpserver.New(httpserver.Options{ + Config: cfg, + Logger: logger, + DB: pool, + Version: version, + Dev: cfg.LogLevel == "debug", + SPA: spaFS, + }) + + srv := &http.Server{ + Addr: ":" + cfg.HTTPPort, + Handler: router, + } + + go func() { + logger.Info("listening", "port", cfg.HTTPPort, "version", version) + if err := srv.ListenAndServe(); err != nil && err != http.ErrServerClosed { + logger.Error("listen error", "error", err) + } + }() + + <-ctx.Done() + logger.Info("shutting down") + + shutdownCtx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + + return srv.Shutdown(shutdownCtx) +} diff --git a/cmd/solopm/migrate.go b/cmd/solopm/migrate.go new file mode 100644 index 0000000..6b92f69 --- /dev/null +++ b/cmd/solopm/migrate.go @@ -0,0 +1,41 @@ +package main + +import ( + "fmt" + "os" + + "solopm.com/solopm-server/internal/config" + "solopm.com/solopm-server/internal/db" +) + +// runMigrations applies pending migrations at startup. Called by serve() +// unless a future --no-migrate flag disables it. +func runMigrations(databaseURL string) error { + return db.MigrateUp(databaseURL) +} + +// runMigrateCmd implements `solopm migrate up|down`. +func runMigrateCmd(args []string) { + if len(args) != 1 || (args[0] != "up" && args[0] != "down") { + fmt.Fprintln(os.Stderr, "usage: solopm migrate up|down") + os.Exit(1) + } + + cfg, err := config.Load() + if err != nil { + fmt.Fprintln(os.Stderr, "error:", err) + os.Exit(1) + } + + switch args[0] { + case "up": + err = db.MigrateUp(cfg.DatabaseURL) + case "down": + err = db.MigrateDown(cfg.DatabaseURL) + } + if err != nil { + fmt.Fprintln(os.Stderr, "error:", err) + os.Exit(1) + } + fmt.Println("migrate " + args[0] + ": ok") +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6bcf72c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,59 @@ +services: + app: + build: . + image: solopm:local + ports: + - "8080:8080" + env_file: + - .env + environment: + DATABASE_URL: postgres://solopm:solopm@postgres:5432/solopm?sslmode=disable + MEILI_URL: http://meilisearch:7700 + UPLOAD_DIR: /data/uploads + SMTP_HOST: ${SMTP_HOST:-mailhog} + SMTP_PORT: ${SMTP_PORT:-1025} + volumes: + - uploads:/data/uploads + depends_on: + postgres: + condition: service_healthy + meilisearch: + condition: service_healthy + + postgres: + image: postgres:16-alpine + environment: + POSTGRES_USER: solopm + POSTGRES_PASSWORD: solopm + POSTGRES_DB: solopm + volumes: + - pgdata:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U solopm"] + interval: 5s + timeout: 5s + retries: 10 + + meilisearch: + image: getmeili/meilisearch:v1.10 + environment: + MEILI_MASTER_KEY: ${MEILI_KEY:-} + MEILI_NO_ANALYTICS: "true" + volumes: + - meilidata:/meili_data + healthcheck: + test: ["CMD-SHELL", "wget -qO- http://localhost:7700/health || exit 1"] + interval: 5s + timeout: 5s + retries: 10 + + mailhog: + image: mailhog/mailhog + profiles: ["dev"] + ports: + - "8025:8025" # web UI + +volumes: + pgdata: + meilidata: + uploads: diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..7564bd9 --- /dev/null +++ b/go.mod @@ -0,0 +1,21 @@ +module solopm.com/solopm-server + +go 1.26.3 + +require ( + github.com/go-chi/chi/v5 v5.3.1 + github.com/go-chi/cors v1.2.2 + github.com/golang-migrate/migrate/v4 v4.19.1 + github.com/jackc/pgx/v5 v5.10.0 +) + +require ( + github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa // indirect + github.com/jackc/pgpassfile v1.0.0 // indirect + github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect + github.com/jackc/puddle/v2 v2.2.2 // indirect + github.com/joho/godotenv v1.5.1 // indirect + golang.org/x/sync v0.22.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/text v0.41.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..1edffb8 --- /dev/null +++ b/go.sum @@ -0,0 +1,89 @@ +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= +github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= +github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= +github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dhui/dktest v0.4.6 h1:+DPKyScKSEp3VLtbMDHcUq6V5Lm5zfZZVb0Sk7Ahom4= +github.com/dhui/dktest v0.4.6/go.mod h1:JHTSYDtKkvFNFHJKqCzVzqXecyv+tKt8EzceOmQOgbU= +github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= +github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/docker/docker v28.3.3+incompatible h1:Dypm25kh4rmk49v1eiVbsAtpAsYURjYkaKubwuBdxEI= +github.com/docker/docker v28.3.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= +github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/go-chi/chi/v5 v5.3.1 h1:3j4HZLGZQ3JpMCrPJF/Jl3mYJfWLKBfNJ6quurUGCf8= +github.com/go-chi/chi/v5 v5.3.1/go.mod h1:R+tYY2hNuVUUjxoPtqUdgBqevM9s9njzkTLutVsOCto= +github.com/go-chi/cors v1.2.2 h1:Jmey33TE+b+rB7fT8MUy1u0I4L+NARQlK6LhzKPSyQE= +github.com/go-chi/cors v1.2.2/go.mod h1:sSbTewc+6wYHBBCW7ytsFSn836hqM7JxpglAy2Vzc58= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-migrate/migrate/v4 v4.19.1 h1:OCyb44lFuQfYXYLx1SCxPZQGU7mcaZ7gH9yH4jSFbBA= +github.com/golang-migrate/migrate/v4 v4.19.1/go.mod h1:CTcgfjxhaUtsLipnLoQRWCrjYXycRz/g5+RWDuYgPrE= +github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa h1:s+4MhCQ6YrzisK6hFJUX53drDT4UsSW3DEhKn0ifuHw= +github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa/go.mod h1:a/s9Lp5W7n/DD0VrVoyJ00FbP2ytTPDVOivvn2bMlds= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgx/v5 v5.10.0 h1:VhSvgU2jSli8o3AqIEOTJr7rZwAEUVo4E4XhR94Zfr0= +github.com/jackc/pgx/v5 v5.10.0/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4= +github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo= +github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= +github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= +github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= +github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= +github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= +github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= +go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ= +go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I= +go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE= +go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E= +go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4= +go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8= +golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/internal/config/config.go b/internal/config/config.go new file mode 100644 index 0000000..ecfc06d --- /dev/null +++ b/internal/config/config.go @@ -0,0 +1,139 @@ +// Package config loads and validates SoloPM's environment-variable configuration. +package config + +import ( + "fmt" + "os" + "strconv" + "strings" +) + +// Config holds every environment-driven setting for the SoloPM server. +type Config struct { + DatabaseURL string + HTTPPort string + BaseURL string + SessionSecret string + UploadDir string + MaxUploadMB int + + MeiliURL string + MeiliKey string + + SMTPHost string + SMTPPort string + SMTPUser string + SMTPPass string + SMTPFrom string + + GitHubClientID string + GitHubClientSecret string + + GiteaURL string + GiteaClientID string + GiteaClientSecret string + + CullAfterDays int + LogLevel string +} + +// SearchEnabled reports whether Meilisearch is configured. +func (c *Config) SearchEnabled() bool { + return c.MeiliURL != "" && c.MeiliKey != "" +} + +// EmailEnabled reports whether SMTP is configured. +func (c *Config) EmailEnabled() bool { + return c.SMTPHost != "" +} + +// GitHubOAuthEnabled reports whether GitHub OAuth is configured. +func (c *Config) GitHubOAuthEnabled() bool { + return c.GitHubClientID != "" && c.GitHubClientSecret != "" +} + +// GiteaOAuthEnabled reports whether Gitea OAuth is configured. +func (c *Config) GiteaOAuthEnabled() bool { + return c.GiteaURL != "" && c.GiteaClientID != "" && c.GiteaClientSecret != "" +} + +// Load reads configuration from the environment, applying defaults and +// failing fast (returning an error) if a required variable is missing or +// malformed. +func Load() (*Config, error) { + var missing []string + required := func(key string) string { + v := os.Getenv(key) + if v == "" { + missing = append(missing, key) + } + return v + } + + c := &Config{ + DatabaseURL: required("DATABASE_URL"), + HTTPPort: getDefault("HTTP_PORT", "8080"), + BaseURL: required("BASE_URL"), + SessionSecret: required("SESSION_SECRET"), + UploadDir: getDefault("UPLOAD_DIR", "./uploads"), + + MeiliURL: os.Getenv("MEILI_URL"), + MeiliKey: os.Getenv("MEILI_KEY"), + + SMTPHost: os.Getenv("SMTP_HOST"), + SMTPPort: os.Getenv("SMTP_PORT"), + SMTPUser: os.Getenv("SMTP_USER"), + SMTPPass: os.Getenv("SMTP_PASS"), + SMTPFrom: os.Getenv("SMTP_FROM"), + + GitHubClientID: os.Getenv("GITHUB_CLIENT_ID"), + GitHubClientSecret: os.Getenv("GITHUB_CLIENT_SECRET"), + + GiteaURL: os.Getenv("GITEA_URL"), + GiteaClientID: os.Getenv("GITEA_CLIENT_ID"), + GiteaClientSecret: os.Getenv("GITEA_CLIENT_SECRET"), + + LogLevel: getDefault("LOG_LEVEL", "info"), + } + + if len(missing) > 0 { + return nil, fmt.Errorf("config: missing required environment variable(s): %s", strings.Join(missing, ", ")) + } + + if len(c.SessionSecret) < 32 { + return nil, fmt.Errorf("config: SESSION_SECRET must be at least 32 bytes, got %d", len(c.SessionSecret)) + } + + maxUploadMB, err := getIntDefault("MAX_UPLOAD_MB", 25) + if err != nil { + return nil, err + } + c.MaxUploadMB = maxUploadMB + + cullAfterDays, err := getIntDefault("CULL_AFTER_DAYS", 30) + if err != nil { + return nil, err + } + c.CullAfterDays = cullAfterDays + + return c, nil +} + +func getDefault(key, def string) string { + if v := os.Getenv(key); v != "" { + return v + } + return def +} + +func getIntDefault(key string, def int) (int, error) { + v := os.Getenv(key) + if v == "" { + return def, nil + } + n, err := strconv.Atoi(v) + if err != nil { + return 0, fmt.Errorf("config: %s must be an integer, got %q", key, v) + } + return n, nil +} diff --git a/internal/config/config_test.go b/internal/config/config_test.go new file mode 100644 index 0000000..6e20a28 --- /dev/null +++ b/internal/config/config_test.go @@ -0,0 +1,96 @@ +package config + +import "testing" + +func clearEnv(t *testing.T) { + t.Helper() + keys := []string{ + "DATABASE_URL", "HTTP_PORT", "BASE_URL", "SESSION_SECRET", "UPLOAD_DIR", + "MAX_UPLOAD_MB", "MEILI_URL", "MEILI_KEY", "SMTP_HOST", "SMTP_PORT", + "SMTP_USER", "SMTP_PASS", "SMTP_FROM", "GITHUB_CLIENT_ID", "GITHUB_CLIENT_SECRET", + "GITEA_URL", "GITEA_CLIENT_ID", "GITEA_CLIENT_SECRET", "CULL_AFTER_DAYS", "LOG_LEVEL", + } + for _, k := range keys { + t.Setenv(k, "") + } +} + +func validRequired(t *testing.T) { + t.Helper() + t.Setenv("DATABASE_URL", "postgres://localhost/solopm") + t.Setenv("BASE_URL", "http://localhost:8080") + t.Setenv("SESSION_SECRET", "01234567890123456789012345678901") +} + +func TestLoad_MissingRequired(t *testing.T) { + clearEnv(t) + _, err := Load() + if err == nil { + t.Fatal("expected error for missing required vars, got nil") + } +} + +func TestLoad_ShortSessionSecret(t *testing.T) { + clearEnv(t) + t.Setenv("DATABASE_URL", "postgres://localhost/solopm") + t.Setenv("BASE_URL", "http://localhost:8080") + t.Setenv("SESSION_SECRET", "tooshort") + _, err := Load() + if err == nil { + t.Fatal("expected error for short SESSION_SECRET, got nil") + } +} + +func TestLoad_Defaults(t *testing.T) { + clearEnv(t) + validRequired(t) + c, err := Load() + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if c.HTTPPort != "8080" { + t.Errorf("HTTPPort = %q, want 8080", c.HTTPPort) + } + if c.UploadDir != "./uploads" { + t.Errorf("UploadDir = %q, want ./uploads", c.UploadDir) + } + if c.MaxUploadMB != 25 { + t.Errorf("MaxUploadMB = %d, want 25", c.MaxUploadMB) + } + if c.CullAfterDays != 30 { + t.Errorf("CullAfterDays = %d, want 30", c.CullAfterDays) + } + if c.LogLevel != "info" { + t.Errorf("LogLevel = %q, want info", c.LogLevel) + } + if c.SearchEnabled() { + t.Error("SearchEnabled() = true, want false when MEILI_URL/KEY unset") + } + if c.EmailEnabled() { + t.Error("EmailEnabled() = true, want false when SMTP_HOST unset") + } +} + +func TestLoad_SearchEnabled(t *testing.T) { + clearEnv(t) + validRequired(t) + t.Setenv("MEILI_URL", "http://meilisearch:7700") + t.Setenv("MEILI_KEY", "key") + c, err := Load() + if err != nil { + t.Fatalf("unexpected error: %v", err) + } + if !c.SearchEnabled() { + t.Error("SearchEnabled() = false, want true when MEILI_URL/KEY set") + } +} + +func TestLoad_InvalidInt(t *testing.T) { + clearEnv(t) + validRequired(t) + t.Setenv("MAX_UPLOAD_MB", "not-a-number") + _, err := Load() + if err == nil { + t.Fatal("expected error for non-integer MAX_UPLOAD_MB, got nil") + } +} diff --git a/internal/db/migrate.go b/internal/db/migrate.go new file mode 100644 index 0000000..e2a47be --- /dev/null +++ b/internal/db/migrate.go @@ -0,0 +1,73 @@ +// Package db holds the embedded golang-migrate migrations and the sqlc +// generated query code (internal/db/sqlcgen). +package db + +import ( + "embed" + "errors" + "fmt" + "net/url" + + "github.com/golang-migrate/migrate/v4" + _ "github.com/golang-migrate/migrate/v4/database/pgx/v5" + "github.com/golang-migrate/migrate/v4/source/iofs" +) + +//go:embed migrations/*.sql +var migrationsFS embed.FS + +// newMigrate builds a *migrate.Migrate over the embedded migration files and +// the given database connection string. +func newMigrate(databaseURL string) (*migrate.Migrate, error) { + sourceDriver, err := iofs.New(migrationsFS, "migrations") + if err != nil { + return nil, fmt.Errorf("db: loading embedded migrations: %w", err) + } + + m, err := migrate.NewWithSourceInstance("iofs", sourceDriver, wrapDatabaseURL(databaseURL)) + if err != nil { + return nil, fmt.Errorf("db: initializing migrate: %w", err) + } + return m, nil +} + +// wrapDatabaseURL swaps the postgres(ql):// scheme for pgx5:// as required +// by golang-migrate's pgx/v5 database driver registration. +func wrapDatabaseURL(databaseURL string) string { + u, err := url.Parse(databaseURL) + if err != nil { + return databaseURL + } + u.Scheme = "pgx5" + return u.String() +} + +// MigrateUp applies all pending migrations. It returns nil if there is +// nothing to do. +func MigrateUp(databaseURL string) error { + m, err := newMigrate(databaseURL) + if err != nil { + return err + } + defer func() { _, _ = m.Close() }() + + if err := m.Up(); err != nil && !errors.Is(err, migrate.ErrNoChange) { + return fmt.Errorf("db: migrate up: %w", err) + } + return nil +} + +// MigrateDown rolls back all migrations. It returns nil if there is nothing +// to do. +func MigrateDown(databaseURL string) error { + m, err := newMigrate(databaseURL) + if err != nil { + return err + } + defer func() { _, _ = m.Close() }() + + if err := m.Down(); err != nil && !errors.Is(err, migrate.ErrNoChange) { + return fmt.Errorf("db: migrate down: %w", err) + } + return nil +} diff --git a/internal/db/migrations/0001_extensions_and_enums.down.sql b/internal/db/migrations/0001_extensions_and_enums.down.sql new file mode 100644 index 0000000..77fb758 --- /dev/null +++ b/internal/db/migrations/0001_extensions_and_enums.down.sql @@ -0,0 +1,13 @@ +DROP TYPE IF EXISTS email_mode; +DROP TYPE IF EXISTS delivery_status; +DROP TYPE IF EXISTS receipt_status; +DROP TYPE IF EXISTS job_status; +DROP TYPE IF EXISTS resource_kind; +DROP TYPE IF EXISTS auth_provider; +DROP TYPE IF EXISTS member_role; +DROP TYPE IF EXISTS priority; +DROP TYPE IF EXISTS issue_status; +DROP TYPE IF EXISTS epic_status; +DROP TYPE IF EXISTS project_status; + +DROP EXTENSION IF EXISTS citext; diff --git a/internal/db/migrations/0001_extensions_and_enums.up.sql b/internal/db/migrations/0001_extensions_and_enums.up.sql new file mode 100644 index 0000000..9266c26 --- /dev/null +++ b/internal/db/migrations/0001_extensions_and_enums.up.sql @@ -0,0 +1,13 @@ +CREATE EXTENSION IF NOT EXISTS citext; + +CREATE TYPE project_status AS ENUM ('backlog', 'planned', 'in_progress', 'completed', 'canceled'); +CREATE TYPE epic_status AS ENUM ('backlog', 'planned', 'in_progress', 'completed', 'canceled'); +CREATE TYPE issue_status AS ENUM ('backlog', 'planned', 'in_progress', 'ready_for_review', 'done', 'canceled', 'duplicate'); +CREATE TYPE priority AS ENUM ('low', 'medium', 'high', 'urgent', 'frantic'); +CREATE TYPE member_role AS ENUM ('owner', 'member'); +CREATE TYPE auth_provider AS ENUM ('github', 'gitea'); +CREATE TYPE resource_kind AS ENUM ('project', 'issue', 'epic', 'comment', 'wiki_page', 'user', 'label', 'attachment', 'link', 'member', 'webhook', 'auth'); +CREATE TYPE job_status AS ENUM ('pending', 'running', 'done', 'failed', 'dead'); +CREATE TYPE receipt_status AS ENUM ('pending', 'processed', 'failed', 'ignored'); +CREATE TYPE delivery_status AS ENUM ('pending', 'success', 'failed'); +CREATE TYPE email_mode AS ENUM ('off', 'instant', 'daily_digest'); diff --git a/internal/db/queries/system.sql b/internal/db/queries/system.sql new file mode 100644 index 0000000..9bd5c10 --- /dev/null +++ b/internal/db/queries/system.sql @@ -0,0 +1,2 @@ +-- name: Ping :one +SELECT 1::int AS ok; diff --git a/internal/db/sqlcgen/db.go b/internal/db/sqlcgen/db.go new file mode 100644 index 0000000..38811fc --- /dev/null +++ b/internal/db/sqlcgen/db.go @@ -0,0 +1,32 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.31.1 + +package sqlcgen + +import ( + "context" + + "github.com/jackc/pgx/v5" + "github.com/jackc/pgx/v5/pgconn" +) + +type DBTX interface { + Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error) + Query(context.Context, string, ...interface{}) (pgx.Rows, error) + QueryRow(context.Context, string, ...interface{}) pgx.Row +} + +func New(db DBTX) *Queries { + return &Queries{db: db} +} + +type Queries struct { + db DBTX +} + +func (q *Queries) WithTx(tx pgx.Tx) *Queries { + return &Queries{ + db: tx, + } +} diff --git a/internal/db/sqlcgen/models.go b/internal/db/sqlcgen/models.go new file mode 100644 index 0000000..d6fc1b5 --- /dev/null +++ b/internal/db/sqlcgen/models.go @@ -0,0 +1,503 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.31.1 + +package sqlcgen + +import ( + "database/sql/driver" + "fmt" +) + +type AuthProvider string + +const ( + AuthProviderGithub AuthProvider = "github" + AuthProviderGitea AuthProvider = "gitea" +) + +func (e *AuthProvider) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = AuthProvider(s) + case string: + *e = AuthProvider(s) + default: + return fmt.Errorf("unsupported scan type for AuthProvider: %T", src) + } + return nil +} + +type NullAuthProvider struct { + AuthProvider AuthProvider `json:"auth_provider"` + Valid bool `json:"valid"` // Valid is true if AuthProvider is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullAuthProvider) Scan(value interface{}) error { + if value == nil { + ns.AuthProvider, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.AuthProvider.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullAuthProvider) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.AuthProvider), nil +} + +type DeliveryStatus string + +const ( + DeliveryStatusPending DeliveryStatus = "pending" + DeliveryStatusSuccess DeliveryStatus = "success" + DeliveryStatusFailed DeliveryStatus = "failed" +) + +func (e *DeliveryStatus) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = DeliveryStatus(s) + case string: + *e = DeliveryStatus(s) + default: + return fmt.Errorf("unsupported scan type for DeliveryStatus: %T", src) + } + return nil +} + +type NullDeliveryStatus struct { + DeliveryStatus DeliveryStatus `json:"delivery_status"` + Valid bool `json:"valid"` // Valid is true if DeliveryStatus is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullDeliveryStatus) Scan(value interface{}) error { + if value == nil { + ns.DeliveryStatus, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.DeliveryStatus.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullDeliveryStatus) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.DeliveryStatus), nil +} + +type EmailMode string + +const ( + EmailModeOff EmailMode = "off" + EmailModeInstant EmailMode = "instant" + EmailModeDailyDigest EmailMode = "daily_digest" +) + +func (e *EmailMode) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = EmailMode(s) + case string: + *e = EmailMode(s) + default: + return fmt.Errorf("unsupported scan type for EmailMode: %T", src) + } + return nil +} + +type NullEmailMode struct { + EmailMode EmailMode `json:"email_mode"` + Valid bool `json:"valid"` // Valid is true if EmailMode is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullEmailMode) Scan(value interface{}) error { + if value == nil { + ns.EmailMode, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.EmailMode.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullEmailMode) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.EmailMode), nil +} + +type EpicStatus string + +const ( + EpicStatusBacklog EpicStatus = "backlog" + EpicStatusPlanned EpicStatus = "planned" + EpicStatusInProgress EpicStatus = "in_progress" + EpicStatusCompleted EpicStatus = "completed" + EpicStatusCanceled EpicStatus = "canceled" +) + +func (e *EpicStatus) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = EpicStatus(s) + case string: + *e = EpicStatus(s) + default: + return fmt.Errorf("unsupported scan type for EpicStatus: %T", src) + } + return nil +} + +type NullEpicStatus struct { + EpicStatus EpicStatus `json:"epic_status"` + Valid bool `json:"valid"` // Valid is true if EpicStatus is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullEpicStatus) Scan(value interface{}) error { + if value == nil { + ns.EpicStatus, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.EpicStatus.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullEpicStatus) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.EpicStatus), nil +} + +type IssueStatus string + +const ( + IssueStatusBacklog IssueStatus = "backlog" + IssueStatusPlanned IssueStatus = "planned" + IssueStatusInProgress IssueStatus = "in_progress" + IssueStatusReadyForReview IssueStatus = "ready_for_review" + IssueStatusDone IssueStatus = "done" + IssueStatusCanceled IssueStatus = "canceled" + IssueStatusDuplicate IssueStatus = "duplicate" +) + +func (e *IssueStatus) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = IssueStatus(s) + case string: + *e = IssueStatus(s) + default: + return fmt.Errorf("unsupported scan type for IssueStatus: %T", src) + } + return nil +} + +type NullIssueStatus struct { + IssueStatus IssueStatus `json:"issue_status"` + Valid bool `json:"valid"` // Valid is true if IssueStatus is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullIssueStatus) Scan(value interface{}) error { + if value == nil { + ns.IssueStatus, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.IssueStatus.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullIssueStatus) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.IssueStatus), nil +} + +type JobStatus string + +const ( + JobStatusPending JobStatus = "pending" + JobStatusRunning JobStatus = "running" + JobStatusDone JobStatus = "done" + JobStatusFailed JobStatus = "failed" + JobStatusDead JobStatus = "dead" +) + +func (e *JobStatus) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = JobStatus(s) + case string: + *e = JobStatus(s) + default: + return fmt.Errorf("unsupported scan type for JobStatus: %T", src) + } + return nil +} + +type NullJobStatus struct { + JobStatus JobStatus `json:"job_status"` + Valid bool `json:"valid"` // Valid is true if JobStatus is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullJobStatus) Scan(value interface{}) error { + if value == nil { + ns.JobStatus, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.JobStatus.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullJobStatus) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.JobStatus), nil +} + +type MemberRole string + +const ( + MemberRoleOwner MemberRole = "owner" + MemberRoleMember MemberRole = "member" +) + +func (e *MemberRole) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = MemberRole(s) + case string: + *e = MemberRole(s) + default: + return fmt.Errorf("unsupported scan type for MemberRole: %T", src) + } + return nil +} + +type NullMemberRole struct { + MemberRole MemberRole `json:"member_role"` + Valid bool `json:"valid"` // Valid is true if MemberRole is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullMemberRole) Scan(value interface{}) error { + if value == nil { + ns.MemberRole, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.MemberRole.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullMemberRole) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.MemberRole), nil +} + +type Priority string + +const ( + PriorityLow Priority = "low" + PriorityMedium Priority = "medium" + PriorityHigh Priority = "high" + PriorityUrgent Priority = "urgent" + PriorityFrantic Priority = "frantic" +) + +func (e *Priority) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = Priority(s) + case string: + *e = Priority(s) + default: + return fmt.Errorf("unsupported scan type for Priority: %T", src) + } + return nil +} + +type NullPriority struct { + Priority Priority `json:"priority"` + Valid bool `json:"valid"` // Valid is true if Priority is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullPriority) Scan(value interface{}) error { + if value == nil { + ns.Priority, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.Priority.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullPriority) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.Priority), nil +} + +type ProjectStatus string + +const ( + ProjectStatusBacklog ProjectStatus = "backlog" + ProjectStatusPlanned ProjectStatus = "planned" + ProjectStatusInProgress ProjectStatus = "in_progress" + ProjectStatusCompleted ProjectStatus = "completed" + ProjectStatusCanceled ProjectStatus = "canceled" +) + +func (e *ProjectStatus) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = ProjectStatus(s) + case string: + *e = ProjectStatus(s) + default: + return fmt.Errorf("unsupported scan type for ProjectStatus: %T", src) + } + return nil +} + +type NullProjectStatus struct { + ProjectStatus ProjectStatus `json:"project_status"` + Valid bool `json:"valid"` // Valid is true if ProjectStatus is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullProjectStatus) Scan(value interface{}) error { + if value == nil { + ns.ProjectStatus, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.ProjectStatus.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullProjectStatus) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.ProjectStatus), nil +} + +type ReceiptStatus string + +const ( + ReceiptStatusPending ReceiptStatus = "pending" + ReceiptStatusProcessed ReceiptStatus = "processed" + ReceiptStatusFailed ReceiptStatus = "failed" + ReceiptStatusIgnored ReceiptStatus = "ignored" +) + +func (e *ReceiptStatus) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = ReceiptStatus(s) + case string: + *e = ReceiptStatus(s) + default: + return fmt.Errorf("unsupported scan type for ReceiptStatus: %T", src) + } + return nil +} + +type NullReceiptStatus struct { + ReceiptStatus ReceiptStatus `json:"receipt_status"` + Valid bool `json:"valid"` // Valid is true if ReceiptStatus is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullReceiptStatus) Scan(value interface{}) error { + if value == nil { + ns.ReceiptStatus, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.ReceiptStatus.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullReceiptStatus) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.ReceiptStatus), nil +} + +type ResourceKind string + +const ( + ResourceKindProject ResourceKind = "project" + ResourceKindIssue ResourceKind = "issue" + ResourceKindEpic ResourceKind = "epic" + ResourceKindComment ResourceKind = "comment" + ResourceKindWikiPage ResourceKind = "wiki_page" + ResourceKindUser ResourceKind = "user" + ResourceKindLabel ResourceKind = "label" + ResourceKindAttachment ResourceKind = "attachment" + ResourceKindLink ResourceKind = "link" + ResourceKindMember ResourceKind = "member" + ResourceKindWebhook ResourceKind = "webhook" + ResourceKindAuth ResourceKind = "auth" +) + +func (e *ResourceKind) Scan(src interface{}) error { + switch s := src.(type) { + case []byte: + *e = ResourceKind(s) + case string: + *e = ResourceKind(s) + default: + return fmt.Errorf("unsupported scan type for ResourceKind: %T", src) + } + return nil +} + +type NullResourceKind struct { + ResourceKind ResourceKind `json:"resource_kind"` + Valid bool `json:"valid"` // Valid is true if ResourceKind is not NULL +} + +// Scan implements the Scanner interface. +func (ns *NullResourceKind) Scan(value interface{}) error { + if value == nil { + ns.ResourceKind, ns.Valid = "", false + return nil + } + ns.Valid = true + return ns.ResourceKind.Scan(value) +} + +// Value implements the driver Valuer interface. +func (ns NullResourceKind) Value() (driver.Value, error) { + if !ns.Valid { + return nil, nil + } + return string(ns.ResourceKind), nil +} diff --git a/internal/db/sqlcgen/querier.go b/internal/db/sqlcgen/querier.go new file mode 100644 index 0000000..4810fb4 --- /dev/null +++ b/internal/db/sqlcgen/querier.go @@ -0,0 +1,15 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.31.1 + +package sqlcgen + +import ( + "context" +) + +type Querier interface { + Ping(ctx context.Context) (int32, error) +} + +var _ Querier = (*Queries)(nil) diff --git a/internal/db/sqlcgen/system.sql.go b/internal/db/sqlcgen/system.sql.go new file mode 100644 index 0000000..4ae560c --- /dev/null +++ b/internal/db/sqlcgen/system.sql.go @@ -0,0 +1,21 @@ +// Code generated by sqlc. DO NOT EDIT. +// versions: +// sqlc v1.31.1 +// source: system.sql + +package sqlcgen + +import ( + "context" +) + +const ping = `-- name: Ping :one +SELECT 1::int AS ok +` + +func (q *Queries) Ping(ctx context.Context) (int32, error) { + row := q.db.QueryRow(ctx, ping) + var ok int32 + err := row.Scan(&ok) + return ok, err +} diff --git a/internal/httpserver/health.go b/internal/httpserver/health.go new file mode 100644 index 0000000..c60e47f --- /dev/null +++ b/internal/httpserver/health.go @@ -0,0 +1,75 @@ +package httpserver + +import ( + "context" + "encoding/json" + "net/http" + "time" + + "solopm.com/solopm-server/internal/config" +) + +// DBPinger is the subset of *pgxpool.Pool used for health checks. +type DBPinger interface { + Ping(ctx context.Context) error +} + +type healthResponse struct { + Status string `json:"status"` + Version string `json:"version"` + Database string `json:"database"` + Meilisearch string `json:"meilisearch"` + SMTP string `json:"smtp"` +} + +func healthzHandler(cfg *config.Config, db DBPinger, version string) http.HandlerFunc { + httpClient := &http.Client{Timeout: 2 * time.Second} + + return func(w http.ResponseWriter, r *http.Request) { + ctx, cancel := context.WithTimeout(r.Context(), 2*time.Second) + defer cancel() + + resp := healthResponse{ + Status: "ok", + Version: version, + Meilisearch: "absent", + SMTP: "absent", + } + + if err := db.Ping(ctx); err != nil { + resp.Status = "error" + resp.Database = "unreachable" + } else { + resp.Database = "ok" + } + + if cfg.SearchEnabled() { + req, err := http.NewRequestWithContext(ctx, http.MethodGet, cfg.MeiliURL+"/health", nil) + if err == nil { + if hr, err := httpClient.Do(req); err == nil { + _ = hr.Body.Close() + if hr.StatusCode == http.StatusOK { + resp.Meilisearch = "ok" + } else { + resp.Meilisearch = "unreachable" + } + } else { + resp.Meilisearch = "unreachable" + } + } + } + + if cfg.EmailEnabled() { + resp.SMTP = "ok" + } + + status := http.StatusOK + if resp.Status != "ok" { + status = http.StatusServiceUnavailable + } + + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(status) + _ = json.NewEncoder(w).Encode(resp) + } +} diff --git a/internal/httpserver/health_test.go b/internal/httpserver/health_test.go new file mode 100644 index 0000000..012a948 --- /dev/null +++ b/internal/httpserver/health_test.go @@ -0,0 +1,59 @@ +package httpserver + +import ( + "context" + "encoding/json" + "errors" + "net/http" + "net/http/httptest" + "testing" + + "solopm.com/solopm-server/internal/config" +) + +type stubPinger struct{ err error } + +func (s stubPinger) Ping(ctx context.Context) error { return s.err } + +func TestHealthzHandler(t *testing.T) { + cfg := &config.Config{} // no MEILI_URL/SMTP_HOST set: both report "absent" + + t.Run("db ok", func(t *testing.T) { + rec := httptest.NewRecorder() + req := httptest.NewRequest(http.MethodGet, "/healthz", nil) + + healthzHandler(cfg, stubPinger{}, "test")(rec, req) + + if rec.Code != http.StatusOK { + t.Fatalf("status = %d, want 200", rec.Code) + } + var body healthResponse + if err := json.Unmarshal(rec.Body.Bytes(), &body); err != nil { + t.Fatalf("unmarshal: %v", err) + } + if body.Status != "ok" || body.Database != "ok" { + t.Fatalf("body = %+v, want status=ok database=ok", body) + } + if body.Meilisearch != "absent" || body.SMTP != "absent" { + t.Fatalf("body = %+v, want meilisearch/smtp absent", body) + } + }) + + t.Run("db unreachable", func(t *testing.T) { + rec := httptest.NewRecorder() + req := httptest.NewRequest(http.MethodGet, "/healthz", nil) + + healthzHandler(cfg, stubPinger{err: errors.New("boom")}, "test")(rec, req) + + if rec.Code != http.StatusServiceUnavailable { + t.Fatalf("status = %d, want 503", rec.Code) + } + var body healthResponse + if err := json.Unmarshal(rec.Body.Bytes(), &body); err != nil { + t.Fatalf("unmarshal: %v", err) + } + if body.Status != "error" || body.Database != "unreachable" { + t.Fatalf("body = %+v, want status=error database=unreachable", body) + } + }) +} diff --git a/internal/httpserver/middleware.go b/internal/httpserver/middleware.go new file mode 100644 index 0000000..dc16a3f --- /dev/null +++ b/internal/httpserver/middleware.go @@ -0,0 +1,30 @@ +package httpserver + +import ( + "log/slog" + "net/http" + "time" + + "github.com/go-chi/chi/v5/middleware" +) + +// RequestLogger logs one structured line per request: method, path, status, +// duration, and (once auth exists) user id. +func RequestLogger(logger *slog.Logger) func(http.Handler) http.Handler { + return func(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + start := time.Now() + ww := middleware.NewWrapResponseWriter(w, r.ProtoMajor) + + next.ServeHTTP(ww, r) + + logger.Info("http_request", + "method", r.Method, + "path", r.URL.Path, + "status", ww.Status(), + "duration_ms", time.Since(start).Milliseconds(), + "request_id", middleware.GetReqID(r.Context()), + ) + }) + } +} diff --git a/internal/httpserver/router.go b/internal/httpserver/router.go new file mode 100644 index 0000000..ccbb1b3 --- /dev/null +++ b/internal/httpserver/router.go @@ -0,0 +1,59 @@ +package httpserver + +import ( + "io/fs" + "log/slog" + "net/http" + + "github.com/go-chi/chi/v5" + "github.com/go-chi/chi/v5/middleware" + "github.com/go-chi/cors" + + "solopm.com/solopm-server/internal/config" +) + +// Options bundles the dependencies the router needs to wire routes. +type Options struct { + Config *config.Config + Logger *slog.Logger + DB DBPinger + Version string + Dev bool // permissive CORS in dev; same-origin default otherwise + SPA fs.FS // web/dist, rooted so index.html is at the top level; nil disables SPA serving +} + +// New builds the chi router with the full middleware chain (minus the auth +// resolver, which is added in Phase 1) and registers Phase 0 routes. +func New(opts Options) chi.Router { + r := chi.NewRouter() + + r.Use(middleware.RequestID) + r.Use(middleware.RealIP) //nolint:staticcheck // middleware order is spec-mandated (01-architecture.md); deploy behind a trusted reverse proxy + r.Use(RequestLogger(opts.Logger)) + r.Use(middleware.Recoverer) + r.Use(corsMiddleware(opts.Dev)) + + r.Get("/healthz", healthzHandler(opts.Config, opts.DB, opts.Version)) + + if opts.SPA != nil { + r.Get("/*", spaHandler(opts.SPA)) + } + + return r +} + +func corsMiddleware(dev bool) func(http.Handler) http.Handler { + if dev { + return cors.Handler(cors.Options{ + AllowedOrigins: []string{"*"}, + AllowedMethods: []string{"GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"}, + AllowedHeaders: []string{"Accept", "Content-Type", "Authorization"}, + AllowCredentials: false, + }) + } + // Same-origin default: no CORS headers granted, browser same-origin + // requests work regardless since no cross-origin request needs them. + return cors.Handler(cors.Options{ + AllowedOrigins: []string{}, + }) +} diff --git a/internal/httpserver/spa.go b/internal/httpserver/spa.go new file mode 100644 index 0000000..bd5935b --- /dev/null +++ b/internal/httpserver/spa.go @@ -0,0 +1,37 @@ +package httpserver + +import ( + "io/fs" + "net/http" +) + +// spaHandler serves the embedded Vue SPA out of distFS (already rooted at +// web/dist, i.e. index.html is at its top level). Any request path that +// doesn't match a real file falls back to index.html so client-side routes +// (deep links) resolve correctly. +func spaHandler(distFS fs.FS) http.HandlerFunc { + fileServer := http.FileServer(http.FS(distFS)) + + return func(w http.ResponseWriter, r *http.Request) { + upath := r.URL.Path + if upath == "" || upath == "/" { + upath = "index.html" + } else { + upath = upath[1:] // strip leading slash for fs.Stat + } + + if _, err := fs.Stat(distFS, upath); err != nil { + r = cloneWithPath(r, "/") + } + + fileServer.ServeHTTP(w, r) + } +} + +// cloneWithPath returns a shallow copy of r with URL.Path replaced, so the +// original request (and its URL) is left untouched. +func cloneWithPath(r *http.Request, path string) *http.Request { + r2 := r.Clone(r.Context()) + r2.URL.Path = path + return r2 +} diff --git a/internal/httpserver/spa_test.go b/internal/httpserver/spa_test.go new file mode 100644 index 0000000..cfa9894 --- /dev/null +++ b/internal/httpserver/spa_test.go @@ -0,0 +1,48 @@ +package httpserver + +import ( + "net/http" + "net/http/httptest" + "testing" + "testing/fstest" +) + +func testDistFS() fstest.MapFS { + return fstest.MapFS{ + "index.html": {Data: []byte("
")}, + "assets/app.js": {Data: []byte("console.log('app')")}, + "favicon.svg": {Data: []byte("")}, + } +} + +func TestSPAHandler(t *testing.T) { + cases := []struct { + name string + path string + wantBody string + }{ + {"root serves index", "/", "
"}, + {"real file served as-is", "/assets/app.js", "console.log('app')"}, + {"real top-level file served as-is", "/favicon.svg", ""}, + {"deep link falls back to index", "/projects/42/board", "
"}, + {"unknown asset path falls back to index", "/assets/missing.js", "
"}, + } + + handler := spaHandler(testDistFS()) + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + req := httptest.NewRequest(http.MethodGet, tc.path, nil) + rec := httptest.NewRecorder() + + handler(rec, req) + + if rec.Code != http.StatusOK { + t.Fatalf("status = %d, want 200", rec.Code) + } + if got := rec.Body.String(); got != tc.wantBody { + t.Fatalf("body = %q, want %q", got, tc.wantBody) + } + }) + } +} diff --git a/plans/01-architecture.md b/plans/01-architecture.md index 7645631..59618b6 100644 --- a/plans/01-architecture.md +++ b/plans/01-architecture.md @@ -4,7 +4,7 @@ Backend is a single Go module `solopm.com/solopm-server`, one binary, serving th ## Repository layout -- [ ] Create the repo skeleton: +- [x] Create the repo skeleton (Phase 0 subset; `internal/domain/*`, `internal/events`, `internal/jobs`, `internal/search`, `internal/mail`, `internal/auth`, `internal/files` are added by the phases that need them): ``` / (repo root; /app in this workspace) @@ -36,19 +36,19 @@ Backend is a single Go module `solopm.com/solopm-server`, one binary, serving th ## Configuration (env vars) -- [ ] Implement `internal/config` reading these variables (fail fast at startup on missing required ones): - - [ ] `DATABASE_URL` (required) — pgx connection string - - [ ] `HTTP_PORT` (default `4080`) - - [ ] `BASE_URL` (required) — external URL, used in emails/OAuth callbacks/webhook payloads - - [ ] `SESSION_SECRET` (required) — 32+ bytes - - [ ] `UPLOAD_DIR` (default `./uploads`) — attachment storage root - - [ ] `MAX_UPLOAD_MB` (default `25`) - - [ ] `MEILI_URL`, `MEILI_KEY` (required for search; app runs degraded without them — search endpoints return 503) - - [ ] `SMTP_HOST`, `SMTP_PORT`, `SMTP_USER`, `SMTP_PASS`, `SMTP_FROM` (optional; email disabled when unset) - - [ ] `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` (optional — hides the button when unset) - - [ ] `GITEA_URL`, `GITEA_CLIENT_ID`, `GITEA_CLIENT_SECRET` (optional — same) - - [ ] `CULL_AFTER_DAYS` (default `30`) - - [ ] `LOG_LEVEL` (default `info`) +- [x] Implement `internal/config` reading these variables (fail fast at startup on missing required ones): + - [x] `DATABASE_URL` (required) — pgx connection string + - [x] `HTTP_PORT` (default `8080`) + - [x] `BASE_URL` (required) — external URL, used in emails/OAuth callbacks/webhook payloads + - [x] `SESSION_SECRET` (required) — 32+ bytes + - [x] `UPLOAD_DIR` (default `./uploads`) — attachment storage root + - [x] `MAX_UPLOAD_MB` (default `25`) + - [x] `MEILI_URL`, `MEILI_KEY` (required for search; app runs degraded without them — search endpoints return 503) + - [x] `SMTP_HOST`, `SMTP_PORT`, `SMTP_USER`, `SMTP_PASS`, `SMTP_FROM` (optional; email disabled when unset) + - [x] `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET` (optional — hides the button when unset) + - [x] `GITEA_URL`, `GITEA_CLIENT_ID`, `GITEA_CLIENT_SECRET` (optional — same) + - [x] `CULL_AFTER_DAYS` (default `30`) + - [x] `LOG_LEVEL` (default `info`) ## Cross-cutting conventions @@ -61,9 +61,9 @@ Backend is a single Go module `solopm.com/solopm-server`, one binary, serving th - [ ] **Logging**: `log/slog`, JSON in production, request-id middleware; log every request (method, path, status, duration, user id). - [ ] **Validation**: in services, not handlers; titles trimmed/non-empty; markdown bodies size-capped (64 KB). - [ ] **Time/date fields**: `start_date`/`target_date` are `date` (no time component); `completed_at` is `timestamptz` set by status automation. -- [ ] **Graceful shutdown**: on SIGINT/SIGTERM stop accepting requests, close SSE hub, drain dispatcher + job workers (10s cap), close pgx pool. -- [ ] **SPA serving**: `go:embed web/dist`; any non-`/api`, non-`/webhooks`, non-`/files` GET serves `index.html` (deep links work). -- [ ] **Makefile targets**: `make dev` (Vite + Go with reload), `make build` (pnpm build → go build), `make test`, `make sqlc`, `make migrate-up/down`, `make lint`. +- [x] **Graceful shutdown**: on SIGINT/SIGTERM stop accepting requests, close SSE hub, drain dispatcher + job workers (10s cap), close pgx pool. *(SSE hub/dispatcher/job workers land in later phases; server shutdown + pool close done in Phase 0)* +- [x] **SPA serving**: `go:embed web/dist`; any non-`/api`, non-`/webhooks`, non-`/files` GET serves `index.html` (deep links work). +- [x] **Makefile targets**: `make dev` (Vite + Go with reload), `make build` (pnpm build → go build), `make test`, `make sqlc`, `make migrate-up/down`, `make lint`. *(`make dev` runs both servers concurrently; no file-watcher/hot-reload for the Go side yet)* - [ ] **Tests**: table-driven unit tests for services (cycle detection, numbering, fan-out rules); integration tests against a real Postgres (dockertest or `TEST_DATABASE_URL`); no mocking of sqlc stores. ## Middleware chain (chi) diff --git a/plans/15-deployment.md b/plans/15-deployment.md index c5acce4..bd3983f 100644 --- a/plans/15-deployment.md +++ b/plans/15-deployment.md @@ -21,7 +21,7 @@ Two supported deployment paths from day one: **bare binary** (user supplies Post ## docker-compose (reference) - [ ] `docker-compose.yml` services: - - [ ] `app` — the SoloPM image; ports `4080`; env wired to the two services; volumes: `uploads:/data/uploads`; depends_on healthy postgres + meilisearch + - [ ] `app` — the SoloPM image; ports `8080`; env wired to the two services; volumes: `uploads:/data/uploads`; depends_on healthy postgres + meilisearch - [ ] `postgres` — postgres:16-alpine; volume `pgdata`; healthcheck `pg_isready` - [ ] `meilisearch` — getmeili/meilisearch; volume `meilidata`; `MEILI_MASTER_KEY` from env - [ ] (dev profile) `mailhog` — SMTP capture for local testing diff --git a/plans/16-phases.md b/plans/16-phases.md index 420bf31..01d53de 100644 --- a/plans/16-phases.md +++ b/plans/16-phases.md @@ -8,19 +8,19 @@ Dependency graph: `0 → 1 → 2 → 3 → 4 → 5 → 6 → {7, 8} → 9 → 10 Spec files: [01-architecture.md](01-architecture.md), [14-design-system.md](14-design-system.md), [15-deployment.md](15-deployment.md) -- [ ] Repo skeleton per architecture layout; Go module `solopm.com/solopm-server` -- [ ] chi server + middleware chain (minus auth resolver), slog, request logging, graceful shutdown -- [ ] Config loader with full env var set + `.env.example` -- [ ] golang-migrate wired (embedded migrations) + migration 0001 (extensions + enums); sqlc configured and generating -- [ ] Vue app scaffolded (Vite, TS, Pinia, Router, Tailwind) with design system copied to `web/design-system/` and wired; AppShell (sidebar/navbar) renders -- [ ] `go:embed` SPA serving with deep-link fallback; Vite dev proxy -- [ ] docker-compose (app + postgres + meilisearch + mailhog dev profile); Makefile targets -- [ ] `/healthz` +- [x] Repo skeleton per architecture layout; Go module `solopm.com/solopm-server` +- [x] chi server + middleware chain (minus auth resolver), slog, request logging, graceful shutdown +- [x] Config loader with full env var set + `.env.example` +- [x] golang-migrate wired (embedded migrations) + migration 0001 (extensions + enums); sqlc configured and generating +- [x] Vue app scaffolded (Vite, TS, Pinia, Router, Tailwind) with design system copied to `web/design-system/` and wired; AppShell (sidebar/navbar) renders +- [x] `go:embed` SPA serving with deep-link fallback; Vite dev proxy +- [x] docker-compose (app + postgres + meilisearch + mailhog dev profile); Makefile targets +- [x] `/healthz` Acceptance: -- [ ] `docker compose up` serves the SPA shell at `:4080`; `/healthz` reports db ok -- [ ] `make migrate-up && make migrate-down` cycles cleanly -- [ ] Shell passes the design-system conformity checklist +- [ ] `docker compose up` serves the SPA shell at `:8080`; `/healthz` reports db ok — not verified: no `docker` CLI available in this environment. Functionally equivalent path verified instead: `go run ./cmd/solopm serve` against the real dockerized postgres/meilisearch returned SPA 200 and `/healthz` `{"database":"ok","meilisearch":"ok","smtp":"absent"}`. Someone with docker access should run the literal command once to close this out. +- [x] `make migrate-up && make migrate-down` cycles cleanly +- [x] Shell passes the design-system conformity checklist ## Phase 1 — Auth & users diff --git a/sqlc.yaml b/sqlc.yaml new file mode 100644 index 0000000..e42258f --- /dev/null +++ b/sqlc.yaml @@ -0,0 +1,13 @@ +version: "2" +sql: + - engine: "postgresql" + queries: "internal/db/queries" + schema: "internal/db/migrations" + gen: + go: + package: "sqlcgen" + out: "internal/db/sqlcgen" + sql_package: "pgx/v5" + emit_json_tags: true + emit_interface: true + emit_empty_slices: true diff --git a/tmp/build-errors.log b/tmp/build-errors.log new file mode 100644 index 0000000..bcbe330 --- /dev/null +++ b/tmp/build-errors.log @@ -0,0 +1 @@ +exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1 \ No newline at end of file diff --git a/web/.gitignore b/web/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/web/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/web/.vscode/extensions.json b/web/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/web/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/web/README.md b/web/README.md new file mode 100644 index 0000000..33895ab --- /dev/null +++ b/web/README.md @@ -0,0 +1,5 @@ +# Vue 3 + TypeScript + Vite + +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + + diff --git a/web/design-system/setup/get-fonts.sh b/web/design-system/setup/get-fonts.sh new file mode 100644 index 0000000..25a446a --- /dev/null +++ b/web/design-system/setup/get-fonts.sh @@ -0,0 +1,82 @@ +#!/usr/bin/env bash +# get-fonts.sh — Download all self-hosted font assets for Soft UI Dashboard Tailwind +# +# Run from your project root: +# bash path/to/get-fonts.sh +# +# Outputs to: public/assets/fonts/ and public/assets/css/fontawesome/ +# Requires: curl, unzip + +set -e + +FONTS_DIR="public/assets/fonts" +CSS_DIR="public/assets/css" +TMP="$(mktemp -d)" + +echo "→ Creating directories..." +mkdir -p "$FONTS_DIR/open-sans" +mkdir -p "$CSS_DIR/fontawesome" + +# ───────────────────────────────────────────────────────────── +# 1. Open Sans (woff2 only — modern browsers, smallest files) +# Source: fontsource open-sans package on npm registry (public files) +# ───────────────────────────────────────────────────────────── +echo "→ Downloading Open Sans woff2 files..." + +BASE="https://cdn.jsdelivr.net/npm/@fontsource/open-sans@5/files" + +for WEIGHT in 300 400 600 700; do + curl -fsSL "${BASE}/open-sans-latin-${WEIGHT}-normal.woff2" \ + -o "${FONTS_DIR}/open-sans/open-sans-${WEIGHT}.woff2" + curl -fsSL "${BASE}/open-sans-latin-${WEIGHT}-italic.woff2" \ + -o "${FONTS_DIR}/open-sans/open-sans-${WEIGHT}italic.woff2" +done + +echo " ✓ Open Sans done (8 files)" + +# ───────────────────────────────────────────────────────────── +# 2. Font Awesome Free 6 (CSS + webfonts) +# Only the files actually needed: all.min.css + webfonts/ +# ───────────────────────────────────────────────────────────── +echo "→ Downloading Font Awesome Free 6..." + +FA_VERSION="6.4.0" +FA_ZIP="$TMP/fontawesome.zip" + +curl -fsSL "https://github.com/FortAwesome/Font-Awesome/releases/download/${FA_VERSION}/fontawesome-free-${FA_VERSION}-web.zip" \ + -o "$FA_ZIP" + +unzip -q "$FA_ZIP" -d "$TMP" +FA_DIR="$TMP/fontawesome-free-${FA_VERSION}-web" + +# CSS +cp "${FA_DIR}/css/all.min.css" "${CSS_DIR}/fontawesome/all.min.css" +cp "${FA_DIR}/css/all.css" "${CSS_DIR}/fontawesome/all.css" + +# Webfonts (woff2 + woff — skip eot/ttf/svg for modern projects) +mkdir -p "${CSS_DIR}/fontawesome/webfonts" +find "${FA_DIR}/webfonts" \( -name "*.woff2" -o -name "*.woff" \) \ + -exec cp {} "${CSS_DIR}/fontawesome/webfonts/" \; + +# Patch font paths in all.min.css to match our directory structure +# FA expects webfonts/ relative to the CSS file — already correct since both are in fontawesome/ +echo " ✓ Font Awesome done" + +# ───────────────────────────────────────────────────────────── +# 3. Copy open-sans.css into project CSS dir +# ───────────────────────────────────────────────────────────── +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +cp "${SCRIPT_DIR}/open-sans.css" "${CSS_DIR}/open-sans.css" +echo " ✓ open-sans.css copied" + +# Cleanup +rm -rf "$TMP" + +echo "" +echo "Done. Add these to your HTML :" +echo "" +echo " " +echo " " +echo " " +echo " " +echo " " diff --git a/web/design-system/setup/open-sans.css b/web/design-system/setup/open-sans.css new file mode 100644 index 0000000..773a080 --- /dev/null +++ b/web/design-system/setup/open-sans.css @@ -0,0 +1,81 @@ +/* + Open Sans — Self-hosted @font-face declarations + Weights used by Soft UI Dashboard: 300 (light), 400 (regular), 600 (semibold), 700 (bold) + + Font files must be placed at: public/assets/fonts/open-sans/ + See INIT.md Step 2 for how to obtain the font files. + + File naming expected: + open-sans-300.woff2 + open-sans-300italic.woff2 + open-sans-400.woff2 + open-sans-400italic.woff2 + open-sans-600.woff2 + open-sans-600italic.woff2 + open-sans-700.woff2 + open-sans-700italic.woff2 +*/ + +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + font-display: swap; + src: url('../fonts/open-sans/open-sans-300.woff2') format('woff2'); +} + +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + font-display: swap; + src: url('../fonts/open-sans/open-sans-300italic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url('../fonts/open-sans/open-sans-400.woff2') format('woff2'); +} + +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url('../fonts/open-sans/open-sans-400italic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url('../fonts/open-sans/open-sans-600.woff2') format('woff2'); +} + +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + font-display: swap; + src: url('../fonts/open-sans/open-sans-600italic.woff2') format('woff2'); +} + +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url('../fonts/open-sans/open-sans-700.woff2') format('woff2'); +} + +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + font-display: swap; + src: url('../fonts/open-sans/open-sans-700italic.woff2') format('woff2'); +} diff --git a/web/design-system/setup/package.json b/web/design-system/setup/package.json new file mode 100644 index 0000000..bd6056b --- /dev/null +++ b/web/design-system/setup/package.json @@ -0,0 +1,18 @@ +{ + "name": "soft-ui-dashboard-tailwind", + "version": "1.0.0", + "private": true, + "scripts": { + "build:css": "tailwindcss build -i src/styles.css -o public/assets/css/soft-ui-dashboard-tailwind.css", + "watch:css": "tailwindcss build -i src/styles.css -o public/assets/css/soft-ui-dashboard-tailwind.css --watch" + }, + "devDependencies": { + "autoprefixer": "^10.4.20", + "postcss": "^8.5.3", + "postcss-cli": "^11.0.0", + "tailwindcss": "^3.4.14" + }, + "dependencies": { + "@popperjs/core": "^2.11.8" + } +} diff --git a/web/design-system/setup/preview/dashboard.jpg b/web/design-system/setup/preview/dashboard.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ac83986f74249dfb92eaf2f42ee20fae486f365b GIT binary patch literal 275775 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

T0?;lsY*Nu1``_RnBDu7 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⪼mBZD!soL@v4CUZ5pbe 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 { + position: relative; +} + +.ni-ul>li>.ni { + position: absolute; + left: -1.57142857em; + top: 0.14285714em; + text-align: center; +} + +.ni-ul>li>.ni.lg { + top: 0; + left: -1.35714286em; +} + +.ni-ul>li>.ni.circle, +.ni-ul>li>.ni.square { + top: -0.19047619em; + left: -1.9047619em; +} + +/*------------------------ + spinning icons +-------------------------*/ +.ni.spin { + -webkit-animation: nc-spin 2s infinite linear; + -moz-animation: nc-spin 2s infinite linear; + animation: nc-spin 2s infinite linear; +} + +@-webkit-keyframes nc-spin { + 0% { + -webkit-transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + } +} + +@-moz-keyframes nc-spin { + 0% { + -moz-transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(360deg); + } +} + +@keyframes nc-spin { + 0% { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -ms-transform: rotate(360deg); + -o-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/*------------------------ + rotated/flipped icons +-------------------------*/ +.ni.rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} + +.ni.rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); +} + +.ni.rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -ms-transform: rotate(270deg); + -o-transform: rotate(270deg); + transform: rotate(270deg); +} + +.ni.flip-y { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0); + -webkit-transform: scale(-1, 1); + -moz-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + -o-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +.ni.flip-x { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: scale(1, -1); + -moz-transform: scale(1, -1); + -ms-transform: scale(1, -1); + -o-transform: scale(1, -1); + transform: scale(1, -1); +} + +/*------------------------ + font icons +-------------------------*/ + +.ni-active-40::before { + content: "\ea02"; +} + +.ni-air-baloon::before { + content: "\ea03"; +} + +.ni-album-2::before { + content: "\ea04"; +} + +.ni-align-center::before { + content: "\ea05"; +} + +.ni-align-left-2::before { + content: "\ea06"; +} + +.ni-ambulance::before { + content: "\ea07"; +} + +.ni-app::before { + content: "\ea08"; +} + +.ni-archive-2::before { + content: "\ea09"; +} + +.ni-atom::before { + content: "\ea0a"; +} + +.ni-badge::before { + content: "\ea0b"; +} + +.ni-bag-17::before { + content: "\ea0c"; +} + +.ni-basket::before { + content: "\ea0d"; +} + +.ni-bell-55::before { + content: "\ea0e"; +} + +.ni-bold-down::before { + content: "\ea0f"; +} + +.ni-bold-left::before { + content: "\ea10"; +} + +.ni-bold-right::before { + content: "\ea11"; +} + +.ni-bold-up::before { + content: "\ea12"; +} + +.ni-bold::before { + content: "\ea13"; +} + +.ni-book-bookmark::before { + content: "\ea14"; +} + +.ni-books::before { + content: "\ea15"; +} + +.ni-box-2::before { + content: "\ea16"; +} + +.ni-briefcase-24::before { + content: "\ea17"; +} + +.ni-building::before { + content: "\ea18"; +} + +.ni-bulb-61::before { + content: "\ea19"; +} + +.ni-bullet-list-67::before { + content: "\ea1a"; +} + +.ni-bus-front-12::before { + content: "\ea1b"; +} + +.ni-button-pause::before { + content: "\ea1c"; +} + +.ni-button-play::before { + content: "\ea1d"; +} + +.ni-button-power::before { + content: "\ea1e"; +} + +.ni-calendar-grid-58::before { + content: "\ea1f"; +} + +.ni-camera-compact::before { + content: "\ea20"; +} + +.ni-caps-small::before { + content: "\ea21"; +} + +.ni-cart::before { + content: "\ea22"; +} + +.ni-chart-bar-32::before { + content: "\ea23"; +} + +.ni-chart-pie-35::before { + content: "\ea24"; +} + +.ni-chat-round::before { + content: "\ea25"; +} + +.ni-check-bold::before { + content: "\ea26"; +} + +.ni-circle-08::before { + content: "\ea27"; +} + +.ni-cloud-download-95::before { + content: "\ea28"; +} + +.ni-cloud-upload-96::before { + content: "\ea29"; +} + +.ni-compass-04::before { + content: "\ea2a"; +} + +.ni-controller::before { + content: "\ea2b"; +} + +.ni-credit-card::before { + content: "\ea2c"; +} + +.ni-curved-next::before { + content: "\ea2d"; +} + +.ni-delivery-fast::before { + content: "\ea2e"; +} + +.ni-diamond::before { + content: "\ea2f"; +} + +.ni-email-83::before { + content: "\ea30"; +} + +.ni-fat-add::before { + content: "\ea31"; +} + +.ni-fat-delete::before { + content: "\ea32"; +} + +.ni-fat-remove::before { + content: "\ea33"; +} + +.ni-favourite-28::before { + content: "\ea34"; +} + +.ni-folder-17::before { + content: "\ea35"; +} + +.ni-glasses-2::before { + content: "\ea36"; +} + +.ni-hat-3::before { + content: "\ea37"; +} + +.ni-headphones::before { + content: "\ea38"; +} + +.ni-html5::before { + content: "\ea39"; +} + +.ni-istanbul::before { + content: "\ea3a"; +} + +.ni-key-25::before { + content: "\ea3b"; +} + +.ni-laptop::before { + content: "\ea3c"; +} + +.ni-like-2::before { + content: "\ea3d"; +} + +.ni-lock-circle-open::before { + content: "\ea3e"; +} + +.ni-map-big::before { + content: "\ea3f"; +} + +.ni-mobile-button::before { + content: "\ea40"; +} + +.ni-money-coins::before { + content: "\ea41"; +} + +.ni-note-03::before { + content: "\ea42"; +} + +.ni-notification-70::before { + content: "\ea43"; +} + +.ni-palette::before { + content: "\ea44"; +} + +.ni-paper-diploma::before { + content: "\ea45"; +} + +.ni-pin-3::before { + content: "\ea46"; +} + +.ni-planet::before { + content: "\ea47"; +} + +.ni-ruler-pencil::before { + content: "\ea48"; +} + +.ni-satisfied::before { + content: "\ea49"; +} + +.ni-scissors::before { + content: "\ea4a"; +} + +.ni-send::before { + content: "\ea4b"; +} + +.ni-settings-gear-65::before { + content: "\ea4c"; +} + +.ni-settings::before { + content: "\ea4d"; +} + +.ni-single-02::before { + content: "\ea4e"; +} + +.ni-single-copy-04::before { + content: "\ea4f"; +} + +.ni-sound-wave::before { + content: "\ea50"; +} + +.ni-spaceship::before { + content: "\ea51"; +} + +.ni-square-pin::before { + content: "\ea52"; +} + +.ni-support-16::before { + content: "\ea53"; +} + +.ni-tablet-button::before { + content: "\ea54"; +} + +.ni-tag::before { + content: "\ea55"; +} + +.ni-tie-bow::before { + content: "\ea56"; +} + +.ni-time-alarm::before { + content: "\ea57"; +} + +.ni-trophy::before { + content: "\ea58"; +} + +.ni-tv-2::before { + content: "\ea59"; +} + +.ni-umbrella-13::before { + content: "\ea5a"; +} + +.ni-user-run::before { + content: "\ea5b"; +} + +.ni-vector::before { + content: "\ea5c"; +} + +.ni-watch-time::before { + content: "\ea5d"; +} + +.ni-world::before { + content: "\ea5e"; +} + +.ni-zoom-split-in::before { + content: "\ea5f"; +} + +.ni-collection::before { + content: "\ea60"; +} + +.ni-image::before { + content: "\ea61"; +} + +.ni-shop::before { + content: "\ea62"; +} + +.ni-ungroup::before { + content: "\ea63"; +} + +.ni-world-2::before { + content: "\ea64"; +} + +.ni-ui-04::before { + content: "\ea65"; +} + + +/* all icon font classes list here */ \ No newline at end of file diff --git a/web/design-system/setup/public/assets/css/nucleo-svg.css b/web/design-system/setup/public/assets/css/nucleo-svg.css new file mode 100644 index 0000000..c68c10e --- /dev/null +++ b/web/design-system/setup/public/assets/css/nucleo-svg.css @@ -0,0 +1,135 @@ +/* Generated using nucleoapp.com */ +/* -------------------------------- + +Icon colors + +-------------------------------- */ + +.icon { + display: inline-block; + /* icon primary color */ + color: #111111; + height: 1em; + width: 1em; +} + +.icon use { + /* icon secondary color - fill */ + fill: #7ea6f6; +} + +.icon.icon-outline use { + /* icon secondary color - stroke */ + stroke: #7ea6f6; +} + +/* -------------------------------- + +Change icon size + +-------------------------------- */ + +.icon-xs { + height: 0.5em; + width: 0.5em; +} + +.icon-sm { + height: 0.8em; + width: 0.8em; +} + +.icon-lg { + height: 1.6em; + width: 1.6em; +} + +.icon-xl { + height: 2em; + width: 2em; +} + +/* -------------------------------- + +Align icon and text + +-------------------------------- */ + +.icon-text-aligner { + /* add this class to parent element that contains icon + text */ + display: flex; + align-items: center; +} + +.icon-text-aligner .icon { + color: inherit; + margin-right: 0.4em; +} + +.icon-text-aligner .icon use { + color: inherit; + fill: currentColor; +} + +.icon-text-aligner .icon.icon-outline use { + stroke: currentColor; +} + +/* -------------------------------- + +Icon reset values - used to enable color customizations + +-------------------------------- */ + +.icon { + fill: currentColor; + stroke: none; +} + +.icon.icon-outline { + fill: none; + stroke: currentColor; +} + +.icon use { + stroke: none; +} + +.icon.icon-outline use { + fill: none; +} + +/* -------------------------------- + +Stroke effects - Nucleo outline icons + +- 16px icons -> up to 1px stroke (16px outline icons do not support stroke changes) +- 24px, 32px icons -> up to 2px stroke +- 48px, 64px icons -> up to 4px stroke + +-------------------------------- */ + +.icon-outline.icon-stroke-1 { + stroke-width: 1px; +} + +.icon-outline.icon-stroke-2 { + stroke-width: 2px; +} + +.icon-outline.icon-stroke-3 { + stroke-width: 3px; +} + +.icon-outline.icon-stroke-4 { + stroke-width: 4px; +} + +.icon-outline.icon-stroke-1 use, +.icon-outline.icon-stroke-3 use { + -webkit-transform: translateX(0.5px) translateY(0.5px); + -moz-transform: translateX(0.5px) translateY(0.5px); + -ms-transform: translateX(0.5px) translateY(0.5px); + -o-transform: translateX(0.5px) translateY(0.5px); + transform: translateX(0.5px) translateY(0.5px); +} \ No newline at end of file diff --git a/web/design-system/setup/public/assets/css/soft-ui-dashboard-tailwind.css b/web/design-system/setup/public/assets/css/soft-ui-dashboard-tailwind.css new file mode 100644 index 0000000..ca334f7 --- /dev/null +++ b/web/design-system/setup/public/assets/css/soft-ui-dashboard-tailwind.css @@ -0,0 +1,4256 @@ +/*! + +========================================================= +* Soft UI Dashboard Tailwind - v1.0.5 +========================================================= + +* Product Page: https://www.creative-tim.com/product/soft-ui-dashboard-tailwind +* Copyright 2023 Creative Tim (https://www.creative-tim.com) +* Licensed under MIT (site.license) + +* Coded by www.creative-tim.com + +========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +*/ + +/*! tailwindcss v3.1.6 | MIT License | https://tailwindcss.com + +*/ + +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; + /* 1 */ + border-width: 0; + /* 2 */ + border-style: solid; + /* 2 */ + border-color: #e9ecef; + /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +*/ + +html { + line-height: 1.5; + /* 1 */ + -webkit-text-size-adjust: 100%; + /* 2 */ + -moz-tab-size: 4; + /* 3 */ + -o-tab-size: 4; + tab-size: 4; + /* 3 */ + font-family: Open Sans; + /* 4 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; + /* 1 */ + line-height: inherit; + /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; + /* 1 */ + color: inherit; + /* 2 */ + border-top-width: 1px; + /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font family by default. +2. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + /* 1 */ + font-size: 1em; + /* 2 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; + /* 1 */ + border-color: inherit; + /* 2 */ + border-collapse: collapse; + /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; + /* 1 */ + font-size: 100%; + /* 1 */ + font-weight: inherit; + /* 1 */ + line-height: inherit; + /* 1 */ + color: inherit; + /* 1 */ + margin: 0; + /* 2 */ + padding: 0; + /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; + /* 1 */ + background-color: transparent; + /* 2 */ + background-image: none; + /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; + /* 1 */ + outline-offset: -2px; + /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; + /* 1 */ + font: inherit; + /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + /* 1 */ + color: #ced4da; + /* 2 */ +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + /* 1 */ + color: #ced4da; + /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role="button"] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ + +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; + /* 1 */ + vertical-align: middle; + /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +*, ::before, ::after { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} + +::-webkit-backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} + +::backdrop { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-pan-x: ; + --tw-pan-y: ; + --tw-pinch-zoom: ; + --tw-scroll-snap-strictness: proximity; + --tw-ordinal: ; + --tw-slashed-zero: ; + --tw-numeric-figure: ; + --tw-numeric-spacing: ; + --tw-numeric-fraction: ; + --tw-ring-inset: ; + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgb(59 130 246 / 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + --tw-blur: ; + --tw-brightness: ; + --tw-contrast: ; + --tw-grayscale: ; + --tw-hue-rotate: ; + --tw-invert: ; + --tw-saturate: ; + --tw-sepia: ; + --tw-drop-shadow: ; + --tw-backdrop-blur: ; + --tw-backdrop-brightness: ; + --tw-backdrop-contrast: ; + --tw-backdrop-grayscale: ; + --tw-backdrop-hue-rotate: ; + --tw-backdrop-invert: ; + --tw-backdrop-opacity: ; + --tw-backdrop-saturate: ; + --tw-backdrop-sepia: ; +} + +.container { + width: 100%; + margin-right: auto; + margin-left: auto; + padding-right: 1.5rem; + padding-left: 1.5rem; +} + +@media (min-width: 576px) { + .container { + max-width: 576px; + } +} + +@media (min-width: 768px) { + .container { + max-width: 768px; + } +} + +@media (min-width: 992px) { + .container { + max-width: 992px; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1200px; + } +} + +@media (min-width: 1320px) { + .container { + max-width: 1320px; + } +} + +a { + letter-spacing: -0.025rem; +} + +hr { + margin: 1rem 0; + border: 0; + opacity: .25; +} + +img { + max-width: none; +} + +label { + display: inline-block; +} + +p { + line-height: 1.625; + font-weight: 400; + margin-bottom: 1rem; +} + +small { + font-size: .875em; +} + +svg { + display: inline; +} + +table { + border-collapse: inherit; +} + +h1, h2, h3, h4, h5, h6 { + margin-bottom: .5rem; + color: #344767; +} + +h1, h2, h3, h4 { + letter-spacing: -0.05rem; +} + +h1, h2, h3 { + font-weight: 700; +} + +h4, h5, h6 { + font-weight: 600; +} + +h1 { + font-size: 3rem; + line-height: 1.25; +} + +h2 { + font-size: 2.25rem; + line-height: 1.3; +} + +h3 { + font-size: 1.875rem; + line-height: 1.375; +} + +h4 { + font-size: 1.5rem; + line-height: 1.375; +} + +h5 { + font-size: 1.25rem; + line-height: 1.375; +} + +h6 { + font-size: 1rem; + line-height: 1.625; +} + +.pointer-events-none { + pointer-events: none; +} + +.visible { + visibility: visible; +} + +.invisible { + visibility: hidden; +} + +.fixed { + position: fixed; +} + +.absolute { + position: absolute; +} + +.relative { + position: relative; +} + +.sticky { + position: -webkit-sticky; + position: sticky; +} + +.inset-y-0 { + top: 0px; + bottom: 0px; +} + +.inset-x-0 { + left: 0px; + right: 0px; +} + +.top-0 { + top: 0px; +} + +.right-0 { + right: 0px; +} + +.top-3\.5 { + top: 0.875rem; +} + +.top-3 { + top: 0.75rem; +} + +.left-0 { + left: 0px; +} + +.left-4 { + left: 1rem; +} + +.-top-1\.5 { + top: -0.375rem; +} + +.-top-1 { + top: -0.25rem; +} + +.bottom-7\.5 { + bottom: 1.875rem; +} + +.right-7\.5 { + right: 1.875rem; +} + +.bottom-7 { + bottom: 1.75rem; +} + +.right-7 { + right: 1.75rem; +} + +.-right-90 { + right: -22.5rem; +} + +.left-auto { + left: auto; +} + +.bottom-0 { + bottom: 0px; +} + +.top-auto { + top: auto; +} + +.top-31\/100 { + top: 31%; +} + +.right-4 { + right: 1rem; +} + +.left-7\.5 { + left: 1.875rem; +} + +.right-auto { + right: auto; +} + +.left-7 { + left: 1.75rem; +} + +.-left-90 { + left: -22.5rem; +} + +.-right-40 { + right: -10rem; +} + +.top-\[1\%\] { + top: 1%; +} + +.z-990 { + z-index: 990; +} + +.z-20 { + z-index: 20; +} + +.z-10 { + z-index: 10; +} + +.z-50 { + z-index: 50; +} + +.z-100 { + z-index: 100; +} + +.z-sticky { + z-index: 1020; +} + +.z-30 { + z-index: 30; +} + +.z-0 { + z-index: 0; +} + +.z-110 { + z-index: 110; +} + +.float-right { + float: right; +} + +.float-left { + float: left; +} + +.clear-both { + clear: both; +} + +.m-0 { + margin: 0px; +} + +.m-4 { + margin: 1rem; +} + +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.my-0 { + margin-top: 0px; + margin-bottom: 0px; +} + +.mx-4 { + margin-left: 1rem; + margin-right: 1rem; +} + +.mx-6 { + margin-left: 1.5rem; + margin-right: 1.5rem; +} + +.mx-auto { + margin-left: auto; + margin-right: auto; +} + +.my-auto { + margin-top: auto; + margin-bottom: auto; +} + +.-mx-3 { + margin-left: -0.75rem; + margin-right: -0.75rem; +} + +.my-6 { + margin-top: 1.5rem; + margin-bottom: 1.5rem; +} + +.mx-0 { + margin-left: 0px; + margin-right: 0px; +} + +.my-1 { + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} + +.my-2 { + margin-top: 0.5rem; + margin-bottom: 0.5rem; +} + +.my-56 { + margin-top: 14rem; + margin-bottom: 14rem; +} + +.mx-2 { + margin-left: 0.5rem; + margin-right: 0.5rem; +} + +.ml-4 { + margin-left: 1rem; +} + +.ml-1 { + margin-left: 0.25rem; +} + +.mt-0 { + margin-top: 0px; +} + +.mb-0 { + margin-bottom: 0px; +} + +.mt-0\.5 { + margin-top: 0.125rem; +} + +.mr-2 { + margin-right: 0.5rem; +} + +.mt-4 { + margin-top: 1rem; +} + +.ml-2 { + margin-left: 0.5rem; +} + +.mb-7\.5 { + margin-bottom: 1.875rem; +} + +.mb-7 { + margin-bottom: 1.75rem; +} + +.mb-4 { + margin-bottom: 1rem; +} + +.mr-12 { + margin-right: 3rem; +} + +.mt-2 { + margin-top: 0.5rem; +} + +.-ml-px { + margin-left: -1px; +} + +.mr-4 { + margin-right: 1rem; +} + +.mb-0\.75 { + margin-bottom: 0.1875rem; +} + +.mb-2 { + margin-bottom: 0.5rem; +} + +.mb-1 { + margin-bottom: 0.25rem; +} + +.mr-1 { + margin-right: 0.25rem; +} + +.mb-6 { + margin-bottom: 1.5rem; +} + +.mt-6 { + margin-top: 1.5rem; +} + +.mb-12 { + margin-bottom: 3rem; +} + +.mt-auto { + margin-top: auto; +} + +.mt-12 { + margin-top: 3rem; +} + +.ml-auto { + margin-left: auto; +} + +.mt-1 { + margin-top: 0.25rem; +} + +.-mt-0\.38 { + margin-top: -0.095rem; +} + +.-mt-0 { + margin-top: -0px; +} + +.-ml-34 { + margin-left: -8.5rem; +} + +.-ml-4 { + margin-left: -1rem; +} + +.ml-11\.252 { + margin-left: 2.813rem; +} + +.ml-11 { + margin-left: 2.75rem; +} + +.mr-1\.25 { + margin-right: 0.3125rem; +} + +.mb-0\.5 { + margin-bottom: 0.125rem; +} + +.mr-6 { + margin-right: 1.5rem; +} + +.ml-6 { + margin-left: 1.5rem; +} + +.-mt-16 { + margin-top: -4rem; +} + +.mt-0\.54 { + margin-top: 0.135rem; +} + +.-mr-px { + margin-right: -1px; +} + +.ml-0 { + margin-left: 0px; +} + +.mr-auto { + margin-right: auto; +} + +.-mr-34 { + margin-right: -8.5rem; +} + +.-mr-4 { + margin-right: -1rem; +} + +.mr-11\.252 { + margin-right: 2.813rem; +} + +.mr-11 { + margin-right: 2.75rem; +} + +.mt-1\.75 { + margin-top: 0.4375rem; +} + +.mt-32 { + margin-top: 8rem; +} + +.-ml-12 { + margin-left: -3rem; +} + +.-mr-32 { + margin-right: -8rem; +} + +.-ml-16 { + margin-left: -4rem; +} + +.mb-32 { + margin-bottom: 8rem; +} + +.-mt-48 { + margin-top: -12rem; +} + +.-ml-6\.92 { + margin-left: -1.73rem; +} + +.-ml-6 { + margin-left: -1.5rem; +} + +.-mt-6 { + margin-top: -1.5rem; +} + +.-mt-2 { + margin-top: -0.5rem; +} + +.mt-0\.75 { + margin-top: 0.1875rem; +} + +.block { + display: block; +} + +.inline-block { + display: inline-block; +} + +.inline { + display: inline; +} + +.flex { + display: flex; +} + +.inline-flex { + display: inline-flex; +} + +.table { + display: table; +} + +.grid { + display: grid; +} + +.hidden { + display: none; +} + +.h-19\.5 { + height: 4.875rem; +} + +.h-full { + height: 100%; +} + +.h-px { + height: 1px; +} + +.h-sidenav { + height: calc(100vh - 370px); +} + +.h-8 { + height: 2rem; +} + +.h-0\.5 { + height: 0.125rem; +} + +.h-0 { + height: 0px; +} + +.h-9 { + height: 2.25rem; +} + +.h-12 { + height: 3rem; +} + +.h-5 { + height: 1.25rem; +} + +.h-0\.75 { + height: 0.1875rem; +} + +.h-1\.5 { + height: 0.375rem; +} + +.h-1 { + height: 0.25rem; +} + +.h-6 { + height: 1.5rem; +} + +.h-2 { + height: 0.5rem; +} + +.h-6\.5 { + height: 1.625rem; +} + +.h-5\.75 { + height: 1.4375rem; +} + +.h-\[80vh\] { + height: 80vh; +} + +.h-16 { + height: 4rem; +} + +.h-6\.35 { + height: 1.5875rem; +} + +.h-18\.5 { + height: 4.625rem; +} + +.h-4\.92 { + height: 1.23rem; +} + +.h-4 { + height: 1rem; +} + +.max-h-8 { + max-height: 2rem; +} + +.max-h-screen { + max-height: 100vh; +} + +.min-h-6 { + min-height: 1.5rem; +} + +.min-h-75 { + min-height: 18.75rem; +} + +.min-h-75-screen { + min-height: 75vh; +} + +.min-h-screen { + min-height: 100vh; +} + +.min-h-50-screen { + min-height: 50vh; +} + +.min-h-85-screen { + min-height: 85vh; +} + +.w-full { + width: 100%; +} + +.w-auto { + width: auto; +} + +.w-8 { + width: 2rem; +} + +.w-1\/100 { + width: 1%; +} + +.w-4\.5 { + width: 1.125rem; +} + +.w-4 { + width: 1rem; +} + +.w-9 { + width: 2.25rem; +} + +.w-2\/3 { + width: 66.666667%; +} + +.w-12 { + width: 3rem; +} + +.w-1\/2 { + width: 50%; +} + +.w-1\/4 { + width: 25%; +} + +.w-5 { + width: 1.25rem; +} + +.w-3\/4 { + width: 75%; +} + +.w-3\/5 { + width: 60%; +} + +.w-9\/10 { + width: 90%; +} + +.w-3\/10 { + width: 30%; +} + +.w-7\/12 { + width: 58.333333%; +} + +.w-5\/12 { + width: 41.666667%; +} + +.w-6 { + width: 1.5rem; +} + +.w-2 { + width: 0.5rem; +} + +.w-30 { + width: 7.5rem; +} + +.w-1\/10 { + width: 10%; +} + +.w-2\/5 { + width: 40%; +} + +.w-6\.5 { + width: 1.625rem; +} + +.w-90 { + width: 22.5rem; +} + +.w-5\.75 { + width: 1.4375rem; +} + +.w-10 { + width: 2.5rem; +} + +.w-1\/5 { + width: 20%; +} + +.w-16 { + width: 4rem; +} + +.w-6\.35 { + width: 1.5875rem; +} + +.w-18\.5 { + width: 4.625rem; +} + +.w-4\/5 { + width: 80%; +} + +.w-5\.5 { + width: 1.375rem; +} + +.w-8\/12 { + width: 66.666667%; +} + +.w-3\/12 { + width: 25%; +} + +.w-4\.92 { + width: 1.23rem; +} + +.w-0 { + width: 0px; +} + +.min-w-0 { + min-width: 0px; +} + +.min-w-44 { + min-width: 11rem; +} + +.max-w-62\.5 { + max-width: 15.625rem; +} + +.max-w-full { + max-width: 100%; +} + +.max-w-none { + max-width: none; +} + +.max-w-screen-2xl { + max-width: 1320px; +} + +.flex-auto { + flex: 1 1 auto; +} + +.flex-none { + flex: none; +} + +.flex-0 { + flex: 0 0 auto; +} + +.flex-shrink-0 { + flex-shrink: 0; +} + +.shrink-0 { + flex-shrink: 0; +} + +.flex-grow { + flex-grow: 1; +} + +.grow { + flex-grow: 1; +} + +.basis-full { + flex-basis: 100%; +} + +.basis-1\/3 { + flex-basis: 33.333333%; +} + +.origin-top { + transform-origin: top; +} + +.origin-10-10 { + transform-origin: 10% 10%; +} + +.origin-10-90 { + transform-origin: 10% 90%; +} + +.-translate-x-full { + --tw-translate-x: -100%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-translate-x-1\/2 { + --tw-translate-x: -50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.translate-x-full { + --tw-translate-x: 100%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.translate-x-1\/2 { + --tw-translate-x: 50%; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.translate-x-0 { + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-translate-x-\[5px\] { + --tw-translate-x: -5px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.translate-x-\[5px\] { + --tw-translate-x: 5px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.rotate-45 { + --tw-rotate: 45deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-rotate-45 { + --tw-rotate: -45deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.-skew-x-10 { + --tw-skew-x: -10deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.skew-x-10 { + --tw-skew-x: 10deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.transform { + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.cursor-pointer { + cursor: pointer; +} + +.select-none { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.resize { + resize: both; +} + +.list-none { + list-style-type: none; +} + +.appearance-none { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.flex-row { + flex-direction: row; +} + +.flex-col { + flex-direction: column; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.items-start { + align-items: flex-start; +} + +.items-end { + align-items: flex-end; +} + +.items-center { + align-items: center; +} + +.items-stretch { + align-items: stretch; +} + +.justify-end { + justify-content: flex-end; +} + +.justify-center { + justify-content: center; +} + +.justify-between { + justify-content: space-between; +} + +.overflow-auto { + overflow: auto; +} + +.overflow-hidden { + overflow: hidden; +} + +.overflow-visible { + overflow: visible; +} + +.overflow-x-auto { + overflow-x: auto; +} + +.overflow-y-auto { + overflow-y: auto; +} + +.text-ellipsis { + text-overflow: ellipsis; +} + +.whitespace-nowrap { + white-space: nowrap; +} + +.break-words { + overflow-wrap: break-word; +} + +.rounded-2xl { + border-radius: 1rem; +} + +.rounded-lg { + border-radius: 0.5rem; +} + +.rounded-xl { + border-radius: 0.75rem; +} + +.rounded-sm { + border-radius: 0.125rem; +} + +.rounded { + border-radius: 0.25rem; +} + +.rounded-full { + border-radius: 9999px; +} + +.rounded-circle { + border-radius: 50%; +} + +.rounded-none { + border-radius: 0px; +} + +.rounded-10 { + border-radius: 2.5rem; +} + +.rounded-3\.5xl { + border-radius: 1.875rem; +} + +.rounded-3 { + border-radius: 0.75rem; +} + +.rounded-blur { + border-radius: 40px; +} + +.rounded-xs { + border-radius: 0.0625rem; +} + +.rounded-1\.4 { + border-radius: 0.35rem; +} + +.rounded-1 { + border-radius: 0.25rem; +} + +.rounded-1\.8 { + border-radius: 0.45rem; +} + +.rounded-t-2xl { + border-top-left-radius: 1rem; + border-top-right-radius: 1rem; +} + +.rounded-t-inherit { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} + +.rounded-b-inherit { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} + +.rounded-t-lg { + border-top-left-radius: 0.5rem; + border-top-right-radius: 0.5rem; +} + +.rounded-b-lg { + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} + +.rounded-b-2xl { + border-bottom-right-radius: 1rem; + border-bottom-left-radius: 1rem; +} + +.rounded-tr-none { + border-top-right-radius: 0px; +} + +.rounded-br-none { + border-bottom-right-radius: 0px; +} + +.rounded-tl-none { + border-top-left-radius: 0px; +} + +.rounded-bl-none { + border-bottom-left-radius: 0px; +} + +.rounded-bl-xl { + border-bottom-left-radius: 0.75rem; +} + +.border-0 { + border-width: 0px; +} + +.border { + border-width: 1px; +} + +.border-2 { + border-width: 2px; +} + +.border-r-0 { + border-right-width: 0px; +} + +.border-b-0 { + border-bottom-width: 0px; +} + +.border-b { + border-bottom-width: 1px; +} + +.border-t-0 { + border-top-width: 0px; +} + +.border-l-0 { + border-left-width: 0px; +} + +.border-solid { + border-style: solid; +} + +.border-blue-900 { + --tw-border-opacity: 1; + border-color: rgb(0 0 125 / var(--tw-border-opacity)); +} + +.border-white { + --tw-border-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-border-opacity)); +} + +.border-transparent { + border-color: transparent; +} + +.border-gray-300 { + --tw-border-opacity: 1; + border-color: rgb(210 214 218 / var(--tw-border-opacity)); +} + +.border-fuchsia-500 { + --tw-border-opacity: 1; + border-color: rgb(203 12 159 / var(--tw-border-opacity)); +} + +.border-black\/12\.5 { + border-color: rgb(0 0 0 / 0.125); +} + +.border-gray-200 { + --tw-border-opacity: 1; + border-color: rgb(233 236 239 / var(--tw-border-opacity)); +} + +.border-slate-700 { + --tw-border-opacity: 1; + border-color: rgb(52 71 103 / var(--tw-border-opacity)); +} + +.border-slate-100 { + --tw-border-opacity: 1; + border-color: rgb(222 226 230 / var(--tw-border-opacity)); +} + +.border-red-600 { + --tw-border-opacity: 1; + border-color: rgb(234 6 6 / var(--tw-border-opacity)); +} + +.border-lime-500 { + --tw-border-opacity: 1; + border-color: rgb(130 214 22 / var(--tw-border-opacity)); +} + +.border-white\/75 { + border-color: rgb(255 255 255 / 0.75); +} + +.border-slate-200 { + --tw-border-opacity: 1; + border-color: rgb(203 211 218 / var(--tw-border-opacity)); +} + +.border-b-gray-200 { + --tw-border-opacity: 1; + border-bottom-color: rgb(233 236 239 / var(--tw-border-opacity)); +} + +.border-b-transparent { + border-bottom-color: transparent; +} + +.bg-gray-50 { + --tw-bg-opacity: 1; + background-color: rgb(248 249 250 / var(--tw-bg-opacity)); +} + +.bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.bg-transparent { + background-color: transparent; +} + +.bg-slate-500 { + --tw-bg-opacity: 1; + background-color: rgb(103 116 142 / var(--tw-bg-opacity)); +} + +.bg-gray-200 { + --tw-bg-opacity: 1; + background-color: rgb(233 236 239 / var(--tw-bg-opacity)); +} + +.bg-slate-700 { + --tw-bg-opacity: 1; + background-color: rgb(52 71 103 / var(--tw-bg-opacity)); +} + +.bg-black { + --tw-bg-opacity: 1; + background-color: rgb(0 0 0 / var(--tw-bg-opacity)); +} + +.bg-inherit { + background-color: inherit; +} + +.bg-fuchsia-500 { + --tw-bg-opacity: 1; + background-color: rgb(203 12 159 / var(--tw-bg-opacity)); +} + +.bg-slate-800\/10 { + background-color: rgb(58 65 111 / 0.1); +} + +.bg-white\/10 { + background-color: rgb(255 255 255 / 0.1); +} + +.bg-white\/80 { + background-color: rgb(255 255 255 / 0.8); +} + +.bg-gray-600 { + --tw-bg-opacity: 1; + background-color: rgb(108 117 125 / var(--tw-bg-opacity)); +} + +.bg-\[hsla\(0\2c 0\%\2c 100\%\2c 0\.8\)\] { + background-color: hsla(0,0%,100%,0.8); +} + +.bg-gradient-to-r { + background-image: linear-gradient(to right, var(--tw-gradient-stops)); +} + +.bg-gradient-to-tl { + background-image: linear-gradient(to top left, var(--tw-gradient-stops)); +} + +.bg-none { + background-image: none; +} + +.from-transparent { + --tw-gradient-from: transparent; + --tw-gradient-to: rgb(0 0 0 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-purple-700 { + --tw-gradient-from: #7928ca; + --tw-gradient-to: rgb(121 40 202 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-slate-600 { + --tw-gradient-from: #627594; + --tw-gradient-to: rgb(98 117 148 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-gray-900 { + --tw-gradient-from: #141727; + --tw-gradient-to: rgb(20 23 39 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-blue-600 { + --tw-gradient-from: #2152ff; + --tw-gradient-to: rgb(33 82 255 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-red-500 { + --tw-gradient-from: #f53939; + --tw-gradient-to: rgb(245 57 57 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-red-600 { + --tw-gradient-from: #ea0606; + --tw-gradient-to: rgb(234 6 6 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-green-600 { + --tw-gradient-from: #17ad37; + --tw-gradient-to: rgb(23 173 55 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.from-gray-400 { + --tw-gradient-from: #ced4da; + --tw-gradient-to: rgb(206 212 218 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.via-black\/40 { + --tw-gradient-to: rgb(0 0 0 / 0); + --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.4), var(--tw-gradient-to); +} + +.via-white { + --tw-gradient-to: rgb(255 255 255 / 0); + --tw-gradient-stops: var(--tw-gradient-from), #fff, var(--tw-gradient-to); +} + +.to-transparent { + --tw-gradient-to: transparent; +} + +.to-pink-500 { + --tw-gradient-to: #ff0080; +} + +.to-slate-300 { + --tw-gradient-to: #a8b8d8; +} + +.to-slate-800 { + --tw-gradient-to: #3a416f; +} + +.to-cyan-400 { + --tw-gradient-to: #21d4fd; +} + +.to-yellow-400 { + --tw-gradient-to: #fbcf33; +} + +.to-rose-400 { + --tw-gradient-to: #ff667c; +} + +.to-lime-400 { + --tw-gradient-to: #98ec2d; +} + +.to-gray-100 { + --tw-gradient-to: #ebeff4; +} + +.bg-cover { + background-size: cover; +} + +.bg-150 { + background-size: 150%; +} + +.bg-contain { + background-size: contain; +} + +.bg-clip-border { + background-clip: border-box; +} + +.bg-clip-padding { + background-clip: padding-box; +} + +.bg-clip-text { + -webkit-background-clip: text; + background-clip: text; +} + +.bg-center { + background-position: center; +} + +.bg-x-25 { + background-position: 25% 0; +} + +.bg-left { + background-position: left; +} + +.bg-right { + background-position: right; +} + +.bg-no-repeat { + background-repeat: no-repeat; +} + +.fill-slate-800 { + fill: #3a416f; +} + +.fill-current { + fill: currentColor; +} + +.fill-transparent { + fill: transparent; +} + +.stroke-0 { + stroke-width: 0; +} + +.p-0 { + padding: 0px; +} + +.p-4 { + padding: 1rem; +} + +.p-6 { + padding: 1.5rem; +} + +.p-2 { + padding: 0.5rem; +} + +.p-1\.2 { + padding: 0.3rem; +} + +.p-1 { + padding: 0.25rem; +} + +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} + +.py-6 { + padding-top: 1.5rem; + padding-bottom: 1.5rem; +} + +.py-2\.7 { + padding-top: 0.675rem; + padding-bottom: 0.675rem; +} + +.px-4 { + padding-left: 1rem; + padding-right: 1rem; +} + +.py-2 { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.py-3 { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.px-0 { + padding-left: 0px; + padding-right: 0px; +} + +.py-1 { + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} + +.px-2\.5 { + padding-left: 0.625rem; + padding-right: 0.625rem; +} + +.px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.py-4 { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.py-1\.2 { + padding-top: 0.3rem; + padding-bottom: 0.3rem; +} + +.px-3 { + padding-left: 0.75rem; + padding-right: 0.75rem; +} + +.py-2\.2 { + padding-top: 0.55rem; + padding-bottom: 0.55rem; +} + +.px-3\.6 { + padding-left: 0.9rem; + padding-right: 0.9rem; +} + +.px-16 { + padding-left: 4rem; + padding-right: 4rem; +} + +.py-3\.5 { + padding-top: 0.875rem; + padding-bottom: 0.875rem; +} + +.py-0 { + padding-top: 0px; + padding-bottom: 0px; +} + +.px-1 { + padding-left: 0.25rem; + padding-right: 0.25rem; +} + +.py-2\.375 { + padding-top: .59375rem; + padding-bottom: .59375rem; +} + +.py-12 { + padding-top: 3rem; + padding-bottom: 3rem; +} + +.py-1\.4 { + padding-top: 0.35rem; + padding-bottom: 0.35rem; +} + +.pl-0 { + padding-left: 0px; +} + +.pl-6 { + padding-left: 1.5rem; +} + +.pt-1 { + padding-top: 0.25rem; +} + +.pl-2 { + padding-left: 0.5rem; +} + +.pl-8\.75 { + padding-left: 2.1875rem; +} + +.pr-3 { + padding-right: 0.75rem; +} + +.pl-8 { + padding-left: 2rem; +} + +.pl-4 { + padding-left: 1rem; +} + +.pr-2 { + padding-right: 0.5rem; +} + +.pt-2 { + padding-top: 0.5rem; +} + +.pt-6 { + padding-top: 1.5rem; +} + +.pr-1 { + padding-right: 0.25rem; +} + +.pb-0 { + padding-bottom: 0px; +} + +.pr-6 { + padding-right: 1.5rem; +} + +.pb-2 { + padding-bottom: 0.5rem; +} + +.pt-1\.4 { + padding-top: 0.35rem; +} + +.pt-4 { + padding-top: 1rem; +} + +.pt-0 { + padding-top: 0px; +} + +.pb-1 { + padding-bottom: 0.25rem; +} + +.pr-0 { + padding-right: 0px; +} + +.pr-4 { + padding-right: 1rem; +} + +.pl-1 { + padding-left: 0.25rem; +} + +.pr-8\.75 { + padding-right: 2.1875rem; +} + +.pr-8 { + padding-right: 2rem; +} + +.pr-10 { + padding-right: 2.5rem; +} + +.pl-3 { + padding-left: 0.75rem; +} + +.pl-12 { + padding-left: 3rem; +} + +.pt-12 { + padding-top: 3rem; +} + +.pb-56 { + padding-bottom: 14rem; +} + +.pl-6\.92 { + padding-left: 1.73rem; +} + +.pt-48 { + padding-top: 12rem; +} + +.text-left { + text-align: left; +} + +.text-center { + text-align: center; +} + +.text-right { + text-align: right; +} + +.text-start { + text-align: start; +} + +.align-baseline { + vertical-align: baseline; +} + +.align-top { + vertical-align: top; +} + +.align-middle { + vertical-align: middle; +} + +.align-bottom { + vertical-align: bottom; +} + +.font-sans { + font-family: Open Sans; +} + +.text-base { + font-size: 1rem; + line-height: 1.5rem; +} + +.text-sm { + font-size: 0.875rem; + line-height: 1.5rem; +} + +.text-xs { + font-size: 0.75rem; + line-height: 1rem; +} + +.text-lg { + font-size: 1.125rem; + line-height: 1.75rem; +} + +.text-xxs { + font-size: 0.65rem; + line-height: 1rem; +} + +.text-xl { + font-size: 1.25rem; + line-height: 1.75rem; +} + +.text-inherit { + font-size: inherit; +} + +.text-3xs { + font-size: 0.5rem; + line-height: 1rem; +} + +.text-banner-calculate { + font-size: calc(1.625rem+4.5vw); +} + +.font-normal { + font-weight: 400; +} + +.font-semibold { + font-weight: 600; +} + +.font-bold { + font-weight: 700; +} + +.uppercase { + text-transform: uppercase; +} + +.capitalize { + text-transform: capitalize; +} + +.leading-default { + line-height: 1.6; +} + +.leading-tight { + line-height: 1.25; +} + +.leading-none { + line-height: 1; +} + +.leading-pro { + line-height: 1.4; +} + +.leading-normal { + line-height: 1.5; +} + +.leading-5\.6 { + line-height: 1.4rem; +} + +.leading-5 { + line-height: 1.25rem; +} + +.leading-tighter { + line-height: 1.2; +} + +.tracking-tight-soft { + letter-spacing: -0.025rem; +} + +.tracking-normal { + letter-spacing: 0em; +} + +.tracking-none { + letter-spacing: 0; +} + +.tracking-tight { + letter-spacing: -0.025em; +} + +.text-slate-500 { + --tw-text-opacity: 1; + color: rgb(103 116 142 / var(--tw-text-opacity)); +} + +.text-slate-400 { + --tw-text-opacity: 1; + color: rgb(131 146 171 / var(--tw-text-opacity)); +} + +.text-slate-700 { + --tw-text-opacity: 1; + color: rgb(52 71 103 / var(--tw-text-opacity)); +} + +.text-gray-800 { + --tw-text-opacity: 1; + color: rgb(37 47 64 / var(--tw-text-opacity)); +} + +.text-red-500 { + --tw-text-opacity: 1; + color: rgb(245 57 57 / var(--tw-text-opacity)); +} + +.text-red-600 { + --tw-text-opacity: 1; + color: rgb(234 6 6 / var(--tw-text-opacity)); +} + +.text-lime-500 { + --tw-text-opacity: 1; + color: rgb(130 214 22 / var(--tw-text-opacity)); +} + +.text-cyan-500 { + --tw-text-opacity: 1; + color: rgb(23 193 232 / var(--tw-text-opacity)); +} + +.text-fuchsia-500 { + --tw-text-opacity: 1; + color: rgb(203 12 159 / var(--tw-text-opacity)); +} + +.text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.text-transparent { + color: transparent; +} + +.text-black { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)); +} + +.text-gray-700 { + --tw-text-opacity: 1; + color: rgb(73 80 87 / var(--tw-text-opacity)); +} + +.text-neutral-900 { + --tw-text-opacity: 1; + color: rgb(17 17 17 / var(--tw-text-opacity)); +} + +.text-inherit { + color: inherit; +} + +.text-blue-800 { + --tw-text-opacity: 1; + color: rgb(52 78 134 / var(--tw-text-opacity)); +} + +.text-sky-600 { + --tw-text-opacity: 1; + color: rgb(62 161 236 / var(--tw-text-opacity)); +} + +.text-sky-900 { + --tw-text-opacity: 1; + color: rgb(14 69 109 / var(--tw-text-opacity)); +} + +.text-slate-800 { + --tw-text-opacity: 1; + color: rgb(58 65 111 / var(--tw-text-opacity)); +} + +.text-gray-200 { + --tw-text-opacity: 1; + color: rgb(233 236 239 / var(--tw-text-opacity)); +} + +.underline { + -webkit-text-decoration-line: underline; + text-decoration-line: underline; +} + +.antialiased { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.opacity-50 { + opacity: 0.5; +} + +.opacity-60 { + opacity: 0.6; +} + +.opacity-100 { + opacity: 1; +} + +.opacity-80 { + opacity: 0.8; +} + +.opacity-0 { + opacity: 0; +} + +.opacity-70 { + opacity: 0.7; +} + +.shadow-none { + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-soft-xl { + --tw-shadow: 0 20px 27px 0 rgba(0,0,0,0.05); + --tw-shadow-colored: 0 20px 27px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-soft-2xl { + --tw-shadow: 0 .3125rem .625rem 0 rgba(0,0,0,.12); + --tw-shadow-colored: 0 .3125rem .625rem 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-soft-md { + --tw-shadow: 0 4px 7px -1px rgba(0,0,0,.11),0 2px 4px -1px rgba(0,0,0,.07); + --tw-shadow-colored: 0 4px 7px -1px var(--tw-shadow-color), 0 2px 4px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-soft-3xl { + --tw-shadow: 0 8px 26px -4px hsla(0,0%,8%,.15),0 8px 9px -5px hsla(0,0%,8%,.06); + --tw-shadow-colored: 0 8px 26px -4px var(--tw-shadow-color), 0 8px 9px -5px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-soft-lg { + --tw-shadow: 0 2px 12px 0 rgba(0,0,0,.16); + --tw-shadow-colored: 0 2px 12px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-xl { + --tw-shadow: 0 23px 45px -11px hsla(0,0%,8%,.25); + --tw-shadow-colored: 0 23px 45px -11px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-blur { + --tw-shadow: inset 0 0 1px 1px hsla(0,0%,100%,.9),0 20px 27px 0 rgba(0,0,0,.05); + --tw-shadow-colored: inset 0 0 1px 1px var(--tw-shadow-color), 0 20px 27px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-soft-sm { + --tw-shadow: 0 .25rem .375rem -.0625rem hsla(0,0%,8%,.12),0 .125rem .25rem -.0625rem hsla(0,0%,8%,.07); + --tw-shadow-colored: 0 .25rem .375rem -.0625rem var(--tw-shadow-color), 0 .125rem .25rem -.0625rem var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-soft-xxs { + --tw-shadow: 0 1px 5px 1px #ddd; + --tw-shadow-colored: 0 1px 5px 1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.shadow-transparent { + --tw-shadow-color: transparent; + --tw-shadow: var(--tw-shadow-colored); +} + +.blur { + --tw-blur: blur(8px); + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.filter { + filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +.backdrop-blur-2xl { + --tw-backdrop-blur: blur(30px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.backdrop-blur-\[30px\] { + --tw-backdrop-blur: blur(30px); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.backdrop-saturate-200 { + --tw-backdrop-saturate: saturate(2); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.backdrop-saturate-\[200\%\] { + --tw-backdrop-saturate: saturate(200%); + -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); + backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); +} + +.transition-transform { + transition-property: transform; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-all { + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition-colors { + transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.transition { + transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.duration-200 { + transition-duration: 200ms; +} + +.duration-300 { + transition-duration: 300ms; +} + +.duration-250 { + transition-duration: 250ms; +} + +.duration-600 { + transition-duration: 600ms; +} + +.duration-500 { + transition-duration: 500ms; +} + +.duration-350 { + transition-duration: 350ms; +} + +.ease-soft { + transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); +} + +.ease-in { + transition-timing-function: cubic-bezier(0.4, 0, 1, 1); +} + +.ease-soft-in-out { + transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); +} + +.ease-soft-in { + transition-timing-function: cubic-bezier(0.42, 0, 1, 1); +} + +.ease-bounce { + transition-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1.3); +} + +.ease-soft-out { + transition-timing-function: cubic-bezier(0, 0, 0.58, 1); +} + +.transform3d { + transform: perspective(999px) rotateX(0deg) translateZ(0); +} + +.transform-dropdown { + transform: perspective(999px) rotateX(-10deg) translateZ(0) translate3d(0,37px,0); +} + +.transform-dropdown-show { + transform: perspective(999px) rotateX(0deg) translateZ(0) translate3d(0,37px,5px); +} + +.flex-wrap-inherit { + flex-wrap: inherit; +} + +.placeholder\:text-gray-500::-moz-placeholder { + --tw-text-opacity: 1; + color: rgb(173 181 189 / var(--tw-text-opacity)); +} + +.placeholder\:text-gray-500::placeholder { + --tw-text-opacity: 1; + color: rgb(173 181 189 / var(--tw-text-opacity)); +} + +.before\:visible::before { + content: var(--tw-content); + visibility: visible; +} + +.before\:absolute::before { + content: var(--tw-content); + position: absolute; +} + +.before\:right-2::before { + content: var(--tw-content); + right: 0.5rem; +} + +.before\:left-auto::before { + content: var(--tw-content); + left: auto; +} + +.before\:top-0::before { + content: var(--tw-content); + top: 0px; +} + +.before\:right-7::before { + content: var(--tw-content); + right: 1.75rem; +} + +.before\:left-4::before { + content: var(--tw-content); + left: 1rem; +} + +.before\:right-auto::before { + content: var(--tw-content); + right: auto; +} + +.before\:left-2::before { + content: var(--tw-content); + left: 0.5rem; +} + +.before\:left-7::before { + content: var(--tw-content); + left: 1.75rem; +} + +.before\:right-4::before { + content: var(--tw-content); + right: 1rem; +} + +.before\:-top-5::before { + content: var(--tw-content); + top: -1.25rem; +} + +.before\:z-50::before { + content: var(--tw-content); + z-index: 50; +} + +.before\:z-40::before { + content: var(--tw-content); + z-index: 40; +} + +.before\:float-right::before { + content: var(--tw-content); + float: right; +} + +.before\:float-left::before { + content: var(--tw-content); + float: left; +} + +.before\:inline-block::before { + content: var(--tw-content); + display: inline-block; +} + +.before\:h-2::before { + content: var(--tw-content); + height: 0.5rem; +} + +.before\:h-full::before { + content: var(--tw-content); + height: 100%; +} + +.before\:w-2::before { + content: var(--tw-content); + width: 0.5rem; +} + +.before\:rotate-45::before { + content: var(--tw-content); + --tw-rotate: 45deg; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.before\:border-r-2::before { + content: var(--tw-content); + border-right-width: 2px; +} + +.before\:border-l-2::before { + content: var(--tw-content); + border-left-width: 2px; +} + +.before\:border-r-slate-100::before { + content: var(--tw-content); + --tw-border-opacity: 1; + border-right-color: rgb(222 226 230 / var(--tw-border-opacity)); +} + +.before\:border-l-slate-100::before { + content: var(--tw-content); + --tw-border-opacity: 1; + border-left-color: rgb(222 226 230 / var(--tw-border-opacity)); +} + +.before\:bg-inherit::before { + content: var(--tw-content); + background-color: inherit; +} + +.before\:pr-2::before { + content: var(--tw-content); + padding-right: 0.5rem; +} + +.before\:pl-2::before { + content: var(--tw-content); + padding-left: 0.5rem; +} + +.before\:font-awesome::before { + content: var(--tw-content); + font-family: FontAwesome; +} + +.before\:text-5\.5::before { + content: var(--tw-content); + font-size: 1.375rem; +} + +.before\:text-5::before { + content: var(--tw-content); + font-size: 1.25rem; +} + +.before\:font-normal::before { + content: var(--tw-content); + font-weight: 400; +} + +.before\:leading-default::before { + content: var(--tw-content); + line-height: 1.6; +} + +.before\:text-gray-600::before { + content: var(--tw-content); + --tw-text-opacity: 1; + color: rgb(108 117 125 / var(--tw-text-opacity)); +} + +.before\:text-white::before { + content: var(--tw-content); + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.before\:antialiased::before { + content: var(--tw-content); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.before\:transition-all::before { + content: var(--tw-content); + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.before\:duration-350::before { + content: var(--tw-content); + transition-duration: 350ms; +} + +.before\:ease-soft::before { + content: var(--tw-content); + transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); +} + +.before\:content-\[\'\/\'\]::before { + --tw-content: '/'; + content: var(--tw-content); +} + +.before\:content-\[\'\\f0d8\'\]::before { + --tw-content: '\f0d8'; + content: var(--tw-content); +} + +.before\:content-\[\'\'\]::before { + --tw-content: ''; + content: var(--tw-content); +} + +.after\:absolute::after { + content: var(--tw-content); + position: absolute; +} + +.after\:top-0::after { + content: var(--tw-content); + top: 0px; +} + +.after\:bottom-0::after { + content: var(--tw-content); + bottom: 0px; +} + +.after\:left-0::after { + content: var(--tw-content); + left: 0px; +} + +.after\:top-px::after { + content: var(--tw-content); + top: 1px; +} + +.after\:z-10::after { + content: var(--tw-content); + z-index: 10; +} + +.after\:clear-both::after { + content: var(--tw-content); + clear: both; +} + +.after\:block::after { + content: var(--tw-content); + display: block; +} + +.after\:flex::after { + content: var(--tw-content); + display: flex; +} + +.after\:table::after { + content: var(--tw-content); + display: table; +} + +.after\:h-full::after { + content: var(--tw-content); + height: 100%; +} + +.after\:h-4::after { + content: var(--tw-content); + height: 1rem; +} + +.after\:w-full::after { + content: var(--tw-content); + width: 100%; +} + +.after\:w-4::after { + content: var(--tw-content); + width: 1rem; +} + +.after\:translate-x-px::after { + content: var(--tw-content); + --tw-translate-x: 1px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.after\:-translate-x-px::after { + content: var(--tw-content); + --tw-translate-x: -1px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.after\:items-center::after { + content: var(--tw-content); + align-items: center; +} + +.after\:justify-center::after { + content: var(--tw-content); + justify-content: center; +} + +.after\:rounded-2xl::after { + content: var(--tw-content); + border-radius: 1rem; +} + +.after\:rounded-circle::after { + content: var(--tw-content); + border-radius: 50%; +} + +.after\:bg-white::after { + content: var(--tw-content); + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.after\:bg-gradient-to-tl::after { + content: var(--tw-content); + background-image: linear-gradient(to top left, var(--tw-gradient-stops)); +} + +.after\:from-gray-900::after { + content: var(--tw-content); + --tw-gradient-from: #141727; + --tw-gradient-to: rgb(20 23 39 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.after\:from-blue-600::after { + content: var(--tw-content); + --tw-gradient-from: #2152ff; + --tw-gradient-to: rgb(33 82 255 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.after\:from-red-500::after { + content: var(--tw-content); + --tw-gradient-from: #f53939; + --tw-gradient-to: rgb(245 57 57 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.after\:from-green-600::after { + content: var(--tw-content); + --tw-gradient-from: #17ad37; + --tw-gradient-to: rgb(23 173 55 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.after\:from-red-600::after { + content: var(--tw-content); + --tw-gradient-from: #ea0606; + --tw-gradient-to: rgb(234 6 6 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.after\:from-slate-600::after { + content: var(--tw-content); + --tw-gradient-from: #627594; + --tw-gradient-to: rgb(98 117 148 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.after\:from-purple-700::after { + content: var(--tw-content); + --tw-gradient-from: #7928ca; + --tw-gradient-to: rgb(121 40 202 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.after\:to-slate-800::after { + content: var(--tw-content); + --tw-gradient-to: #3a416f; +} + +.after\:to-cyan-400::after { + content: var(--tw-content); + --tw-gradient-to: #21d4fd; +} + +.after\:to-yellow-400::after { + content: var(--tw-content); + --tw-gradient-to: #fbcf33; +} + +.after\:to-lime-400::after { + content: var(--tw-content); + --tw-gradient-to: #98ec2d; +} + +.after\:to-rose-400::after { + content: var(--tw-content); + --tw-gradient-to: #ff667c; +} + +.after\:to-slate-300::after { + content: var(--tw-content); + --tw-gradient-to: #a8b8d8; +} + +.after\:to-pink-500::after { + content: var(--tw-content); + --tw-gradient-to: #ff0080; +} + +.after\:font-awesome::after { + content: var(--tw-content); + font-family: FontAwesome; +} + +.after\:text-xxs::after { + content: var(--tw-content); + font-size: 0.65rem; + line-height: 1rem; +} + +.after\:text-white::after { + content: var(--tw-content); + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.after\:opacity-65::after { + content: var(--tw-content); + opacity: 0.65; +} + +.after\:opacity-0::after { + content: var(--tw-content); + opacity: 0; +} + +.after\:opacity-85::after { + content: var(--tw-content); + opacity: 0.85; +} + +.after\:shadow-soft-2xl::after { + content: var(--tw-content); + --tw-shadow: 0 .3125rem .625rem 0 rgba(0,0,0,.12); + --tw-shadow-colored: 0 .3125rem .625rem 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.after\:transition-all::after { + content: var(--tw-content); + transition-property: all; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.after\:duration-250::after { + content: var(--tw-content); + transition-duration: 250ms; +} + +.after\:ease-soft-in-out::after { + content: var(--tw-content); + transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); +} + +.after\:content-\[\'\'\]::after { + --tw-content: ''; + content: var(--tw-content); +} + +.after\:content-\[\'\\f00c\'\]::after { + --tw-content: '\f00c'; + content: var(--tw-content); +} + +.checked\:border-0:checked { + border-width: 0px; +} + +.checked\:border-slate-800\/95:checked { + border-color: rgb(58 65 111 / 0.95); +} + +.checked\:border-transparent:checked { + border-color: transparent; +} + +.checked\:bg-slate-800\/95:checked { + background-color: rgb(58 65 111 / 0.95); +} + +.checked\:bg-transparent:checked { + background-color: transparent; +} + +.checked\:bg-none:checked { + background-image: none; +} + +.checked\:bg-gradient-to-tl:checked { + background-image: linear-gradient(to top left, var(--tw-gradient-stops)); +} + +.checked\:from-gray-900:checked { + --tw-gradient-from: #141727; + --tw-gradient-to: rgb(20 23 39 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); +} + +.checked\:to-slate-800:checked { + --tw-gradient-to: #3a416f; +} + +.checked\:bg-right:checked { + background-position: right; +} + +.checked\:after\:translate-x-5\.25:checked::after { + content: var(--tw-content); + --tw-translate-x: 1.3125rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.checked\:after\:translate-x-5:checked::after { + content: var(--tw-content); + --tw-translate-x: 1.25rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.checked\:after\:-translate-x-5\.25:checked::after { + content: var(--tw-content); + --tw-translate-x: -1.3125rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.checked\:after\:-translate-x-5:checked::after { + content: var(--tw-content); + --tw-translate-x: -1.25rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.checked\:after\:opacity-100:checked::after { + content: var(--tw-content); + opacity: 1; +} + +.hover\:z-30:hover { + z-index: 30; +} + +.hover\:scale-102:hover { + --tw-scale-x: 1.02; + --tw-scale-y: 1.02; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.hover\:border-fuchsia-500:hover { + --tw-border-opacity: 1; + border-color: rgb(203 12 159 / var(--tw-border-opacity)); +} + +.hover\:border-slate-700:hover { + --tw-border-opacity: 1; + border-color: rgb(52 71 103 / var(--tw-border-opacity)); +} + +.hover\:border-white:hover { + --tw-border-opacity: 1; + border-color: rgb(255 255 255 / var(--tw-border-opacity)); +} + +.hover\:border-white\/75:hover { + border-color: rgb(255 255 255 / 0.75); +} + +.hover\:bg-transparent:hover { + background-color: transparent; +} + +.hover\:bg-gray-200:hover { + --tw-bg-opacity: 1; + background-color: rgb(233 236 239 / var(--tw-bg-opacity)); +} + +.hover\:bg-white\/10:hover { + background-color: rgb(255 255 255 / 0.1); +} + +.hover\:bg-slate-700:hover { + --tw-bg-opacity: 1; + background-color: rgb(52 71 103 / var(--tw-bg-opacity)); +} + +.hover\:text-fuchsia-500:hover { + --tw-text-opacity: 1; + color: rgb(203 12 159 / var(--tw-text-opacity)); +} + +.hover\:text-slate-700:hover { + --tw-text-opacity: 1; + color: rgb(52 71 103 / var(--tw-text-opacity)); +} + +.hover\:text-white:hover { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.hover\:text-fuchsia-800:hover { + --tw-text-opacity: 1; + color: rgb(131 8 102 / var(--tw-text-opacity)); +} + +.hover\:opacity-75:hover { + opacity: 0.75; +} + +.hover\:shadow-soft-2xl:hover { + --tw-shadow: 0 .3125rem .625rem 0 rgba(0,0,0,.12); + --tw-shadow-colored: 0 .3125rem .625rem 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.hover\:shadow-none:hover { + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.hover\:shadow-soft-xs:hover { + --tw-shadow: 0 3px 5px -1px rgba(0,0,0,.09),0 2px 3px -1px rgba(0,0,0,.07); + --tw-shadow-colored: 0 3px 5px -1px var(--tw-shadow-color), 0 2px 3px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.hover\:transform3d-hover:hover { + transform: perspective(999px) rotateX(7deg) translate3d(0,-4px,5px); +} + +.focus\:border-fuchsia-300:focus { + --tw-border-opacity: 1; + border-color: rgb(226 147 211 / var(--tw-border-opacity)); +} + +.focus\:bg-white:focus { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.focus\:text-gray-700:focus { + --tw-text-opacity: 1; + color: rgb(73 80 87 / var(--tw-text-opacity)); +} + +.focus\:shadow-soft-primary-outline:focus { + --tw-shadow: 0 0 0 2px #e9aede; + --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.focus\:outline-none:focus { + outline: 2px solid transparent; + outline-offset: 2px; +} + +.focus\:transition-shadow:focus { + transition-property: box-shadow; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} + +.active\:scale-100:active { + --tw-scale-x: 1; + --tw-scale-y: 1; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.active\:border-fuchsia-500:active { + --tw-border-opacity: 1; + border-color: rgb(203 12 159 / var(--tw-border-opacity)); +} + +.active\:border-white\/75:active { + border-color: rgb(255 255 255 / 0.75); +} + +.active\:bg-fuchsia-500:active { + --tw-bg-opacity: 1; + background-color: rgb(203 12 159 / var(--tw-bg-opacity)); +} + +.active\:bg-slate-700:active { + --tw-bg-opacity: 1; + background-color: rgb(52 71 103 / var(--tw-bg-opacity)); +} + +.active\:bg-white:active { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); +} + +.active\:text-white:active { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.active\:text-black:active { + --tw-text-opacity: 1; + color: rgb(0 0 0 / var(--tw-text-opacity)); +} + +.active\:opacity-85:active { + opacity: 0.85; +} + +.active\:shadow-soft-xs:active { + --tw-shadow: 0 3px 5px -1px rgba(0,0,0,.09),0 2px 3px -1px rgba(0,0,0,.07); + --tw-shadow-colored: 0 3px 5px -1px var(--tw-shadow-color), 0 2px 3px -1px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.hover\:active\:scale-102:active:hover { + --tw-scale-x: 1.02; + --tw-scale-y: 1.02; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.active\:hover\:scale-102:hover:active { + --tw-scale-x: 1.02; + --tw-scale-y: 1.02; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.active\:hover\:border-fuchsia-500:hover:active { + --tw-border-opacity: 1; + border-color: rgb(203 12 159 / var(--tw-border-opacity)); +} + +.active\:hover\:border-white\/75:hover:active { + border-color: rgb(255 255 255 / 0.75); +} + +.active\:hover\:bg-transparent:hover:active { + background-color: transparent; +} + +.active\:hover\:bg-white\/10:hover:active { + background-color: rgb(255 255 255 / 0.1); +} + +.active\:hover\:text-fuchsia-500:hover:active { + --tw-text-opacity: 1; + color: rgb(203 12 159 / var(--tw-text-opacity)); +} + +.active\:hover\:text-slate-700:hover:active { + --tw-text-opacity: 1; + color: rgb(52 71 103 / var(--tw-text-opacity)); +} + +.active\:hover\:text-white:hover:active { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); +} + +.active\:hover\:opacity-75:hover:active { + opacity: 0.75; +} + +.active\:hover\:shadow-none:hover:active { + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + +.group:hover .group-hover\:translate-x-1\.25 { + --tw-translate-x: 0.3125rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.group:hover .group-hover\:translate-x-1 { + --tw-translate-x: 0.25rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.group:hover .group-hover\:-translate-x-1\.25 { + --tw-translate-x: -0.3125rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +.group:hover .group-hover\:-translate-x-1 { + --tw-translate-x: -0.25rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} + +@media (min-width: 576px) { + .sm\:my-6 { + margin-top: 1.5rem; + margin-bottom: 1.5rem; + } + + .sm\:my-auto { + margin-top: auto; + margin-bottom: auto; + } + + .sm\:mr-16 { + margin-right: 4rem; + } + + .sm\:mt-0 { + margin-top: 0px; + } + + .sm\:mr-6 { + margin-right: 1.5rem; + } + + .sm\:mr-1 { + margin-right: 0.25rem; + } + + .sm\:-mr-6 { + margin-right: -1.5rem; + } + + .sm\:ml-2 { + margin-left: 0.5rem; + } + + .sm\:mr-0 { + margin-right: 0px; + } + + .sm\:mb-0 { + margin-bottom: 0px; + } + + .sm\:inline { + display: inline; + } + + .sm\:w-1\/2 { + width: 50%; + } + + .sm\:flex-none { + flex: none; + } + + .sm\:px-6 { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + + .sm\:pt-4 { + padding-top: 1rem; + } + + .before\:sm\:right-7\.5::before { + content: var(--tw-content); + right: 1.875rem; + } + + .before\:sm\:right-7::before { + content: var(--tw-content); + right: 1.75rem; + } + + .before\:sm\:left-3::before { + content: var(--tw-content); + left: 0.75rem; + } +} + +@media (min-width: 768px) { + .md\:mr-0 { + margin-right: 0px; + } + + .md\:ml-auto { + margin-left: auto; + } + + .md\:mb-0 { + margin-bottom: 0px; + } + + .md\:mt-0 { + margin-top: 0px; + } + + .md\:-mt-56 { + margin-top: -14rem; + } + + .md\:block { + display: block; + } + + .md\:w-1\/2 { + width: 50%; + } + + .md\:w-8\/12 { + width: 66.666667%; + } + + .md\:w-7\/12 { + width: 58.333333%; + } + + .md\:w-5\/12 { + width: 41.666667%; + } + + .md\:w-4\/12 { + width: 33.333333%; + } + + .md\:w-6\/12 { + width: 50%; + } + + .md\:w-1\/12 { + width: 8.333333%; + } + + .md\:w-11\/12 { + width: 91.666667%; + } + + .md\:flex-none { + flex: none; + } + + .md\:flex-0 { + flex: 0 0 auto; + } + + .md\:scale-70 { + --tw-scale-x: .7; + --tw-scale-y: .7; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + } + + .md\:pr-4 { + padding-right: 1rem; + } +} + +@media (max-width: 768px) { + .md-max\:w-full { + width: 100%; + } +} + +@media (min-width: 992px) { + .lg\:absolute { + position: absolute; + } + + .lg\:right-0 { + right: 0px; + } + + .lg\:left-auto { + left: auto; + } + + .lg\:float-right { + float: right; + } + + .lg\:mt-2 { + margin-top: 0.5rem; + } + + .lg\:mb-0 { + margin-bottom: 0px; + } + + .lg\:mt-0 { + margin-top: 0px; + } + + .lg\:ml-0 { + margin-left: 0px; + } + + .lg\:-mt-48 { + margin-top: -12rem; + } + + .lg\:ml-12 { + margin-left: 3rem; + } + + .lg\:-mt-6 { + margin-top: -1.5rem; + } + + .lg\:block { + display: block; + } + + .lg\:flex { + display: flex; + } + + .lg\:hidden { + display: none; + } + + .lg\:w-7\/12 { + width: 58.333333%; + } + + .lg\:w-1\/2 { + width: 50%; + } + + .lg\:w-5\/12 { + width: 41.666667%; + } + + .lg\:w-2\/3 { + width: 66.666667%; + } + + .lg\:w-1\/3 { + width: 33.333333%; + } + + .lg\:w-full { + width: 100%; + } + + .lg\:w-4\/12 { + width: 33.333333%; + } + + .lg\:w-8\/12 { + width: 66.666667%; + } + + .lg\:max-w-120 { + max-width: 30rem; + } + + .lg\:flex-none { + flex: none; + } + + .lg\:flex-0 { + flex: 0 0 auto; + } + + .lg\:basis-auto { + flex-basis: auto; + } + + .lg\:cursor-pointer { + cursor: pointer; + } + + .lg\:flex-row { + flex-direction: row; + } + + .lg\:flex-nowrap { + flex-wrap: nowrap; + } + + .lg\:justify-start { + justify-content: flex-start; + } + + .lg\:justify-end { + justify-content: flex-end; + } + + .lg\:justify-between { + justify-content: space-between; + } + + .lg\:px-2 { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + + .lg\:pt-0 { + padding-top: 0px; + } + + .lg\:text-left { + text-align: left; + } + + .lg\:text-right { + text-align: right; + } + + .lg\:shadow-soft-3xl { + --tw-shadow: 0 8px 26px -4px hsla(0,0%,8%,.15),0 8px 9px -5px hsla(0,0%,8%,.06); + --tw-shadow-colored: 0 8px 26px -4px var(--tw-shadow-color), 0 8px 9px -5px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + } + + .lg\:transition-colors { + transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; + } + + .lg\:duration-300 { + transition-duration: 300ms; + } + + .lg\:ease-soft { + transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); + } + + .before\:lg\:-ml-px::before { + content: var(--tw-content); + margin-left: -1px; + } + + .before\:lg\:-mr-px::before { + content: var(--tw-content); + margin-right: -1px; + } + + .lg\:hover\:text-white\/75:hover { + color: rgb(255 255 255 / 0.75); + } +} + +@media (max-width: 992px) { + .lg-max\:mt-6 { + margin-top: 1.5rem; + } + + .lg-max\:max-h-0 { + max-height: 0px; + } + + .lg-max\:max-h-54 { + max-height: 13.5rem; + } + + .lg-max\:overflow-hidden { + overflow: hidden; + } + + .lg-max\:bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); + } + + .lg-max\:text-slate-700 { + --tw-text-opacity: 1; + color: rgb(52 71 103 / var(--tw-text-opacity)); + } + + .lg-max\:opacity-0 { + opacity: 0; + } +} + +@media (min-width: 1200px) { + .xl\:left-0 { + left: 0px; + } + + .xl\:right-0 { + right: 0px; + } + + .xl\:left-\[18\%\] { + left: 18%; + } + + .xl\:ml-68\.5 { + margin-left: 17.125rem; + } + + .xl\:ml-68 { + margin-left: 17rem; + } + + .xl\:mb-0 { + margin-bottom: 0px; + } + + .xl\:mr-68\.5 { + margin-right: 17.125rem; + } + + .xl\:mr-68 { + margin-right: 17rem; + } + + .xl\:ml-auto { + margin-left: auto; + } + + .xl\:mr-12 { + margin-right: 3rem; + } + + .xl\:ml-4 { + margin-left: 1rem; + } + + .xl\:hidden { + display: none; + } + + .xl\:w-1\/4 { + width: 25%; + } + + .xl\:w-1\/2 { + width: 50%; + } + + .xl\:w-4\/12 { + width: 33.333333%; + } + + .xl\:w-3\/12 { + width: 25%; + } + + .xl\:flex-none { + flex: none; + } + + .xl\:translate-x-0 { + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + } + + .xl\:scale-60 { + --tw-scale-x: .6; + --tw-scale-y: .6; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + } + + @-webkit-keyframes fade-up { + from { + opacity: 0; + transform: translateY(100%); + } + + to { + opacity: 1; + } + } + + @keyframes fade-up { + from { + opacity: 0; + transform: translateY(100%); + } + + to { + opacity: 1; + } + } + + .xl\:animate-fade-up { + -webkit-animation: fade-up 1.5s both; + animation: fade-up 1.5s both; + } + + .xl\:bg-transparent { + background-color: transparent; + } + + .xl\:bg-white { + --tw-bg-opacity: 1; + background-color: rgb(255 255 255 / var(--tw-bg-opacity)); + } + + .xl\:p-2\.5 { + padding: 0.625rem; + } + + .xl\:p-2 { + padding: 0.5rem; + } + + .xl\:px-12 { + padding-left: 3rem; + padding-right: 3rem; + } + + .xl\:text-8xl { + font-size: 5rem; + line-height: 1; + } +} + +@media (max-width: 1200px) { + .xl-max\:pointer-events-none { + pointer-events: none; + } + + .xl-max\:cursor-not-allowed { + cursor: not-allowed; + } + + .xl-max\:border-0 { + border-width: 0px; + } + + .xl-max\:bg-gradient-to-tl { + background-image: linear-gradient(to top left, var(--tw-gradient-stops)); + } + + .xl-max\:from-purple-700 { + --tw-gradient-from: #7928ca; + --tw-gradient-to: rgb(121 40 202 / 0); + --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to); + } + + .xl-max\:to-pink-500 { + --tw-gradient-to: #ff0080; + } + + .xl-max\:text-white { + --tw-text-opacity: 1; + color: rgb(255 255 255 / var(--tw-text-opacity)); + } + + .xl-max\:opacity-65 { + opacity: 0.65; + } +} diff --git a/web/design-system/setup/public/assets/fonts/nucleo-icons.eot b/web/design-system/setup/public/assets/fonts/nucleo-icons.eot new file mode 100644 index 0000000000000000000000000000000000000000..ab96810adf6e7862e0297f03958a1b18e0607c37 GIT binary patch literal 18516 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/design-system/setup/public/assets/fonts/nucleo-icons.ttf b/web/design-system/setup/public/assets/fonts/nucleo-icons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1a5598505e4324b19be3e4dee9d2e10df541cc13 GIT binary patch literal 18292 zcmd^ndyre#dEYtr{lxoT0Q&$yUbkW4*HO15liDcO?c#qNUKC3hFA zeNdL1PSW(rVJ9gQbCX-fentDP`#?GX4n#`n^?o8vD za>jPT{=R#F<%(9^@l5|K7T>w&o_p@S=X~dTe+SDrW6WkdOlF6kd~Wu!!lnIhFvbs~ z_4yAzcW}Bn`@T7x{{qg>EUb3cmB0RBoH6+mjA`FExAOYg@$Y?p6b~pcHuI&WZfDV% z`iq}M-`jxZ5*j4N7f}Blz}V92)+ZK+@BIm$_ve6LUg<4#o;&pMzhTUJ9@qc#YUdN{ z{0;U?xR$|rVXd>;{YL7*CmB2O$Bao|Tkmady*&0cm9fWug)!xu3}dI^Q+e+P_x_g4 z{nM~5EV^L}I-Pm)f3AHz`p8{oi#u*v&pl2(=!koN$Yn0!)L>N7hq`sy&j2^{p;ilj zjNPMCeCWEx4zc4*I{C!Y&$Gx%XKRfOF(tezuJ5h$mF06CJYQVl=toyMS~$~oTmP2- z62tu1zhM6sWvPFBgE{Om8iXpN^*uh%o_&0gwF4>WhOTA^RN`Dvk%Ybqo~SV$6lLN*8#Lpx2#c~9i?akvvJ~@}&(bWzvY^vpHo`_( zj^$Z_?PEpI+8Eo<%B;c;u!q<<33hI0xJINkrPp~K1Q|$fh6g$nHX3ww>un)3l*@xJN*>mi9Hp|Yi7ubvJBkZH> zCH6A=7<+|%oXxQgn`aAb5z`?~`2YRm5CW7NeKY_o0i+K>xcZ=&fT)Jru=WH*MFFUZ zfaoCr772*L0$l*fm;lm;05rk^QvgY%08~Z*x?ut29RX2ZfRPZ83=CWWpehzb1c1I+ z5ETGQV?j&+XpRNY5(J<=79<3K4q1>C0E%QmN&sk+1)cy1Pk^F0C%vU zC;)uIf|3Am3=75tfOlB1UjVp>1!V!?Cl*u$fU{U|Kmd4*1rG@Tx3OSc0QimtRRQ2Y z7EA~LFS4K}fTTq*DFFP*f`bCUsVq1o06fcrDFNVK7EB8OAG4q?036MN83EvJ7BmEa z%URGA0DfmdO8_{Z1&0Md2C(2^0gwhPI3fUYfdxkeKtizK5dn}DEI1|rQiBD@1wekV z;Di835*D-tK&G(ZQ2~tF9uojL!-Dq-Abl8|6ad-7g2x3w3bEh`0gy*5cv1i)6APXa z02#%C_X~iuV!|AIEO=P}WGxFmCIC{G1+NHz{AIz%1wazBU`_yJG7CBa7`4p{fShK*f&fTt z7Ay*Y?1oknKvF#Xl<~yhX5Z(>`M>0UC~4B~%PIL~`I;Qa-&ZVUNEuhwl+P)Du13_S z)n8S=t~uJ0c18Ow?H&ENeo?<+XvR~X9am`{8z8A-mJ{G(JPbtLr*ssHWGc#GZ@U-Ey&57LY2Urql>=1As7=63d1hF%Ue zF=KzqzDH80RcXwWD`jnzml~xa4yin^x0>aDf5tMbsBM{UWb{%@ihedWW4K&$t?hzq z=KVxz#qog^3FhNHc8fDeNXUSec!YnHPdAToJowO5sTkp2D($DKvDIuf8#9yq^0=yL zDiv8NUGY=4D{E~{cI}j3sp^VHS3O0)nXaV0171p1Q#jy+DP$vXn!+$-$iu`lEezb- zg>VYH@7GI>x>vss`XrC?2+wgE;6a}9r<*h7qIS3875swNpw|W{qPMDHL-iTSQsyK{ zR^=<2CV$>?P1CjRc;QD^Zc_i7ihk>cXn9=a@)=3fWm}!qO*3Mep)EtBy#tMthE#J2avlMbpmi zj^lpYj~$0foCJK_hE}PC>j$Y3(qNT?5UYH!emN{qt1ilrmUO}z;j9&|b|YNX^loEH z!@XtDT!>lk`%z78XzFDesI8=PzB(a!!=B`;+6~ij5{@(BdA{#?Phg>3%Sy?TC*$Ku z@;}t~D_VhWd{fmTiA00|#Hv5(#$9~paHHp46twV?B+HUbg|K{SrQd;-Vv{v+f>+8> zp7vVc1-;^>{5;?J_)Dt%()o|*7v~iDBmca5K#~p|+o>qp8`bI?vc|zfVy)Pnkf%nW zq4)nNU+IJChSXiDd!-iO_6?#BDh_JO8AbEj-kaC170#c(t}7uXE-U(J>QeB$SzN@s z%#eTYa*ow#LQB0LQv74^5?^I+;H?l0Q9g+^(aXA~YsAE99H~~HZiS1J_FKn!xdOhf z_?kXL75zAG`6;kkYnr;3E62Is6t!}?3=t4Mri`_#_~{65X_fGPYOV}8^4ppn%NV*p z;_K;H!ce&sr4@-vTs1S1gzk;{x{-9_F*lXe^&utctBxJL6t8-U;#J2~SG676(VSUj z|4=q%X_lg(&`mBUychJiIy9uZvr5!+>k}(WXNhGFJ*^VVFJG!bvfa+Q- zqDqs+k(eDzPN|&Bk*Kc69IJtq0LLQia1S5IG>+96g;g~PO9r+H5$?F zoFOEuPOL!GulFe)-Rlj&<#ER}ow-wIP7%V0KY!hHT@d`fM8tEGvu%9dYJvyMLKUL+ zE$a0a=)y@*uUR*lbS=;~XhQ}t_727s#i*tkOFkgo_2ML$7EB4!o`zfxYgo`dg6!tC zNJ3L?DOzG7o{MXymL1EYjOR{XqZd=bSt24NX(VwyF&d}#cs47Jqlq2O((uJd)LlH~ zVOQ2*`!xtll}SkSJTJAHlU$4P2gg{#;7HmxDnL%U4|m57NQNOv`_}hKR5>t4ZzW_! zZ-pFm$@8kdKkj*NJt51gp&UJ`7^*Bkp(#GZ9u@8Lbc@%ZPpAhmLgM`b*}Sb8(sIyz z(5J*Ny5^<8F2{i`5Ig?#VkKlB?d??QKq;jurYmkvA)VmqR$BL}?RNFT)v)Yee;Yk; z9T(GjMO?Y_Ue|Fs-I@!pyz6@Z`7OPoS6bqV=+&o{Z(;sfXgOH%tp?-*nE(fQqduJm zi2w@_oT*X;RsgV2S37Q3`f+s@zgR{Q^PvraBoQ$UMnKa${ z1N4^$d6LPIhtW|7N*d!tHdK75N-wK|oL;R-I;=;P*Cb7zP}Dm@h=-DVxA@wZ(ZS+| z@)bp~ISnS{&(Ic9;cpIMzI8%tIy8m`BdWAYdNIm>^SNV+Qp}v04XOM$Q${23$^}I)6m%RkvL!bI z1#Ni=6x$|sPvaBv@LQlQ7uX)dxV(DfI2Vkb@>?^ z$57&u>AG7X1HkKpofu9ghZB3t*~{VQCa4@27H}9!Cg)+=pywC7whwE-AX}iXhmx>X z$-ojl2W&+eAoeDX5=<|ANcIv>l70PSIdTrT4;MiH zsomP$kZ2z$=&4w2d~UP9p~z4x^poJrOrPM*nQvZIZB^E!tLo2RfLOkz!5Fw8I|HBS z9o(9y*hZ@y;eI;DQxOh*In#s?nB;nd3xxox6=)NK{)%EMlH!9XKrur;>ZUTB&o|r6 zeEy6u7`_>5EVo7-CT41GsK{c?6U{;aMO9Nz5e=cBk?XtsJdDwlcKM2U>c@Ibdf%oT z9ErT{j{D&sJwHGZy>;ux_;`EI_eWi$E5u(u;7ozWqfi0NyaR4ZB63BxEuJiRdO%~q z$$)fr4g5m8eUsi9zWB=m6EFMu{6s!~*RwU{w@EFdI3;M~OaT`r3W7H9zB{1i7T(op z5w<}gUg#Q@DkMcf(s>SE{`;?0MILW%Oi!j%yZPT6H~a9<8s`K!%_SK z=gDd{$@v#R4N{z%Uf~ioN&J|e!V0A?ZApchoc=;$JiYJmnDl0$nU6&-KA4q~>Tf6SCEZa)+?cV{6|W*T&rZ|Xaf4>3Ltx~0S>x0)FVorRClsj6TJK5_!4p;Z-1I2X4-nGp_xve9*5rr<9ph!H-zfyV+v<^bMk!}B8p_>ZE zIXCB>KJ7OUaVvbeY;jdN&86Y}!xF56m+WZNkHz*+>UTqQ_}+N3EUTC7L?)Af%GS@t zeCn}XD9{WBeDDq|B+RQtmT8oe^b`uZLU{RoS=~|PrX+16M!OB!edWquDN0*1`cEReUe}5TNl^%gf?{&&MZ|zFs@erDp}iXFr8}^0G^NdXI}9NG zoT4226v@O-4RC&g-Jr~q(7iC$z@#^-<5hewQvn_nYjcBLA#0N~V|!=kG7=}E{j2P& z;r*2s9I((yOMf+=&*yR|P|go3IK!O!GBDIL;5ZEtnft+57%>!#72(*oqQka59EDiO z`D3Ywq$!cqn4e1(K~a|Fq>5gynlC18NwSm0d^LxT_i=`yxojUsJB`TkfHrx$M83$o zbw}6MhF;Rt8>)7DeMHvCEeO^5ZL`>>y4NlPt)Zd!Cd`*`&M4jqH8(^8$sH^KJUNl@U8~;pfIGXouVprSGM~7pdiD!vc20q}ou}1OG55PKA1bu{PJqD$P zz!{Vd>g52qa4c2W-?1-&*o zP{QGrH8@a1?*%IQz8T3X3NQe{6k^bXaufb`1sDQiLUohFMLG@R5D2f4KApKcG%+*| zu#<&^Wh(fXRw|A)9>=oAQ-h{NA$h)uZumCiF zEWkJE+u`5FdLL3$}tU=cIeHMzfg^@OK1c!#_cMy3poxG2OpLfjgOjGB=2%D-o|B){2oIy;h zO|?Hw6BVcBxYf>-6oi^J)mKWHwiTCmuYkHe62=|~-HIRbsMBeiRD3n85AewG0UpWA ztRP-ehGff8SVxF9efqdGLwa9I<)ptYWyr+qsk(fiB%5+UzTu`5AoBE(IDD~`B{Q+7 zXlkV-Qj&C~fj-BfWnPOc+r5>MlMq@}o zq052va+=mSjFiT)Uj3XD`wrxR4q2GQ7<3Pc5E&~{tVjcR>Bh`k!cRJ+Hh%9=K6{ z^<88`I?bME=g(xgE z_Cemq`E=;@zn!VNFHsUHTT|mvMcEg3tC?sf63Il3i0VW^>XB&FvZ9;;b(6Ud7>XI! zA5NvS6U~Y2^;8V;0AGng<|0xIdK2r#L2r~pqpS@w{w$UTE3JVk`;8=07rLuPh`W&uadbD59fhYfQr~YVviip&3wDS+NXMB5 z>mw^x1aTp(^zRT-S4eMBu0_?1#Nj+{%#4rlOtRd+<1ul+Cl2kzNCIE7c1XbiziHTC zp!*i$#UwM}73?)4O08nWYo#07Zl>t8t~ll#B8h(NYSe#gCzGs>C!Z1SKMmN_eh=c~ z52L;xjh%KMD-<4cPa__I@BqD1$h~jjy{V95u&y9sN_6#e)xhI!Fk&Y&5s6g6{Dz!P zS0j-LWTI&NoMk*8D9WW}Ih{LF8uh)*PJd!}hjQg_B}12HxuR7D>$1C2yDfi#7Kp01Xcx6Gb{|9wcMDlThZ|h?oA~USq+PZzW(?~dT4ZN#EF~U{;WGH zc+C^;NSpGcE_4Of3i6iXTMqUxAyZX{X-rGyr9gi|VBI$aVH*v?lHqY+LeG@n*5raT zD;4D7wyMo)KXXRW#>Wc>QGS)qsa?=>m^&js2?-)-r3!2y*zK?+xIPd>VAK|^c(@T^m(Y;75PbT( zwv~A#rrNK(Vym%7GL{{RE6QGyjQX4%BZsIdkRg-IL$!hG8;jlx>vWA9` z+$I@!I!3)>!*ow9MzoIw#OHhLZWtp;LuX+a$Q}7%D2nXY=*Zk@-IVt|q1t?0vb39; z^rlxm`jn!{2WDghay3JmrI2Tzk0@UKEbZB8mC9tbRHn#o*|olq0YZ37pCT7+SAP0w zT}!2>=*>Pw%}G!<$w{THB%Q-;FchW<4RPQ&G{->zTN5sPKX-gdRjtaDowsd!v`};+Fg)Z<11VxR zX(jZJnI>gWKU;I*D!LDi9Xf=5dHWNEBC@G*)BKnoPbRd8VQk7ckL<>w@4zndXm4Lj zD^?=XDAqR=ZYM(FQxU-`!7jg^C?}GIq+!PQJ-aV%8p*<8JW2#Aa_23Jr;5o0oE47rkr#sjB^xAh}uz*a%#xx~l21qidq;RLCd}>e4K(JzZg@zVNKFL_>0I& zDi?T3qV08Vy z-qMdFehe#0E9nhfyr-*=Ob<0vrY3PYXHuy67_xz8G>_b%Wu_b}_m8LS#AvyZDtVd+ z@NQ|*n1gI!6r8|i`L9)7$(eS_v=m*+M@{4=j!D>WVCL{k0L@IbhNj*?CbpPrlt&ZK zkp6bvbDE+!(U>jE+;OdFU$%cQq?rS>yAt`#GC8n0WHFImJkBvWUy}tj-&d1+wB(&z z8VPp8kfqEQGm?z-dO_A+^$ujllD=XnesU~xz@yhYj-|F08EsQjC}gFrS|HX+Ha|5) zs&r^7pRIToL{K}-iS_;8gV>{a0=R#M_7=8Elkg}9{t7UG@n@QINER}gPr{kt&JAVxDudEd-8-I;xI zGJ{i1`tP3Oj#A3Obv#8kWZx~7ORg^)db911e_oQJqygfxtQ^SYDiFDl#MmAo|DqQu zC1Iq&#!D3=9(ne@P&7gksS~Z){j2t#%BzKURPUQ?Ok-cfU{tegk5zJ~QvdJN>h)d{E)P|DTMEeY4 z%?-qJOc%b}AU^_Hvf(xLGqZvpXUgy|X+`_oDb&GR=ZVp%I10;7#0HUL?1#f|3f(~4 zGp=1Gni917J{7rXlaE$woot z%2?janAGE6wW%8wx8ZLge}6O~bNQIT&4gm;xL?W??VRE7ml22=)03(%TQcToB|s$4 zw5bmjggd*RAG?EJMR-^n@=TiW{NIP&;4iZk%oFBH9Z^Ii@lh?olf`MdQZLWY%B5ht zU`|zzeSW*17>GUGhPZ3SR)phCi~H{I4=I(s;h@FRgpc5g8J$t0CMy2K=O2@##~{1@ z13*Fjb3&9t&+wkMMJ6*+|wxS z?$GRqXLNW$jneI?t#M5`kBv+kk{x?bkekt!9eOp2w%;DV;l!mZ*;-jC?(FP6DYWPM z{dC1{)7F#$uYngFc$nCs|LzPMLK4`Z8IBsUF<90l*yy~8U6(mYhip5Fk+-lv3;XxT z35J78h9Z`k449eno-AA`Rf=+3mJD5k#cD!xTPh;8*_>iaw!*n#N~-U8qf>^H(M*G@ zlI)@uXp? zl4H4}5sJizaxU~kZP=R>DHXYM61@j0GQJy!5*sLCYeF1V=cao^{j&*$bYoj-r((MNCNH88HcHfK8*__)XO*piOW_l4@2 zs)rO1+1H`rdlw@~fff(aFHaiYzQ(?EN^4XoUIHDOLUbLbC|Q=+nkylGk*1C2S{ds| zHZjK0B3Xq3zwBdoc(ag~rlpj}Z+*rz6s(^YvEx`zXdVfB3>6L~-x<1vjB0#;z98*v z2dDBLpV+_uKrF`H4IkSOOfBMZ9`h|j&&mewz(z%hpY)EFWAVu7eguHUTHOWieAcF4 zV~~95Z@Zv87zWqCqLpAW!yMCSqfDiwN2C%$3ozhIXh1~^y?5yZ1UyBxNVpP#HtT6I zG0M?m&eO%1ZW;2dKPwxSGX76~85?j_?Eh6IY|PMQ#g%!A%dR5p92FHZLE&;~YX$o& zZ3~oY8#b;;nxR(PRaLem`M(unvYk|=*Bg!3B{gZw#tV-OyRdvDMaOhuRlyE-K(jc} z@myVhY85;o%R15{k}B~|v)SRuV$c%yaRI;Efaaq82}C;}7C|H-r8Mex`&#?j<(-}O z&TRGSEKX*T3T#(rv1j|<4?qVpa7nukCLxiY!tZAmAhkak;uUKTJs$?JXlpjCV=9Ou zAfLhHpaXgbF*e)*V4Swq%}k?$FE-LP=#FV%7`_5@Dq+5!PC0<>Kk4;I+RE>_M18Lq2W}*h%3JC59yhQtcXto+?L-Eh?~&Rx`7_MmWpe76i*xM#S8I0fnRmK#MarT2bdjMw{ zyzOBBEOICodauXrXhb20-ox3klOK>xZpu%~Zrs*P%gpAD!}{kn$sXZv-Fo#8*#uiLE5zrNJnSnY1s7CW0u^S#c-Vr_Y$x3>A= z?z!!i&c=IReDBsX-HpxV-dbU5^3Z#Cc(S|J-RNv}7Yp;R7d9`Ro8H=&8@==0g{{e@t*!MV2M?a@w@)tgR@oAM1+u|bQEnpAvB)|&F5x$FJ=8XE zUSrFUIX$+9_79`iIkpW6MAv?jJAabCXTlL};=T0N0-_U>$X5L%Pk0hfSPP%hVOuyZ z;wkg&b(EXzB4#j+)-84x=VvjG9%f%al!4wxy;tzpL(6)2?L1l*&_0O~&|T}Wo)6;h z>;wHLLoBU^bQ+Rt-)|B1y=50U0+}O!!ZogQSoPTMZF7ga6p7_A9_I<3gu;U1z|%a# zvwVmT!=j??4tZYS`*@L;_!!^M%e=x5@Q3&~b_h)H8f;Yv9X`dUd7aN-LqU_b_+kDq zKLV@o5s38T@Kf6SQT`ZzA3w<-=TGn_`BVJ;{1iXUpXSf-5AYB2XZeTthxv2-c|Oa} z@E7=t{3HCM{3ZS}{}_LTf1Je35tgS!Q+?ww5n;Ycq$e&hkcWzO&Nnt?8YW z`R&!(w9~xAb`sa;?!Y=X)!QwZ-0RYobPvv%eKy`_2q7@-mq|GtG3bGURy-9 zyFl|e|*u50l%l z7dEtXXO2HM@g5}M~$I-8pihSMrdrf$)H zTUlS~t#vomrLEPKh5uDjk@ z$Iup+fuz-ry1u+tt843^$L^N1u?_Up@S26?6>}4JZk}E4E*hH)%bT0MjZI|}3meDqh?rd~x z7=X38y}sT95ll7Rt$7oHoz5c^m?nc&Gi+mK3=;(mvhFI<(f}yHhtZw_kp9!kxcoo=KmGsTWYjgq0RSk34=V5>4e}^zFBNqb z_75icKc>a4DPe48XX5z50zUK#0Kh?Du3s>$zI$2%0MH+dR38A~Y-YI6C9$?JF$VxX zuYSa`eTW;GZ7BkdayI`_?VZH^TQ|m5IK|=;FrCLoy7;!_=uAQ0Dv73Y&vg8haWBzT1^hSmVU#y8FgY;L1f$oIybQUx0^b8a3m-oXUpt+kHYk8|5gRW2 zn_`U`ftbFNbOdV}5HNZ2iS8rzY!23b=PN*JIFtSLf{C@Npth@?w5Q%CG&D3!H$GqM zJ2)91R9upbXNlavK06z_7p5DUuVn+)Bmm8a>Bi)zaLs{G8u%ru*1y`a&Jm(CWaTfI zgSm)6Okuhe`3sid1|kqim~LtQf(6)>2qYAyTa&+F1->N$L5D%|^102yC`2I2l1?dJ z5IBYav=asi$>+8KD-nQZ!ywW5+_vCx0?>6BBq+bp8q7oh8V!R)<~M@CRRo}uFi2Q_ zqYc=O0JIVYiOp}c1)mXsp2Hx4`EJ%=5(3a*802TZ8wi|D06GYRgyy^1fDH&hi(!zM zd^cP08Ug4&3=*7wXAKr208NHLqVn%R;C2GgMHnPJ|IP;NO91keI9nNdhvoK0>-;#R z9$8i1-qFOvo<@s>6;Erkvo)TlV>c70$}FX+3g;6OV^<#fvC4BtWAnpqr+adIM{P5E zKD25xM~v}5RX+XsL(C^kb0zZmov+U{fEQPm91RK?NUw}f&YeIUL?tZ?gRz-~iH{IF zLZ;TEZY?p4D*_;kaLe+E7gg*GRe#U02Ro^q!!KKC0|b&pex+-wKL#`;m z3j_M=O4po*QIrO8n?N4I@ERMKxB3z->(YAKtIR^fHr|bA-(@0{ovkf;o(L7e8JeX{ z7|vBfhx@egnJ!FpAWxSJ2GV zgXY)1Bj@rGJ#4<6qwgDjZO#EL(9C@-9V*MY5H#O~xTboXvu52+5st#{Ah3CdpPhEz zaINCJuKekzJF@~UuOcl@18iwv&Y6V3{K`X|Pkvm8ABup*b$#~X38(!4=X5{GtW$Yx z9qFJP=Aeq4zS8Ez@NzPUwLFi$Mkyz>0Jn|L|1%Rlf$=xa`Y+zodcRI0YR?UNsD zHxzipd;$t;R42O`U1=!jEohPLec>akE;#nVzo&8RaD}&lO2i5>+N8)CsM%;sH)!)v zaOT2VY+miB(ILJNqxR|7czF&$*N*w^ru9s(9j9W;0;&PkbbotZdPmX5T22*5G~d=p zYS~(lWKzyhbdwc<@0h^)+{8xdK1B61V4g;AsV(;cosap)Ydso;XnP5oZ7OY<3=PG% zNi!$mgCR16ziJ%jf0Bmk)wo>5eTf59e%ddzl}GFS=WF1c(1TUwWI*i{Oik z!daWQ8*~e)8~jFeJA{dQ@Jlwa7W7hyd?PL4e&6gM5S=!&c$=#5^kR^B#IKMUlTkFs zmMu?Lgl*E#<{QtQNxze{pta2!0Uqm7PQ-9taL8y-UHjgFtCbhkrn@$mZcwJ%_zwFC zs1X@iIvaDY)?Xcx$^Uumy10^eAz}xwxa6n%7Cd`Q7pT6zqcPvETQ^UCg%ph^FilW##W<$? zL-}<`GLsq26LC3ANl4D@AkC+!%r8JzS*hBa=klm9ip^pBCA`4MX=}xPc6ExtTmBM8l9*;TN?tDJvh-#%`kv!3lY3d32|fd@l>%q552JPzRS^$e;APmp zdP$~@;C8_)ezT;g&C}WI&u|%M%hIiyP=A%eU4k0To;LN8KbpO zS_Vmf*$BT{6#GjY&Q19XsTn{!WZj$$H0fdt*o^k#%LAl^2K60Lq-ao5u7Nbfk(52! zjJU%`(8c5InG~K>eS{aZ!MZlJHqK5&|Bfp^s7LYfhD{Bw4*3u>4a_lK=qjsLP z;L%*z-&m;#wk}FGi;9;D`j+V-QKF3Wcsou|3fqg}5J>@{#1J|aY+0rGQtt~fq;P8o z&YjEY(^VyGetG8g)$kgG4iT%H&fM;cTgBJvvY8_fhDXihcHY^PZ-J(z;Pb>#!IzF> zBj`({v2n+G33=(bgyB2Xt`W?@yP1CAsR6iw@MPsACgosWh-iqhkt)~Ovt!nYd*CEy z;K^f0P@_NJmQ4G>1j$95-g|3u3izO_cM^oWK=b1jUnD^cfIg}G7lPbtd28M3uJn4| zT7C%I%-M5Ums9?#C8z{I!5=8_lQ`M zme}OfzNKdrz;oZhXLWG`d=Digf5E}$M5s5~J;v1UBu$I(wI;5KR(l2!$NC62?NEe(&uX%Sf%lTCq1)1i6{_ED6#`)VBGB8;fHj=#f!4Zf6k-%w#FdvXkhO= zk{DKyCJppVV$i za_IghG7U6{nTa^I2WGm{hG-wLz7L zOBcVX=#F7m&hLwFx4nGcZY%e;4co(Uhf`;R(?1) zqprLsEHMH8HT`RJhH{d11~S>$4LO83{fe<~A@>E%X+?1z_v*vOoL;-_3c=kTK7Cd@ z*0$srDuROQcg%TNS{pLkJqTErlXp+-{xJ^eu z67UnN{;ypjNEC7T8;(oFy?p-yBg?(2TFj0p*Ol+BWNk$jq7;4GpMTDDET6t^>C@U) z{MhZ?*Qc{e3%8E-L}L<=t@95$;}(KY`g zQPc5n1k4k?s`cCdJo%e2u;hGjq19&G(3pd|sn{~O{;*p^!fhB z+V0fk>#K)54?)Z}7jPEP4a>gJ5^S=YFu2iIz{$Or6FQ-^6IA`BUJ;K$77;ZYT1e=cijTXW?SFzuk{0 zmQ&;l`}pF+-J1wuY3*{uV$(umxJ&T9CQmpFhd2iMn3`ARGYa=O;A~8GP1GWzotLr2 zub6&z!Uyh~lQ}2r+K=|<*ulV9+cfO(vua9+pV>O1Po*7YL{GOI;Vap&xj z3*;9ozwF^a;p%8H8pT5p|!6j*t#R&JI%8DUe0|py zvrPAo=PbTIYV0mGVrBEA-0;&J5sADkm-UC9II2rDR|j41C`zww2K+Xo{)&&ptWnzizJ5QD3qNrm9aQ|X;(1KLsUeO`;K&GM#JA@ zK63$-mn|GGi<*Z-zNm6D)*b9E`t=q0g&$GH{+u{JEQJ%*)S#?2wW4KbXyNZA7e+F(Wo4v zePo(ANU8pY+5TnK8DR|HCBGI(Kvcak`kZ2Wo<2bVCsmKD%@c5E-r~{Qf`n?ZE*=+5 zXyn1vFGkqCo!q+gXV!;OWp-6g5x&ywAf+z)q#((wcCVg+e!;%7I9I`mI=PfnltidE zLqx50I#hF(h8<1{zm$(*p^hqUcKYsYMwY)U&hKLPF#M|X=Q~^0JM7eB=9)v(o87%q z@x_5K+)c{@fT=xh@)nwc)E%`}B27?TSB6YTa#>XFuupCHb!Jv5M@}b?*VlwnODr~b zj&xD@=`u3EM|>%9lI9=sSeeg-op6qE5g`7_^pDBieG->fc+|s!i^$nu)q8Co=jVpr zQ@pbf-oP&m$A;9YFyFR{RGrFd$EGfoW_iSC33a4#dOOFsd!Nt}a_6_SIoOS;~;Y4k>p{p+-vCr!}H{PfX$CQ_lBz>i#$6^~)10>Zyq z51v!@uuw|u3tydrGXn*2if?bPyk505w&W7oy^{{*_fVZyJ ze6`8sAVzwlbk#zq^;GI3m**qOyIbJMTWKw5d1hW{*S_Q=)}`GGiLtnNtGqk?jck-| zX_!5-(PBGhg=tOxeJn4jaJ@%6iaGk&jKrgsTbrVxR>XUI_}^o5n_`86CU5KmyLy+A z?couyFBGc!9!}UR(VkRgCSF@I(v8}E>{UUZCYi|3`8f|4H~2Dr=4B8ybNgP@=S4t7 z?q#I<**rz)=$wXNfyFWR-;q?LY3qn)XMhZd6pzvUtKNMZFm1!wM%QEAYrJ>j+fS`1 zth55R5p9TH+oJq7r2D(EyztBLUw?7Bd{zCk7e6}rZ@Q0UlzTqH78f<}@8 zoYKIn{%&05T){4yE5-3V2&NHax2dOA;HzyEGv1{G`OY;{ELQOMX#)p0jA1fGn7g7a zvl)k;$^UDxRUxQ>*?2n7j$K=xsA`;=mUU;ob%nu`iFrJpen8GZeHfhXKRS&Wt$_md z1lBf(x%tMv_8DDpJ4NFlpUzvoHu`)znhWan?59zCSHJNu3lD~i-d(biKBudt0yr{^XRiyh5p%{FBPFAifFQZZ4`@ z56o%YG6MP-gr?dz zo~uzg!qm|qlfA0peUE1tRqoyRGS5-yO3Gq{BAXU+l{DxPMs&3d{`;vrU-0_x@jtq( z@Z}=koKG7l`>VYo1B&R#I9~3B_l5s0bP_F_^ zt>F?^l_mJ;jQ`GPs1-P(bUn+CP|?E?&BD=qkL!2%Jk_FoB0ed}b5EyjS?nlK5u(!Z zb*_uKQ}gUwFC*ue@uO7=^ejT%pd~4aEVC}|&sGzhXdHv^B0@Jx+Ox7&dln{N296eE z02#AQx_HfqE%4>GmJ%c8+H>ql%!dfQ=MeXwVA!S~p;_c*)J6YDQ3ppaIuG_Wi*>4T zABH=L>oaXYGwT~C0kk_*?&sFuuV>?q8%CNx(#d~0_292VPh6;Xy%zL? z683=Kv!d%%G(1+ZHC}EUSXo1>IX$vYH2lt82dum~)eOElK z>b2q$d%fp~cH84eFLW3bjZJ>jwe1g2h6GuYzj$zpljBx}up8P>@SPTcKb$eelJC ze-So(YVGtAkVF-G`Th$V*X%GJepTCnp3Kd5ZBy0{4X+KZv0J|V&1Ld(=PuQ^kand) z<{yvnVM}k2fsbEt$MaB~#hcJG%iG3xs8v_hTUJjKTzdK@UE_bHE5LAP!LJy5p;%U1 z8kzprGO6huXpx)j+F8%1mMw$3EC!bNrlI0=9M9D0%%_B+qMbFTV$nzTDX&c9j`%=O zWKjqb2BLC3!$`#W9ZbUj#lHnIl03<!&m@V&Cmvf*s=bt3f^ zX-Bwyygwgb-Evo03s~W>Hx%eQ7twkfRP6uaj1QI(`zpsNnfyAHd8TwMl6QtRUgTMz zG>kT&A9N!Z@VL8}!mZ0GXKiaXoQ@cq6FrSE?&oJ6SJA>*uMUxkmE2TKhCY=_RA74c zKr+tmaRbr;FtELPFqG*#j@9WP%&armIPwU{$gN zhee#w9`US0ek3r$P7u8JZgOS@DXpLEL%2&q>MN2d!-?&lMSDQ8CsKuci3v)UH>|4YAL5C zx;yz{Jtobe$xfA}E3%AItxYatOdUrZzP+F|^+^7qrM({$#;mgPp9K4#%YT%v#`NMn zJF}LOKm;Q8!s~cd3HA;V{rA;Q$L_ET%Qd7cd}OHDGKFKbsh50^xc@yHuFEb72U9E@rwGMPH@4&ppO*l=2m@Eb9E`NUXaRJx9LK2@?Z+%w7Pd#)yP zDUNKcIBc{_B&1P&`ib?Y)Bkq6ABpT~O7D_j)s~eS(oM}CAxAqLKsQvpEslX!-sH29Uzgp-Cjk=sk3zY&z`ar=SV*Q~atWCeF!; zHlP!3KTSt--(f;XyufmI3RuA6M6$J_n5V#Dv_-Ki=R4(BdcR(`uCNa_n4LAxtml z$K6A{5ahK`G{hmxnM+eK5TKkLjUSEM!o$x7w{H)SuAVAwl`PG2UayJ3@f)+Iay9tx zCf(KFRo($*&uYp&lONDfso4jsmIGqh#3BKYZNUrExPE4p?9CiU@})#Q)G&IkJX%IHkb1iAUL)Dx4GG zl&@TNxa(}rPiC*MBe10=43gH2hCH)Q`qq%i37razF)Uat>;|gZjYQPl2A!z!XGby@ zc3AnqV)b5z>NMS&3T^rYR7o~<2j7Y}5v8EI&V)CO-*1;a8ZNrkAJnth80Aj7=qht5 zcH@_x!JL(2mNA%&49LbsQMg2Ak<+SR_2-x4%kr+7(3xL78m=o*!cr=`7aie zt{tCy<~~I27tP%O2*h7zuyiti;WE~>Ny`y*pZK`YO~4Z%nyh2B)Rc$TBXrEel3NV8 z8LzXYnw8j#V+{l(U4Qyo-?&0Cvfj1yA7oZEY|DdbL`yyOV_t(EifP^stcpM%{0Y8n9BtoNy&S1;T~1kGYV zWaP!>AOn+|_l@^=R(1|{s1{;m@&qUV)huG#fB&QZQwIT{fJ1+LzklzH9{b7+ECK>_ z&0);{TjyYGY#g%l{!XC!u(W$w_F0A`?G>#j+$2p-FG}Rti0L?- z$3?%dj~J0;4=Y0wT11?)jP<0|fPwaf-iPw70W&x*)GcmY4C#`#6B;1T*ShA+;ni1A=$i8aq1L_XFvSaPPSxf3KyJ9MPpfsnX@dF zXG1DUh5n)=PokS1aY!}hB+$f-Q>GQFT|P4+_^n_D#9~HdzMvH~Oyw#Zp&5vbNeKH5 zn(UMKIROP-g5{Z6c$%hMrzI!~`rrO(M&_b9kJ7@_TtgQ!RLM72Z8lBrNAwi$9%c+> zeU#Xj?yLn0i){A7B~9by)v8&((t@&#Iw2)Rvde}itx#B+tfNk!sW!tbsIjd`e2**x z^>5xg+~_x1)T#wkE2-;=3J$UwjLWHR^r`FKEDGoamjp2AfTW4XTOD0D(w=Z8^2Tw- zyXv#EjxVq8DqDni(_(l+=7(kh#1hf015l_=At%j9?mMKbQO}Mdq+P)t2xvPPf{}xl zyg6Mcf6FWF%XyDQR+BMJ6-2Y?D$o7g;8gocAe9#{@rxa$J~ z9(Wg9-0Oqz59nlDWf$`U!7f>^8To`2Qjb-ncz%nj38P>Ycs-yaun08Eu2?!8~B;P8dN>%+H!Zy9y@KV zrdvxXZB?!i#_y5XS0doN2>dv!s;RMD|=j4IMnSp5vVnSDu= znMqkVIT_%vZ?XB;?|#iyh%yP$f2d(qVGSbtj{=KyVKHasb1+7!AL&e$23)8@ITLJC zq7Binmy35AFt4R1lrg)x8qL**-AL6@i%@6i*!bF+V{F|5@MVgdTX|jUMlBY#oMjM?ASG7U@NA)r3uB*M~ zenYx7^+iSL8HsZH>8VL`ONj>y^5f+5bGML4&p4fWh8XeQO9W=h1_H_0=r2_xeo6e& zc&4=Mzh&aG!|492$`zQ;ephFLxJHXNx%ej$;ZpRUqPuXoF^`ZkXKJK!NSo zUlHV97uff0C8lM7ysnHlqStPa^J!cv)&FSWZXl80A1#BoSdrO#sooJY|p1Jqz z5mQU+(!;yr9mQ0O1t_QX2Akim;(jzltg}ArYc-yb>-n^{mdLwqLmn%C<6LA-GE<~A SNnay)d%pv%BAh=e_Wlokkczqh literal 0 HcmV?d00001 diff --git a/web/design-system/setup/public/assets/fonts/nucleo-icons.woff2 b/web/design-system/setup/public/assets/fonts/nucleo-icons.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e294e0801c9ef9e50268f58c3a82a9e378c8b983 GIT binary patch literal 8580 zcmV-~A$#6;Pew8T0RR9103n0`3jhEB07rBH03kI10RR9100000000000000000000 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 KgDInf{Z|pm-=OIL literal 0 HcmV?d00001 diff --git a/web/design-system/setup/public/assets/fonts/nucleo.eot b/web/design-system/setup/public/assets/fonts/nucleo.eot new file mode 100644 index 0000000000000000000000000000000000000000..8609095550154362574be44b0f2cc5834d525c9e GIT binary patch literal 26524 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 Sx4;|gl1b4=E1Mgnwf;YFur9Lz literal 0 HcmV?d00001 diff --git a/web/design-system/setup/public/assets/fonts/nucleo.woff b/web/design-system/setup/public/assets/fonts/nucleo.woff new file mode 100644 index 0000000000000000000000000000000000000000..20fecf0d558c8cb40bd5ffa718c0b3cf2e6f2632 GIT binary patch literal 15168 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