silver-music-notifier 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -0
- package/dist/cli/index.js +760 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/web/assets/index-DPovoyOV.css +1 -0
- package/dist/web/assets/index-xYrc5ayg.js +124 -0
- package/dist/web/index.html +13 -0
- package/package.json +99 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/cli/index.ts","../../src/server/index.ts","../../src/lib/musicbrainz.ts","../../src/lib/db.ts","../../src/lib/paths.ts","../../src/lib/settings.ts","../../src/lib/notify.ts","../../src/lib/refresh.ts","../../src/lib/store.ts","../../src/cli/commands/web.ts","../../src/cli/commands/list.ts","../../src/cli/commands/add.ts","../../src/cli/commands/remove.ts","../../src/cli/commands/refresh.ts","../../src/cli/commands/releases.ts","../../src/cli/commands/config.ts"],"sourcesContent":["import {Command} from 'commander';\nimport {registerWeb} from './commands/web.js';\nimport {registerList} from './commands/list.js';\nimport {registerAdd} from './commands/add.js';\nimport {registerRemove} from './commands/remove.js';\nimport {registerRefresh} from './commands/refresh.js';\nimport {registerReleases} from './commands/releases.js';\nimport {registerConfig} from './commands/config.js';\n\nconst program = new Command();\n\nprogram\n .name('silver-music-notifier')\n .description(\n 'Track artists and get notified of their new music releases from MusicBrainz.',\n )\n .version('0.1.0');\n\nregisterWeb(program);\nregisterList(program);\nregisterAdd(program);\nregisterRemove(program);\nregisterRefresh(program);\nregisterReleases(program);\nregisterConfig(program);\n\nprogram.parseAsync(process.argv).catch(err => {\n console.error(err instanceof Error ? err.message : err);\n process.exit(1);\n});\n","import express, {type Request, type Response} from 'express';\nimport {fileURLToPath} from 'node:url';\nimport {existsSync} from 'node:fs';\nimport {dirname, join} from 'node:path';\nimport {searchArtist} from '../lib/musicbrainz.js';\nimport {refresh} from '../lib/refresh.js';\nimport {sendTestEmail} from '../lib/notify.js';\nimport {\n addArtist,\n listArtists,\n listReleases,\n removeArtist,\n} from '../lib/store.js';\nimport {getSettings, saveSettings, type Settings} from '../lib/settings.js';\n\n// Locate the built web assets. When bundled by tsup the file lives at\n// dist/cli/index.js, so dist/web is two levels up; during `tsx` dev runs the\n// file is src/server/index.ts and dist/web may not exist yet (the dev server is\n// served by Vite instead).\nfunction webDir(): string | null {\n const here = dirname(fileURLToPath(import.meta.url));\n const candidates = [\n join(here, '..', 'web'), // dist/cli/index.js -> dist/web\n join(here, '..', '..', 'dist', 'web'), // src/server/index.ts -> dist/web\n ];\n return candidates.find(c => existsSync(c)) ?? null;\n}\n\nfunction asyncRoute(\n fn: (req: Request, res: Response) => Promise<void>,\n): (req: Request, res: Response) => void {\n return (req, res) => {\n fn(req, res).catch(err => {\n console.error(err);\n res\n .status(500)\n .json({error: err instanceof Error ? err.message : String(err)});\n });\n };\n}\n\nexport function createApp() {\n const app = express();\n app.use(express.json());\n\n const api = express.Router();\n\n api.get('/artists', (_req, res) => {\n res.json(listArtists());\n });\n\n api.get(\n '/artists/search',\n asyncRoute(async (req, res) => {\n const q = String(req.query.q ?? '').trim();\n if (!q) {\n res.json([]);\n return;\n }\n res.json(await searchArtist(q));\n }),\n );\n\n api.post('/artists', (req, res) => {\n const {mbid, name, sortName, disambiguation} = req.body ?? {};\n if (!mbid || !name) {\n res.status(400).json({error: 'mbid and name are required'});\n return;\n }\n const added = addArtist({mbid, name, sortName, disambiguation});\n res.json({added});\n });\n\n api.delete('/artists/:mbid', (req, res) => {\n const removed = removeArtist(req.params.mbid);\n if (!removed) {\n res.status(404).json({error: 'artist not tracked'});\n return;\n }\n res.json({removed});\n });\n\n api.get('/releases', (req, res) => {\n const onlyNew = req.query.new === '1' || req.query.new === 'true';\n const limit = req.query.limit ? Number(req.query.limit) : undefined;\n res.json(listReleases({onlyNew, limit}));\n });\n\n api.post(\n '/refresh',\n asyncRoute(async (_req, res) => {\n const summary = await refresh();\n res.json(summary);\n }),\n );\n\n api.get('/settings', (_req, res) => {\n res.json(getSettings());\n });\n\n api.put('/settings', (req, res) => {\n const patch = req.body as Partial<Settings>;\n res.json(saveSettings(patch));\n });\n\n api.post(\n '/settings/test-email',\n asyncRoute(async (req, res) => {\n // Allow testing with the posted settings (saved first), or current ones.\n const patch = req.body as Partial<Settings> | undefined;\n const settings =\n patch && Object.keys(patch).length\n ? saveSettings(patch)\n : getSettings();\n await sendTestEmail(settings);\n res.json({ok: true});\n }),\n );\n\n app.use('/api', api);\n\n // Serve the built SPA (production). In dev, Vite serves the frontend and\n // proxies /api here, so a missing web dir is fine.\n const dir = webDir();\n if (dir) {\n app.use(express.static(dir));\n app.get('*', (_req, res) => {\n res.sendFile(join(dir, 'index.html'));\n });\n }\n\n return app;\n}\n\nexport function startServer(port: number): Promise<void> {\n return new Promise(resolve => {\n createApp().listen(port, () => resolve());\n });\n}\n","import {MusicBrainzApi} from 'musicbrainz-api';\nimport {mbContact} from './settings.js';\n\n// App version is informational for the MusicBrainz User-Agent.\nconst APP_VERSION = '0.1.0';\n\nlet client: MusicBrainzApi | null = null;\n\nfunction api(): MusicBrainzApi {\n // Recreate if the contact changed; cheap enough and keeps the User-Agent honest.\n const contact = mbContact();\n if (\n !client ||\n (client as unknown as {_contact?: string})._contact !== contact\n ) {\n client = new MusicBrainzApi({\n appName: 'silver-music-notifier',\n appVersion: APP_VERSION,\n appContactInfo: contact,\n });\n (client as unknown as {_contact?: string})._contact = contact;\n }\n return client;\n}\n\nexport interface ArtistSearchResult {\n mbid: string;\n name: string;\n sortName: string;\n disambiguation: string;\n country?: string;\n type?: string;\n}\n\nexport async function searchArtist(\n query: string,\n): Promise<ArtistSearchResult[]> {\n const result = await api().search('artist', {query, limit: 10});\n return (result.artists ?? []).map(a => ({\n mbid: a.id,\n name: a.name,\n sortName: a['sort-name'],\n disambiguation: a.disambiguation,\n country: a.country,\n type: a.type,\n }));\n}\n\nexport interface FetchedReleaseGroup {\n mbid: string;\n title: string;\n primaryType: string | null;\n secondaryTypes: string[];\n firstReleaseDate: string | null;\n}\n\n// Page through every release-group credited to an artist. The musicbrainz-api\n// client handles rate limiting internally.\nexport async function fetchReleaseGroups(\n artistMbid: string,\n): Promise<FetchedReleaseGroup[]> {\n const out: FetchedReleaseGroup[] = [];\n const limit = 100;\n let offset = 0;\n for (;;) {\n const res = await api().browse('release-group', {\n artist: artistMbid,\n limit,\n offset,\n });\n const groups = res['release-groups'] ?? [];\n for (const g of groups) {\n out.push({\n mbid: g.id,\n title: g.title,\n primaryType: g['primary-type'] ?? null,\n secondaryTypes: g['secondary-types'] ?? [],\n firstReleaseDate: g['first-release-date'] || null,\n });\n }\n const total = res['release-group-count'] ?? out.length;\n offset += groups.length;\n if (groups.length === 0 || offset >= total) {\n break;\n }\n }\n return out;\n}\n","import Database from 'better-sqlite3';\nimport {dbPath} from './paths.js';\n\nexport interface ArtistRow {\n mbid: string;\n name: string;\n sort_name: string | null;\n disambiguation: string | null;\n added_at: string;\n}\n\nexport interface ReleaseGroupRow {\n mbid: string;\n artist_mbid: string;\n title: string;\n primary_type: string | null;\n secondary_types: string | null;\n first_release_date: string | null;\n first_seen_at: string;\n last_seen_at: string;\n}\n\nexport class AppDb {\n readonly connection: Database.Database;\n\n constructor(path = dbPath()) {\n this.connection = new Database(path);\n this.initialize();\n }\n\n close(): void {\n this.connection.close();\n }\n\n private initialize(): void {\n this.connection.pragma('journal_mode = WAL');\n this.connection.pragma('foreign_keys = ON');\n this.connection.exec(`\n CREATE TABLE IF NOT EXISTS artists (\n mbid TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n sort_name TEXT,\n disambiguation TEXT,\n added_at TEXT NOT NULL\n );\n\n CREATE TABLE IF NOT EXISTS release_groups (\n mbid TEXT PRIMARY KEY,\n artist_mbid TEXT NOT NULL REFERENCES artists(mbid) ON DELETE CASCADE,\n title TEXT NOT NULL,\n primary_type TEXT,\n secondary_types TEXT,\n first_release_date TEXT,\n first_seen_at TEXT NOT NULL,\n last_seen_at TEXT NOT NULL\n );\n\n CREATE INDEX IF NOT EXISTS idx_rg_artist ON release_groups(artist_mbid);\n\n CREATE TABLE IF NOT EXISTS settings (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n );\n `);\n }\n}\n\nlet appDb: AppDb | null = null;\n\nexport function openDb(path = dbPath()): AppDb {\n return new AppDb(path);\n}\n\n// Open (and lazily initialize) the default SQLite database. Schema creation is\n// idempotent so this is safe to call from every CLI invocation and the server.\nexport function getDb(): Database.Database {\n appDb ??= openDb();\n return appDb.connection;\n}\n\nexport function closeDb(): void {\n appDb?.close();\n appDb = null;\n}\n","import envPaths from 'env-paths';\nimport {mkdirSync} from 'node:fs';\nimport {join} from 'node:path';\n\n// Resolve the per-user data directory. Defaults to the OS-appropriate config dir\n// (e.g. ~/.config/silver-music-notifier on Linux), overridable via SMN_DATA_DIR.\nexport function dataDir(): string {\n const dir =\n process.env.SMN_DATA_DIR ??\n envPaths('silver-music-notifier', {suffix: ''}).data;\n mkdirSync(dir, {recursive: true});\n return dir;\n}\n\nexport function dbPath(): string {\n return join(dataDir(), 'data.db');\n}\n","import {getDb} from './db.js';\n\nexport interface SmtpSettings {\n host: string;\n port: number;\n secure: boolean;\n user: string;\n pass: string;\n from: string;\n to: string;\n}\n\nexport interface Settings {\n notify: {\n inPage: boolean;\n desktop: boolean;\n email: boolean;\n };\n smtp: SmtpSettings;\n musicbrainz: {\n contact: string;\n };\n}\n\nexport const DEFAULT_SETTINGS: Settings = {\n notify: {\n inPage: true,\n desktop: true,\n email: false,\n },\n smtp: {\n host: '',\n port: 587,\n secure: false,\n user: '',\n pass: '',\n from: '',\n to: '',\n },\n musicbrainz: {\n contact: '',\n },\n};\n\nconst CONFIG_KEY = 'config';\nconst LAST_REFRESH_KEY = 'last_refresh_at';\n\nfunction readRaw(key: string): string | undefined {\n const row = getDb()\n .prepare('SELECT value FROM settings WHERE key = ?')\n .get(key) as {value: string} | undefined;\n return row?.value;\n}\n\nfunction writeRaw(key: string, value: string): void {\n getDb()\n .prepare(\n 'INSERT INTO settings (key, value) VALUES (?, ?) ' +\n 'ON CONFLICT(key) DO UPDATE SET value = excluded.value',\n )\n .run(key, value);\n}\n\n// Deep-merge stored config over defaults so newly-added settings keys always\n// have a value even for databases created by an older version.\nexport function getSettings(): Settings {\n const raw = readRaw(CONFIG_KEY);\n if (!raw) {\n return structuredClone(DEFAULT_SETTINGS);\n }\n let parsed: Partial<Settings>;\n try {\n parsed = JSON.parse(raw);\n } catch {\n return structuredClone(DEFAULT_SETTINGS);\n }\n return {\n notify: {...DEFAULT_SETTINGS.notify, ...parsed.notify},\n smtp: {...DEFAULT_SETTINGS.smtp, ...parsed.smtp},\n musicbrainz: {...DEFAULT_SETTINGS.musicbrainz, ...parsed.musicbrainz},\n };\n}\n\nexport function saveSettings(patch: Partial<Settings>): Settings {\n const current = getSettings();\n const next: Settings = {\n notify: {...current.notify, ...patch.notify},\n smtp: {...current.smtp, ...patch.smtp},\n musicbrainz: {...current.musicbrainz, ...patch.musicbrainz},\n };\n writeRaw(CONFIG_KEY, JSON.stringify(next));\n return next;\n}\n\nexport function smtpIsConfigured(s: Settings): boolean {\n return Boolean(s.smtp.host && s.smtp.user && s.smtp.to);\n}\n\nexport function getLastRefreshAt(): string | null {\n return readRaw(LAST_REFRESH_KEY) ?? null;\n}\n\nexport function setLastRefreshAt(iso: string): void {\n writeRaw(LAST_REFRESH_KEY, iso);\n}\n\n// The MusicBrainz contact string, falling back to a placeholder so the API is\n// always usable (MusicBrainz only requires *some* contact for its User-Agent).\nexport function mbContact(): string {\n const s = getSettings();\n return (\n s.musicbrainz.contact ||\n process.env.SMN_MB_CONTACT ||\n 'silver-music-notifier (no contact configured)'\n );\n}\n","import nodemailer from 'nodemailer';\nimport notifier from 'node-notifier';\nimport {getSettings, smtpIsConfigured, type Settings} from './settings.js';\nimport type {NewRelease} from './refresh.js';\n\nfunction summaryLine(newReleases: NewRelease[]): string {\n const n = newReleases.length;\n const artists = [...new Set(newReleases.map(r => r.artistName))];\n const who =\n artists.length <= 3\n ? artists.join(', ')\n : `${artists.slice(0, 3).join(', ')} +${artists.length - 3} more`;\n return `${n} new release${n === 1 ? '' : 's'} from ${who}`;\n}\n\nfunction desktopNotify(newReleases: NewRelease[]): void {\n notifier.notify({\n title: 'New music releases',\n message: summaryLine(newReleases),\n });\n}\n\nfunction emailHtml(newReleases: NewRelease[]): string {\n const rows = newReleases\n .map(r => {\n const type = [r.primaryType, ...r.secondaryTypes]\n .filter(Boolean)\n .join(' / ');\n const date = r.firstReleaseDate ?? '—';\n return `<tr>\n <td style=\"padding:4px 12px 4px 0\">${escapeHtml(r.artistName)}</td>\n <td style=\"padding:4px 12px 4px 0\"><strong>${escapeHtml(r.title)}</strong></td>\n <td style=\"padding:4px 12px 4px 0\">${escapeHtml(type)}</td>\n <td style=\"padding:4px 0\">${escapeHtml(date)}</td>\n </tr>`;\n })\n .join('');\n return `<div style=\"font-family:system-ui,sans-serif\">\n <h2>${escapeHtml(summaryLine(newReleases))}</h2>\n <table style=\"border-collapse:collapse\">\n <thead><tr>\n <th align=\"left\" style=\"padding:4px 12px 4px 0\">Artist</th>\n <th align=\"left\" style=\"padding:4px 12px 4px 0\">Title</th>\n <th align=\"left\" style=\"padding:4px 12px 4px 0\">Type</th>\n <th align=\"left\" style=\"padding:4px 0\">Released</th>\n </tr></thead>\n <tbody>${rows}</tbody>\n </table>\n </div>`;\n}\n\nfunction escapeHtml(s: string): string {\n return s.replace(\n /[&<>\"']/g,\n c =>\n ({'&': '&', '<': '<', '>': '>', '\"': '"', \"'\": '''})[\n c\n ]!,\n );\n}\n\nfunction transport(s: Settings) {\n return nodemailer.createTransport({\n host: s.smtp.host,\n port: s.smtp.port,\n secure: s.smtp.secure,\n auth: s.smtp.user ? {user: s.smtp.user, pass: s.smtp.pass} : undefined,\n });\n}\n\nasync function emailNotify(\n newReleases: NewRelease[],\n s: Settings,\n): Promise<void> {\n await transport(s).sendMail({\n from: s.smtp.from || s.smtp.user,\n to: s.smtp.to,\n subject: summaryLine(newReleases),\n html: emailHtml(newReleases),\n });\n}\n\n// Dispatch notifications for newly-discovered releases according to user\n// settings. Each channel fails soft: a broken SMTP config must not prevent the\n// desktop notification (or the refresh itself) from succeeding.\nexport async function notifyNewReleases(\n newReleases: NewRelease[],\n): Promise<void> {\n if (newReleases.length === 0) {\n return;\n }\n const s = getSettings();\n\n if (s.notify.desktop && !process.env.SMN_DISABLE_DESKTOP) {\n try {\n desktopNotify(newReleases);\n } catch (err) {\n console.error('Desktop notification failed:', errMsg(err));\n }\n }\n\n if (s.notify.email) {\n if (!smtpIsConfigured(s)) {\n console.warn('Email enabled but SMTP not configured — skipping email.');\n } else {\n try {\n await emailNotify(newReleases, s);\n } catch (err) {\n console.error('Email notification failed:', errMsg(err));\n }\n }\n }\n}\n\n// Send a test email using the current (or provided) SMTP settings. Throws on\n// failure so callers can surface the error to the user.\nexport async function sendTestEmail(override?: Settings): Promise<void> {\n const s = override ?? getSettings();\n if (!smtpIsConfigured(s)) {\n throw new Error(\n 'SMTP is not configured (host, user, and recipient required).',\n );\n }\n await transport(s).sendMail({\n from: s.smtp.from || s.smtp.user,\n to: s.smtp.to,\n subject: 'silver-music-notifier test email',\n text: 'This is a test email from silver-music-notifier. SMTP is working.',\n });\n}\n\nfunction errMsg(err: unknown): string {\n return err instanceof Error ? err.message : String(err);\n}\n","import {getDb, type ArtistRow} from './db.js';\nimport {fetchReleaseGroups} from './musicbrainz.js';\nimport {setLastRefreshAt} from './settings.js';\nimport {notifyNewReleases} from './notify.js';\n\nexport interface NewRelease {\n mbid: string;\n artistMbid: string;\n artistName: string;\n title: string;\n primaryType: string | null;\n secondaryTypes: string[];\n firstReleaseDate: string | null;\n}\n\nexport interface RefreshSummary {\n scannedArtists: number;\n newCount: number;\n newReleases: NewRelease[];\n errors: {artist: string; message: string}[];\n startedAt: string;\n}\n\nexport interface RefreshOptions {\n notify?: boolean;\n onProgress?: (artist: ArtistRow, index: number, total: number) => void;\n}\n\n// Fetch release-groups for every tracked artist, upsert them, and collect the\n// ones we'd never seen before. Shared by the CLI `refresh` command and the\n// server's POST /api/refresh route.\nexport async function refresh(\n opts: RefreshOptions = {},\n): Promise<RefreshSummary> {\n const db = getDb();\n const startedAt = new Date().toISOString();\n const artists = db\n .prepare('SELECT * FROM artists ORDER BY name COLLATE NOCASE')\n .all() as ArtistRow[];\n\n const existing = db.prepare('SELECT 1 FROM release_groups WHERE mbid = ?');\n const insert = db.prepare(`\n INSERT INTO release_groups\n (mbid, artist_mbid, title, primary_type, secondary_types,\n first_release_date, first_seen_at, last_seen_at)\n VALUES (@mbid, @artist_mbid, @title, @primary_type, @secondary_types,\n @first_release_date, @now, @now)\n ON CONFLICT(mbid) DO UPDATE SET\n title = excluded.title,\n primary_type = excluded.primary_type,\n secondary_types = excluded.secondary_types,\n first_release_date = excluded.first_release_date,\n last_seen_at = excluded.last_seen_at\n `);\n\n const newReleases: NewRelease[] = [];\n const errors: RefreshSummary['errors'] = [];\n\n for (let i = 0; i < artists.length; i++) {\n const artist = artists[i];\n opts.onProgress?.(artist, i, artists.length);\n try {\n const groups = await fetchReleaseGroups(artist.mbid);\n const now = new Date().toISOString();\n const apply = db.transaction(() => {\n for (const g of groups) {\n const seen = existing.get(g.mbid);\n insert.run({\n mbid: g.mbid,\n artist_mbid: artist.mbid,\n title: g.title,\n primary_type: g.primaryType,\n secondary_types: g.secondaryTypes.join(', ') || null,\n first_release_date: g.firstReleaseDate,\n now,\n });\n if (!seen) {\n newReleases.push({\n mbid: g.mbid,\n artistMbid: artist.mbid,\n artistName: artist.name,\n title: g.title,\n primaryType: g.primaryType,\n secondaryTypes: g.secondaryTypes,\n firstReleaseDate: g.firstReleaseDate,\n });\n }\n }\n });\n apply();\n } catch (err) {\n errors.push({\n artist: artist.name,\n message: err instanceof Error ? err.message : String(err),\n });\n }\n }\n\n setLastRefreshAt(startedAt);\n\n const summary: RefreshSummary = {\n scannedArtists: artists.length,\n newCount: newReleases.length,\n newReleases,\n errors,\n startedAt,\n };\n\n if (opts.notify !== false && newReleases.length > 0) {\n await notifyNewReleases(newReleases);\n }\n\n return summary;\n}\n","import {getDb, type ArtistRow} from './db.js';\nimport {getLastRefreshAt} from './settings.js';\n\nexport interface ReleaseListItem {\n mbid: string;\n artistMbid: string;\n artistName: string;\n title: string;\n primaryType: string | null;\n secondaryTypes: string | null;\n firstReleaseDate: string | null;\n firstSeenAt: string;\n isNew: boolean;\n}\n\nexport interface NewArtistInput {\n mbid: string;\n name: string;\n sortName?: string | null;\n disambiguation?: string | null;\n}\n\nexport function listArtists(): ArtistRow[] {\n return getDb()\n .prepare('SELECT * FROM artists ORDER BY name COLLATE NOCASE')\n .all() as ArtistRow[];\n}\n\nexport function getArtist(mbid: string): ArtistRow | undefined {\n return getDb().prepare('SELECT * FROM artists WHERE mbid = ?').get(mbid) as\n | ArtistRow\n | undefined;\n}\n\n// Insert (or no-op if already tracked). Returns true if newly added.\nexport function addArtist(input: NewArtistInput): boolean {\n const res = getDb()\n .prepare(\n `INSERT INTO artists (mbid, name, sort_name, disambiguation, added_at)\n VALUES (?, ?, ?, ?, ?)\n ON CONFLICT(mbid) DO NOTHING`,\n )\n .run(\n input.mbid,\n input.name,\n input.sortName ?? null,\n input.disambiguation ?? null,\n new Date().toISOString(),\n );\n return res.changes > 0;\n}\n\n// Remove an artist by MBID, or by exact/case-insensitive name. Cascades to\n// release_groups. Returns the removed artist, or undefined if nothing matched.\nexport function removeArtist(idOrName: string): ArtistRow | undefined {\n const db = getDb();\n const found =\n (db.prepare('SELECT * FROM artists WHERE mbid = ?').get(idOrName) as\n | ArtistRow\n | undefined) ??\n (db\n .prepare('SELECT * FROM artists WHERE name = ? COLLATE NOCASE')\n .get(idOrName) as ArtistRow | undefined);\n if (!found) {\n return undefined;\n }\n db.prepare('DELETE FROM artists WHERE mbid = ?').run(found.mbid);\n return found;\n}\n\nexport function listReleases(\n opts: {onlyNew?: boolean; limit?: number} = {},\n): ReleaseListItem[] {\n const lastRefresh = getLastRefreshAt();\n const rows = getDb()\n .prepare(\n `SELECT rg.mbid, rg.artist_mbid, a.name AS artist_name, rg.title,\n rg.primary_type, rg.secondary_types, rg.first_release_date,\n rg.first_seen_at\n FROM release_groups rg\n JOIN artists a ON a.mbid = rg.artist_mbid\n ORDER BY (rg.first_release_date IS NULL), rg.first_release_date DESC, rg.title`,\n )\n .all() as Array<{\n mbid: string;\n artist_mbid: string;\n artist_name: string;\n title: string;\n primary_type: string | null;\n secondary_types: string | null;\n first_release_date: string | null;\n first_seen_at: string;\n }>;\n\n // A release is \"new\" if it was first seen at or after the previous refresh\n // started — i.e. it showed up in the most recent refresh.\n const items: ReleaseListItem[] = rows.map(r => ({\n mbid: r.mbid,\n artistMbid: r.artist_mbid,\n artistName: r.artist_name,\n title: r.title,\n primaryType: r.primary_type,\n secondaryTypes: r.secondary_types,\n firstReleaseDate: r.first_release_date,\n firstSeenAt: r.first_seen_at,\n isNew: lastRefresh != null && r.first_seen_at >= lastRefresh,\n }));\n\n const filtered = opts.onlyNew ? items.filter(i => i.isNew) : items;\n return opts.limit ? filtered.slice(0, opts.limit) : filtered;\n}\n","import type {Command} from 'commander';\nimport {startServer} from '../../server/index.js';\n\nexport function registerWeb(program: Command): void {\n program\n .command('web')\n .description('Launch the local web UI')\n .option('-p, --port <port>', 'port to listen on', '3001')\n .option('--no-open', 'do not open a browser window')\n .action(async (opts: {port: string; open: boolean}) => {\n const port = Number(opts.port);\n await startServer(port);\n const url = `http://localhost:${port}`;\n console.log(`silver-music-notifier web UI running at ${url}`);\n if (opts.open) {\n try {\n const {default: open} = await import('open');\n await open(url);\n } catch {\n console.log('(could not open browser automatically)');\n }\n }\n });\n}\n","import type {Command} from 'commander';\nimport {listArtists} from '../../lib/store.js';\n\nexport function registerList(program: Command): void {\n program\n .command('list')\n .description('List tracked artists')\n .action(() => {\n const artists = listArtists();\n if (artists.length === 0) {\n console.log(\n 'No artists tracked yet. Add one with: silver-music-notifier add <name>',\n );\n return;\n }\n for (const a of artists) {\n const extra = a.disambiguation ? ` (${a.disambiguation})` : '';\n console.log(`${a.name}${extra} — ${a.mbid}`);\n }\n console.log(\n `\\n${artists.length} artist${artists.length === 1 ? '' : 's'} tracked.`,\n );\n });\n}\n","import type {Command} from 'commander';\nimport {searchArtist} from '../../lib/musicbrainz.js';\nimport {addArtist} from '../../lib/store.js';\n\nexport function registerAdd(program: Command): void {\n program\n .command('add')\n .description('Search MusicBrainz and add an artist to track')\n .argument('<query>', 'artist name to search for')\n .option(\n '--mbid <mbid>',\n 'add this exact MusicBrainz artist MBID, skipping search',\n )\n .option('-y, --yes', 'add the top search result without prompting')\n .action(async (query: string, opts: {mbid?: string; yes?: boolean}) => {\n if (opts.mbid) {\n const added = addArtist({mbid: opts.mbid, name: query});\n console.log(added ? `Added ${query}.` : `${query} is already tracked.`);\n return;\n }\n\n const results = await searchArtist(query);\n if (results.length === 0) {\n console.log(`No MusicBrainz artists found for \"${query}\".`);\n return;\n }\n\n let chosen = results[0];\n if (!opts.yes && results.length > 1) {\n const {select} = await import('@inquirer/prompts');\n const mbid = await select({\n message: 'Which artist?',\n choices: results.map(r => ({\n name: [\n r.name,\n r.disambiguation ? `(${r.disambiguation})` : '',\n r.type ? `· ${r.type}` : '',\n r.country ? `· ${r.country}` : '',\n ]\n .filter(Boolean)\n .join(' '),\n value: r.mbid,\n })),\n });\n chosen = results.find(r => r.mbid === mbid)!;\n }\n\n const added = addArtist({\n mbid: chosen.mbid,\n name: chosen.name,\n sortName: chosen.sortName,\n disambiguation: chosen.disambiguation,\n });\n console.log(\n added\n ? `Added ${chosen.name} (${chosen.mbid}).`\n : `${chosen.name} is already tracked.`,\n );\n });\n}\n","import type {Command} from 'commander';\nimport {removeArtist} from '../../lib/store.js';\n\nexport function registerRemove(program: Command): void {\n program\n .command('remove')\n .alias('rm')\n .description('Stop tracking an artist (by MBID or name)')\n .argument('<idOrName>', 'MusicBrainz MBID or exact artist name')\n .action((idOrName: string) => {\n const removed = removeArtist(idOrName);\n if (!removed) {\n console.log(`No tracked artist matched \"${idOrName}\".`);\n process.exitCode = 1;\n return;\n }\n console.log(`Removed ${removed.name} (${removed.mbid}).`);\n });\n}\n","import type {Command} from 'commander';\nimport {refresh} from '../../lib/refresh.js';\n\nexport function registerRefresh(program: Command): void {\n program\n .command('refresh')\n .description(\n 'Fetch releases for all tracked artists and notify on new ones',\n )\n .option('--no-notify', 'skip desktop/email notifications')\n .action(async (opts: {notify: boolean}) => {\n const summary = await refresh({\n notify: opts.notify,\n onProgress: (artist, i, total) => {\n process.stdout.write(\n `\\r[${i + 1}/${total}] ${artist.name}`.padEnd(60),\n );\n },\n });\n process.stdout.write('\\r'.padEnd(60) + '\\r');\n\n console.log(\n `Scanned ${summary.scannedArtists} artist${summary.scannedArtists === 1 ? '' : 's'}; ` +\n `${summary.newCount} new release${summary.newCount === 1 ? '' : 's'}.`,\n );\n for (const r of summary.newReleases) {\n const type = [r.primaryType, ...r.secondaryTypes]\n .filter(Boolean)\n .join(' / ');\n console.log(\n ` + ${r.artistName} — ${r.title}` +\n (type ? ` [${type}]` : '') +\n (r.firstReleaseDate ? ` (${r.firstReleaseDate})` : ''),\n );\n }\n for (const e of summary.errors) {\n console.error(` ! ${e.artist}: ${e.message}`);\n }\n });\n}\n","import type {Command} from 'commander';\nimport {listReleases} from '../../lib/store.js';\n\nexport function registerReleases(program: Command): void {\n program\n .command('releases')\n .description('List known release-groups, newest first')\n .option('--new', 'only show releases discovered in the last refresh')\n .option('-n, --limit <n>', 'limit the number of rows', v => Number(v))\n .action((opts: {new?: boolean; limit?: number}) => {\n const items = listReleases({onlyNew: opts.new, limit: opts.limit});\n if (items.length === 0) {\n console.log(\n opts.new\n ? 'No new releases since the last refresh.'\n : 'No releases yet. Run: silver-music-notifier refresh',\n );\n return;\n }\n for (const r of items) {\n const date = r.firstReleaseDate ?? '—'.padEnd(10);\n const type = [r.primaryType, r.secondaryTypes]\n .filter(Boolean)\n .join(' / ');\n const flag = r.isNew ? 'NEW ' : ' ';\n console.log(\n `${flag}${date.padEnd(11)} ${r.artistName} — ${r.title}${type ? ` [${type}]` : ''}`,\n );\n }\n });\n}\n","import type {Command} from 'commander';\nimport {getSettings, saveSettings, type Settings} from '../../lib/settings.js';\n\n// Flatten the settings object into dotted keys for display/editing, masking the\n// SMTP password so it is never printed.\nfunction flatten(s: Settings): Record<string, string> {\n return {\n 'notify.inPage': String(s.notify.inPage),\n 'notify.desktop': String(s.notify.desktop),\n 'notify.email': String(s.notify.email),\n 'smtp.host': s.smtp.host,\n 'smtp.port': String(s.smtp.port),\n 'smtp.secure': String(s.smtp.secure),\n 'smtp.user': s.smtp.user,\n 'smtp.pass': s.smtp.pass ? '********' : '',\n 'smtp.from': s.smtp.from,\n 'smtp.to': s.smtp.to,\n 'musicbrainz.contact': s.musicbrainz.contact,\n };\n}\n\nfunction coerce(key: string, value: string): boolean | number | string {\n if (/^(notify\\.|smtp\\.secure$)/.test(key)) {\n return value === 'true' || value === '1';\n }\n if (key === 'smtp.port') {\n return Number(value);\n }\n return value;\n}\n\nfunction patchFor(\n key: string,\n value: boolean | number | string,\n): Partial<Settings> {\n const [group, field] = key.split('.');\n return {[group]: {[field]: value}} as unknown as Partial<Settings>;\n}\n\nexport function registerConfig(program: Command): void {\n const config = program.command('config').description('View or edit settings');\n\n config\n .command('get', {isDefault: true})\n .description('Print settings (or a single key)')\n .argument('[key]', 'dotted key, e.g. notify.email')\n .action((key?: string) => {\n const flat = flatten(getSettings());\n if (key) {\n if (!(key in flat)) {\n console.error(`Unknown key: ${key}`);\n process.exitCode = 1;\n return;\n }\n console.log(flat[key]);\n return;\n }\n for (const [k, v] of Object.entries(flat)) {\n console.log(`${k} = ${v}`);\n }\n });\n\n config\n .command('set')\n .description('Set a settings key')\n .argument('<key>', 'dotted key, e.g. smtp.host')\n .argument('<value>', 'new value')\n .action((key: string, value: string) => {\n const valid = new Set(Object.keys(flatten(getSettings())));\n if (!valid.has(key)) {\n console.error(\n `Unknown key: ${key}\\nValid keys: ${[...valid].join(', ')}`,\n );\n process.exitCode = 1;\n return;\n }\n saveSettings(patchFor(key, coerce(key, value)));\n console.log(`Set ${key}.`);\n });\n}\n"],"mappings":"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","names":["join","join","api","program","program","program","added","program","program","program","program"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer reset,base,tokens,recipes,utilities;@layer reset{:host,html{--font-fallback:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";line-height:1.5;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-tab-size:4;tab-size:4;font-family:var(--global-font-body,var(--font-fallback));-webkit-tap-highlight-color:transparent}*,::backdrop,::file-selector-button,:after,:before{margin:0;padding:0;border-width:0px;border-style:solid;border-color:var(--global-color-border,currentcolor);box-sizing:border-box}hr{color:inherit;height:0px;border-top-width:1px}body{line-height:inherit;height:100%}img{border-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{text-wrap:balance;font-size:inherit;font-weight:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}menu,ol,ul{list-style:none}::file-selector-button,button,input:where([type=button],[type=reset],[type=submit]){-moz-appearance:button;appearance:button;-webkit-appearance:button}::file-selector-button,button,input,optgroup,select,textarea{font:inherit;background:var(--silver-colors-transparent);font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit}::placeholder{--placeholder-fallback:rgba(0,0,0,.5);opacity:1;color:var(--global-color-placeholder,var(--placeholder-fallback))}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{--placeholder-fallback:color-mix(in oklab,currentcolor 50%,transparent)}}::selection{background-color:var(--global-color-selection,rgba(0,115,255,.3))}textarea{resize:vertical}table{border-color:inherit;text-indent:0px;border-collapse:collapse}summary{display:list-item}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}dialog{padding:0}a{text-decoration:inherit;color:inherit}abbr:where([title]){text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{--font-mono-fallback:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New";font-family:var(--global-font-mono,var(--font-mono-fallback));font-size:1em;font-feature-settings:normal;font-variation-settings:normal}progress{vertical-align:baseline}::-webkit-search-cancel-button,::-webkit-search-decoration{-webkit-appearance:none}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}:-moz-ui-invalid{box-shadow:none}:-moz-focusring{outline:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer base{:root{--made-with-panda:"🐼"}*,::backdrop,:after,:before{--blur: ;--brightness: ;--contrast: ;--grayscale: ;--hue-rotate: ;--invert: ;--saturate: ;--sepia: ;--drop-shadow: ;--backdrop-blur: ;--backdrop-brightness: ;--backdrop-contrast: ;--backdrop-grayscale: ;--backdrop-hue-rotate: ;--backdrop-invert: ;--backdrop-opacity: ;--backdrop-saturate: ;--backdrop-sepia: ;--gradient-from-position: ;--gradient-to-position: ;--gradient-via-position: ;--scroll-snap-strictness:proximity;--border-spacing-x:0;--border-spacing-y:0;--translate-x:0;--translate-y:0;--rotate:0;--rotate-x:0;--rotate-y:0;--skew-x:0;--skew-y:0;--scale-x:1;--scale-y:1}}@layer tokens{:where(:root,:host){--silver-aspect-ratios-square:1/1;--silver-aspect-ratios-landscape:4/3;--silver-aspect-ratios-portrait:3/4;--silver-aspect-ratios-wide:16/9;--silver-aspect-ratios-ultrawide:18/5;--silver-aspect-ratios-golden:1.618/1;--silver-borders-none:none;--silver-easings-default:cubic-bezier(.4,0,.2,1);--silver-easings-linear:linear;--silver-easings-in:cubic-bezier(.4,0,1,1);--silver-easings-out:cubic-bezier(0,0,.2,1);--silver-easings-in-out:cubic-bezier(.4,0,.2,1);--silver-durations-fastest:50ms;--silver-durations-faster:.1s;--silver-durations-fast:.15s;--silver-durations-normal:.2s;--silver-durations-slow:.3s;--silver-durations-slower:.4s;--silver-durations-slowest:.5s;--silver-font-weights-thin:100;--silver-font-weights-extralight:200;--silver-font-weights-light:300;--silver-font-weights-normal:400;--silver-font-weights-medium:500;--silver-font-weights-semibold:600;--silver-font-weights-bold:700;--silver-font-weights-extrabold:800;--silver-font-weights-black:900;--silver-line-heights-none:1;--silver-line-heights-tight:1.25;--silver-line-heights-snug:1.375;--silver-line-heights-normal:1.5;--silver-line-heights-relaxed:1.625;--silver-line-heights-loose:2;--silver-letter-spacings-tighter:-.05em;--silver-letter-spacings-tight:-.025em;--silver-letter-spacings-normal:0em;--silver-letter-spacings-wide:.025em;--silver-letter-spacings-wider:.05em;--silver-letter-spacings-widest:.1em;--silver-font-sizes-2xs:.5rem;--silver-font-sizes-xs:.75rem;--silver-font-sizes-sm:.875rem;--silver-font-sizes-md:1rem;--silver-font-sizes-lg:1.125rem;--silver-font-sizes-xl:1.25rem;--silver-font-sizes-2xl:1.5rem;--silver-font-sizes-3xl:1.875rem;--silver-font-sizes-4xl:2.25rem;--silver-font-sizes-5xl:3rem;--silver-font-sizes-6xl:3.75rem;--silver-font-sizes-7xl:4.5rem;--silver-font-sizes-8xl:6rem;--silver-font-sizes-9xl:8rem;--silver-shadows-2xs:0 1px rgb(0 0 0/.05);--silver-shadows-xs:0 1px 2px 0 rgb(0 0 0/.05);--silver-shadows-sm:0 1px 3px 0 rgb(0 0 0/.1),0 1px 2px -1px rgb(0 0 0/.1);--silver-shadows-md:0 4px 6px -1px rgb(0 0 0/.1),0 2px 4px -2px rgb(0 0 0/.1);--silver-shadows-lg:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1);--silver-shadows-xl:0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1);--silver-shadows-2xl:0 25px 50px -12px rgb(0 0 0/.25);--silver-shadows-inset-2xs:inset 0 1px rgb(0 0 0/.05);--silver-shadows-inset-xs:inset 0 1px 1px rgb(0 0 0/.05);--silver-shadows-inset-sm:inset 0 2px 4px rgb(0 0 0/.05);--silver-blurs-xs:4px;--silver-blurs-sm:8px;--silver-blurs-md:12px;--silver-blurs-lg:16px;--silver-blurs-xl:24px;--silver-blurs-2xl:40px;--silver-blurs-3xl:64px;--silver-spacing-0:0rem;--silver-spacing-1:.25rem;--silver-spacing-2:.5rem;--silver-spacing-3:.75rem;--silver-spacing-4:1rem;--silver-spacing-5:1.25rem;--silver-spacing-6:1.5rem;--silver-spacing-7:1.75rem;--silver-spacing-8:2rem;--silver-spacing-9:2.25rem;--silver-spacing-10:2.5rem;--silver-spacing-11:2.75rem;--silver-spacing-12:3rem;--silver-spacing-14:3.5rem;--silver-spacing-16:4rem;--silver-spacing-20:5rem;--silver-spacing-24:6rem;--silver-spacing-28:7rem;--silver-spacing-32:8rem;--silver-spacing-36:9rem;--silver-spacing-40:10rem;--silver-spacing-44:11rem;--silver-spacing-48:12rem;--silver-spacing-52:13rem;--silver-spacing-56:14rem;--silver-spacing-60:15rem;--silver-spacing-64:16rem;--silver-spacing-72:18rem;--silver-spacing-80:20rem;--silver-spacing-96:24rem;--silver-spacing-0\.5:.125rem;--silver-spacing-1\.5:.375rem;--silver-spacing-2\.5:.625rem;--silver-spacing-3\.5:.875rem;--silver-spacing-4\.5:1.125rem;--silver-spacing-5\.5:1.375rem;--silver-sizes-0:0rem;--silver-sizes-1:.25rem;--silver-sizes-2:.5rem;--silver-sizes-3:.75rem;--silver-sizes-4:1rem;--silver-sizes-5:1.25rem;--silver-sizes-6:1.5rem;--silver-sizes-7:1.75rem;--silver-sizes-8:2rem;--silver-sizes-9:2.25rem;--silver-sizes-10:2.5rem;--silver-sizes-11:2.75rem;--silver-sizes-12:3rem;--silver-sizes-14:3.5rem;--silver-sizes-16:4rem;--silver-sizes-20:5rem;--silver-sizes-24:6rem;--silver-sizes-28:7rem;--silver-sizes-32:8rem;--silver-sizes-36:9rem;--silver-sizes-40:10rem;--silver-sizes-44:11rem;--silver-sizes-48:12rem;--silver-sizes-52:13rem;--silver-sizes-56:14rem;--silver-sizes-60:15rem;--silver-sizes-64:16rem;--silver-sizes-72:18rem;--silver-sizes-80:20rem;--silver-sizes-96:24rem;--silver-sizes-0\.5:.125rem;--silver-sizes-1\.5:.375rem;--silver-sizes-2\.5:.625rem;--silver-sizes-3\.5:.875rem;--silver-sizes-4\.5:1.125rem;--silver-sizes-5\.5:1.375rem;--silver-sizes-xs:20rem;--silver-sizes-sm:24rem;--silver-sizes-md:28rem;--silver-sizes-lg:32rem;--silver-sizes-xl:36rem;--silver-sizes-2xl:42rem;--silver-sizes-3xl:48rem;--silver-sizes-4xl:56rem;--silver-sizes-5xl:64rem;--silver-sizes-6xl:72rem;--silver-sizes-7xl:80rem;--silver-sizes-8xl:90rem;--silver-sizes-prose:65ch;--silver-sizes-full:100%;--silver-sizes-min:min-content;--silver-sizes-max:max-content;--silver-sizes-fit:fit-content;--silver-sizes-breakpoint-sm:640px;--silver-sizes-breakpoint-md:768px;--silver-sizes-breakpoint-lg:1024px;--silver-sizes-breakpoint-xl:1280px;--silver-sizes-breakpoint-2xl:1536px;--silver-animations-spin:spin 1s linear infinite;--silver-animations-ping:ping 1s cubic-bezier(0,0,.2,1) infinite;--silver-animations-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--silver-animations-bounce:bounce 1s infinite;--silver-colors-current:currentColor;--silver-colors-black:#000;--silver-colors-white:#fff;--silver-colors-transparent:rgb(0 0 0/0);--silver-colors-rose-50:#fff1f2;--silver-colors-rose-100:#ffe4e6;--silver-colors-rose-200:#fecdd3;--silver-colors-rose-300:#fda4af;--silver-colors-rose-400:#fb7185;--silver-colors-rose-500:#f43f5e;--silver-colors-rose-600:#e11d48;--silver-colors-rose-700:#be123c;--silver-colors-rose-800:#9f1239;--silver-colors-rose-900:#881337;--silver-colors-rose-950:#4c0519;--silver-colors-fuchsia-50:#fdf4ff;--silver-colors-fuchsia-100:#fae8ff;--silver-colors-fuchsia-200:#f5d0fe;--silver-colors-fuchsia-300:#f0abfc;--silver-colors-fuchsia-400:#e879f9;--silver-colors-fuchsia-500:#d946ef;--silver-colors-fuchsia-600:#c026d3;--silver-colors-fuchsia-700:#a21caf;--silver-colors-fuchsia-800:#86198f;--silver-colors-fuchsia-900:#701a75;--silver-colors-fuchsia-950:#4a044e;--silver-colors-violet-50:#f5f3ff;--silver-colors-violet-100:#ede9fe;--silver-colors-violet-200:#ddd6fe;--silver-colors-violet-300:#c4b5fd;--silver-colors-violet-400:#a78bfa;--silver-colors-violet-500:#8b5cf6;--silver-colors-violet-600:#7c3aed;--silver-colors-violet-700:#6d28d9;--silver-colors-violet-800:#5b21b6;--silver-colors-violet-900:#4c1d95;--silver-colors-violet-950:#2e1065;--silver-colors-indigo-50:#eef2ff;--silver-colors-indigo-100:#e0e7ff;--silver-colors-indigo-200:#c7d2fe;--silver-colors-indigo-300:#a5b4fc;--silver-colors-indigo-400:#818cf8;--silver-colors-indigo-500:#6366f1;--silver-colors-indigo-600:#4f46e5;--silver-colors-indigo-700:#4338ca;--silver-colors-indigo-800:#3730a3;--silver-colors-indigo-900:#312e81;--silver-colors-indigo-950:#1e1b4b;--silver-colors-sky-50:#f0f9ff;--silver-colors-sky-100:#e0f2fe;--silver-colors-sky-200:#bae6fd;--silver-colors-sky-300:#7dd3fc;--silver-colors-sky-400:#38bdf8;--silver-colors-sky-500:#0ea5e9;--silver-colors-sky-600:#0284c7;--silver-colors-sky-700:#0369a1;--silver-colors-sky-800:#075985;--silver-colors-sky-900:#0c4a6e;--silver-colors-sky-950:#082f49;--silver-colors-emerald-50:#ecfdf5;--silver-colors-emerald-100:#d1fae5;--silver-colors-emerald-200:#a7f3d0;--silver-colors-emerald-300:#6ee7b7;--silver-colors-emerald-400:#34d399;--silver-colors-emerald-500:#10b981;--silver-colors-emerald-600:#059669;--silver-colors-emerald-700:#047857;--silver-colors-emerald-800:#065f46;--silver-colors-emerald-900:#064e3b;--silver-colors-emerald-950:#022c22;--silver-colors-lime-50:#f7fee7;--silver-colors-lime-100:#ecfccb;--silver-colors-lime-200:#d9f99d;--silver-colors-lime-300:#bef264;--silver-colors-lime-400:#a3e635;--silver-colors-lime-500:#84cc16;--silver-colors-lime-600:#65a30d;--silver-colors-lime-700:#4d7c0f;--silver-colors-lime-800:#3f6212;--silver-colors-lime-900:#365314;--silver-colors-lime-950:#1a2e05;--silver-colors-amber-50:#fffbeb;--silver-colors-amber-100:#fef3c7;--silver-colors-amber-200:#fde68a;--silver-colors-amber-300:#fcd34d;--silver-colors-amber-400:#fbbf24;--silver-colors-amber-500:#f59e0b;--silver-colors-amber-600:#d97706;--silver-colors-amber-700:#b45309;--silver-colors-amber-800:#92400e;--silver-colors-amber-900:#78350f;--silver-colors-amber-950:#451a03;--silver-colors-neutral-50:#fafafa;--silver-colors-neutral-100:#f5f5f5;--silver-colors-neutral-200:#e5e5e5;--silver-colors-neutral-300:#d4d4d4;--silver-colors-neutral-400:#a3a3a3;--silver-colors-neutral-500:#737373;--silver-colors-neutral-600:#525252;--silver-colors-neutral-700:#404040;--silver-colors-neutral-800:#262626;--silver-colors-neutral-900:#171717;--silver-colors-neutral-950:#0a0a0a;--silver-colors-stone-50:#fafaf9;--silver-colors-stone-100:#f5f5f4;--silver-colors-stone-200:#e7e5e4;--silver-colors-stone-300:#d6d3d1;--silver-colors-stone-400:#a8a29e;--silver-colors-stone-500:#78716c;--silver-colors-stone-600:#57534e;--silver-colors-stone-700:#44403c;--silver-colors-stone-800:#292524;--silver-colors-stone-900:#1c1917;--silver-colors-stone-950:#0c0a09;--silver-colors-zinc-50:#fafafa;--silver-colors-zinc-100:#f4f4f5;--silver-colors-zinc-200:#e4e4e7;--silver-colors-zinc-300:#d4d4d8;--silver-colors-zinc-400:#a1a1aa;--silver-colors-zinc-500:#71717a;--silver-colors-zinc-600:#52525b;--silver-colors-zinc-700:#3f3f46;--silver-colors-zinc-800:#27272a;--silver-colors-zinc-900:#18181b;--silver-colors-zinc-950:#09090b;--silver-colors-slate-50:#f8fafc;--silver-colors-slate-100:#f1f5f9;--silver-colors-slate-200:#e2e8f0;--silver-colors-slate-300:#cbd5e1;--silver-colors-slate-400:#94a3b8;--silver-colors-slate-500:#64748b;--silver-colors-slate-600:#475569;--silver-colors-slate-700:#334155;--silver-colors-slate-800:#1e293b;--silver-colors-slate-900:#0f172a;--silver-colors-slate-950:#020617;--silver-colors-gray-50:#f1f4f7;--silver-colors-gray-100:#d5d9de;--silver-colors-gray-200:#b1bac3;--silver-colors-gray-300:#8a97a4;--silver-colors-gray-400:#708090;--silver-colors-gray-500:#6a7b8c;--silver-colors-gray-600:#576573;--silver-colors-gray-700:#45505b;--silver-colors-gray-800:#333b43;--silver-colors-gray-900:#22272d;--silver-colors-gray-950:#030712;--silver-colors-green-50:#e0f6e2;--silver-colors-green-100:#c4eec8;--silver-colors-green-200:#91e098;--silver-colors-green-300:#54cf60;--silver-colors-green-400:#33b33f;--silver-colors-green-500:#26a332;--silver-colors-green-600:#1f8629;--silver-colors-green-700:#196a21;--silver-colors-green-800:#124e18;--silver-colors-green-900:#0c3410;--silver-colors-green-950:#052e16;--silver-colors-red-50:#fceef0;--silver-colors-red-100:#f9d1d8;--silver-colors-red-200:#f1bcc5;--silver-colors-red-300:#e28d9b;--silver-colors-red-400:#da4e65;--silver-colors-red-500:#d92644;--silver-colors-red-600:#e31a3b;--silver-colors-red-700:#842e3d;--silver-colors-red-800:#6b2e38;--silver-colors-red-900:#562b32;--silver-colors-red-950:#450a0a;--silver-colors-yellow-50:#fdf3da;--silver-colors-yellow-100:#fbe7b7;--silver-colors-yellow-200:#f8d47b;--silver-colors-yellow-300:#f4bd37;--silver-colors-yellow-400:#efad0d;--silver-colors-yellow-500:#f0aa00;--silver-colors-yellow-600:#c58b00;--silver-colors-yellow-700:#9c6e00;--silver-colors-yellow-800:#735200;--silver-colors-yellow-900:#4d3600;--silver-colors-yellow-950:#422006;--silver-colors-blue-50:#dae9fd;--silver-colors-blue-100:#bad6fb;--silver-colors-blue-200:#87b8f9;--silver-colors-blue-300:#5b9ef6;--silver-colors-blue-400:#3487f4;--silver-colors-blue-500:#4a98ff;--silver-colors-blue-600:#0f76ff;--silver-colors-blue-700:#005cd6;--silver-colors-blue-800:#00449e;--silver-colors-blue-900:#002d69;--silver-colors-blue-950:#172554;--silver-colors-cyan-50:#dff2f8;--silver-colors-cyan-100:#c3e7f1;--silver-colors-cyan-200:#92d3e6;--silver-colors-cyan-300:#60bfdb;--silver-colors-cyan-400:#48b5d5;--silver-colors-cyan-500:#40b9dd;--silver-colors-cyan-600:#23a1c6;--silver-colors-cyan-700:#1c809d;--silver-colors-cyan-800:#155e74;--silver-colors-cyan-900:#0e3f4d;--silver-colors-cyan-950:#083344;--silver-colors-orange-50:#fdeada;--silver-colors-orange-100:#fbd7b8;--silver-colors-orange-200:#f7b57c;--silver-colors-orange-300:#f38e38;--silver-colors-orange-400:#eb740e;--silver-colors-orange-500:#eb6d02;--silver-colors-orange-600:#c15902;--silver-colors-orange-700:#994701;--silver-colors-orange-800:#713401;--silver-colors-orange-900:#4b2301;--silver-colors-orange-950:#431407;--silver-colors-pink-50:#f7e0ef;--silver-colors-pink-100:#efc5e0;--silver-colors-pink-200:#e397c8;--silver-colors-pink-300:#d76ab0;--silver-colors-pink-400:#d256a5;--silver-colors-pink-500:#d951a8;--silver-colors-pink-600:#c92c90;--silver-colors-pink-700:#9f2372;--silver-colors-pink-800:#751a54;--silver-colors-pink-900:#4e1138;--silver-colors-pink-950:#500724;--silver-colors-purple-50:#e2dbfd;--silver-colors-purple-100:#c9bbfb;--silver-colors-purple-200:#a289f9;--silver-colors-purple-300:#8260f7;--silver-colors-purple-400:#5f34f4;--silver-colors-purple-500:#7952ff;--silver-colors-purple-600:#4a15ff;--silver-colors-purple-700:#3100db;--silver-colors-purple-800:#2400a2;--silver-colors-purple-900:#18006c;--silver-colors-purple-950:#3b0764;--silver-colors-teal-50:#dff8f7;--silver-colors-teal-100:#c0f1ef;--silver-colors-teal-200:#8be5e1;--silver-colors-teal-300:#4ad7d1;--silver-colors-teal-400:#29b9b3;--silver-colors-teal-500:#1ca49e;--silver-colors-teal-600:#178682;--silver-colors-teal-700:#126b67;--silver-colors-teal-800:#0d4f4c;--silver-colors-teal-900:#093433;--silver-colors-teal-950:#042f2e;--silver-fonts-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--silver-fonts-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--silver-fonts-body:system-ui,-apple-system,sans-serif;--silver-fonts-mono:ui-monospace,monospace;--silver-radii-xs:.125rem;--silver-radii-xl:.75rem;--silver-radii-2xl:1rem;--silver-radii-3xl:1.5rem;--silver-radii-4xl:2rem;--silver-radii-sm:.25rem;--silver-radii-md:.375rem;--silver-radii-lg:.5rem;--silver-radii-full:9999px;--silver-border-widths-default:1px;--silver-border-widths-emphasized:2px;--silver-border-widths-focus:2px;--silver-breakpoints-sm:640px;--silver-breakpoints-md:768px;--silver-breakpoints-lg:1024px;--silver-breakpoints-xl:1280px;--silver-breakpoints-2xl:1536px;--silver-colors-primary:var(--silver-colors-teal-500);--silver-colors-primary-hover:var(--silver-colors-teal-600);--silver-colors-primary-active:var(--silver-colors-teal-700);--silver-colors-primary-subtle:var(--silver-colors-teal-100);--silver-colors-destructive:var(--silver-colors-red-600);--silver-colors-destructive-hover:var(--silver-colors-red-700);--silver-colors-destructive-active:var(--silver-colors-red-800);--silver-colors-destructive-fg:var(--silver-colors-white);--silver-colors-status-success-fg:var(--silver-colors-green-600);--silver-colors-status-success-border:var(--silver-colors-green-600);--silver-colors-status-success-border-hover:var(--silver-colors-green-700);--silver-colors-status-success-solid:var(--silver-colors-green-600);--silver-colors-status-success-solid-fg:var(--silver-colors-white);--silver-colors-status-error-fg:var(--silver-colors-red-500);--silver-colors-status-error-border:var(--silver-colors-red-600);--silver-colors-status-error-border-hover:var(--silver-colors-red-700);--silver-colors-status-error-solid:var(--silver-colors-red-600);--silver-colors-status-error-solid-fg:var(--silver-colors-white);--silver-colors-status-warning-fg:var(--silver-colors-yellow-500);--silver-colors-status-warning-border:var(--silver-colors-yellow-500);--silver-colors-status-warning-border-hover:var(--silver-colors-yellow-600);--silver-colors-status-warning-solid:var(--silver-colors-yellow-500);--silver-colors-status-warning-solid-fg:var(--silver-colors-white);--silver-colors-status-info-fg:var(--silver-colors-blue-700);--silver-colors-status-info-solid:var(--silver-colors-primary);--silver-colors-status-info-solid-fg:var(--silver-colors-fg-on-primary);--silver-colors-status-neutral-solid:var(--silver-colors-gray-500);--silver-colors-status-neutral-solid-fg:var(--silver-colors-white);--silver-colors-status-disabled-solid:var(--silver-colors-gray-400);--silver-colors-status-disabled-solid-fg:var(--silver-colors-white);--silver-colors-presence-success:var(--silver-colors-green-500);--silver-colors-presence-neutral:var(--silver-colors-gray-500);--silver-colors-presence-error:var(--silver-colors-red-600);--silver-colors-fg:var(--silver-colors-gray-900);--silver-colors-fg-muted:var(--silver-colors-gray-600);--silver-colors-fg-disabled:var(--silver-colors-gray-200);--silver-colors-fg-on-primary:var(--silver-colors-white);--silver-colors-bg:var(--silver-colors-white);--silver-colors-bg-subtle:var(--silver-colors-gray-50);--silver-colors-bg-hover:var(--silver-colors-gray-100);--silver-colors-bg-selected:var(--silver-colors-primary-subtle);--silver-colors-bg-ghost-hover:rgba(0,0,0,.06);--silver-colors-bg-ghost-active:rgba(0,0,0,.1);--silver-colors-border:var(--silver-colors-gray-100);--silver-colors-border-emphasized:var(--silver-colors-gray-100);--silver-colors-track:var(--silver-colors-gray-100);--silver-colors-track-emphasized:var(--silver-colors-gray-300);--silver-colors-track-disabled:var(--silver-colors-gray-300);--silver-colors-overlay-scrim:rgba(0,0,0,.45);--silver-colors-overlay-scrim-subtle:rgba(0,0,0,.35);--silver-colors-overlay-scrim-strong:rgba(0,0,0,.76);--silver-colors-skeleton:var(--silver-colors-gray-100);--silver-colors-skeleton-shimmer:var(--silver-colors-gray-50);--silver-colors-surface-blue:var(--silver-colors-blue-100);--silver-colors-surface-blue-fg:var(--silver-colors-blue-800);--silver-colors-surface-blue-hover:var(--silver-colors-blue-200);--silver-colors-surface-blue-accent:var(--silver-colors-blue-700);--silver-colors-surface-cyan:var(--silver-colors-cyan-100);--silver-colors-surface-cyan-fg:var(--silver-colors-cyan-800);--silver-colors-surface-cyan-hover:var(--silver-colors-cyan-200);--silver-colors-surface-cyan-accent:var(--silver-colors-cyan-600);--silver-colors-surface-gray:var(--silver-colors-gray-50);--silver-colors-surface-gray-fg:var(--silver-colors-gray-900);--silver-colors-surface-gray-hover:var(--silver-colors-gray-100);--silver-colors-surface-gray-accent:var(--silver-colors-gray-600);--silver-colors-surface-green:var(--silver-colors-green-100);--silver-colors-surface-green-fg:var(--silver-colors-green-900);--silver-colors-surface-green-hover:var(--silver-colors-green-200);--silver-colors-surface-green-accent:var(--silver-colors-green-600);--silver-colors-surface-orange:var(--silver-colors-orange-100);--silver-colors-surface-orange-fg:var(--silver-colors-orange-800);--silver-colors-surface-orange-hover:var(--silver-colors-orange-200);--silver-colors-surface-orange-accent:var(--silver-colors-orange-500);--silver-colors-surface-pink:var(--silver-colors-pink-100);--silver-colors-surface-pink-fg:var(--silver-colors-pink-800);--silver-colors-surface-pink-hover:var(--silver-colors-pink-200);--silver-colors-surface-pink-accent:var(--silver-colors-pink-500);--silver-colors-surface-purple:var(--silver-colors-purple-100);--silver-colors-surface-purple-fg:var(--silver-colors-purple-800);--silver-colors-surface-purple-hover:var(--silver-colors-purple-200);--silver-colors-surface-purple-accent:var(--silver-colors-purple-200);--silver-colors-surface-red:var(--silver-colors-red-100);--silver-colors-surface-red-fg:var(--silver-colors-red-800);--silver-colors-surface-red-hover:var(--silver-colors-red-200);--silver-colors-surface-red-accent:var(--silver-colors-red-600);--silver-colors-surface-teal:var(--silver-colors-teal-100);--silver-colors-surface-teal-fg:var(--silver-colors-teal-800);--silver-colors-surface-teal-hover:var(--silver-colors-teal-200);--silver-colors-surface-teal-accent:var(--silver-colors-teal-500);--silver-colors-surface-yellow:var(--silver-colors-yellow-100);--silver-colors-surface-yellow-fg:var(--silver-colors-yellow-800);--silver-colors-surface-yellow-hover:var(--silver-colors-yellow-200);--silver-colors-surface-yellow-accent:var(--silver-colors-yellow-600);--silver-colors-icon-primary:var(--silver-colors-fg);--silver-colors-icon-secondary:var(--silver-colors-fg-muted);--silver-colors-icon-tertiary:var(--silver-colors-gray-500);--silver-colors-icon-disabled:var(--silver-colors-gray-400);--silver-colors-icon-accent:var(--silver-colors-primary);--silver-colors-icon-success:var(--silver-colors-status-success-fg);--silver-colors-icon-error:var(--silver-colors-status-error-fg);--silver-colors-icon-warning:var(--silver-colors-status-warning-fg);--silver-colors-icon-info:var(--silver-colors-status-info-fg);--silver-colors-icon-blue:var(--silver-colors-blue-700);--silver-colors-icon-red:var(--silver-colors-red-600);--silver-colors-icon-green:var(--silver-colors-green-600);--silver-colors-icon-gray:var(--silver-colors-gray-600);--silver-colors-icon-cyan:var(--silver-colors-cyan-600);--silver-colors-icon-teal:var(--silver-colors-teal-500);--silver-colors-icon-yellow:var(--silver-colors-yellow-300);--silver-colors-icon-orange:var(--silver-colors-orange-500);--silver-colors-icon-pink:var(--silver-colors-pink-600);--silver-colors-icon-purple:var(--silver-colors-purple-700);--silver-sizes-component-sm:var(--silver-sizes-8);--silver-sizes-component-md:var(--silver-sizes-10);--silver-sizes-component-lg:var(--silver-sizes-12);--silver-sizes-icon-sm:var(--silver-sizes-4);--silver-sizes-icon-md:var(--silver-sizes-5);--silver-sizes-icon-lg:var(--silver-sizes-6);--silver-spacing-component-sm:var(--silver-spacing-3);--silver-spacing-component-md:var(--silver-spacing-4);--silver-spacing-component-lg:var(--silver-spacing-5);--silver-spacing-focus-offset:2px;--silver-spacing-focus-offset-tight:1px;--silver-spacing-focus-offset-loose:3px;--silver-font-sizes-component-sm:var(--silver-font-sizes-sm);--silver-font-sizes-component-md:var(--silver-font-sizes-md);--silver-font-sizes-component-lg:var(--silver-font-sizes-md);--silver-font-sizes-icon-sm:var(--silver-sizes-icon-sm);--silver-font-sizes-icon-md:var(--silver-sizes-icon-md);--silver-font-sizes-icon-lg:var(--silver-sizes-icon-lg);--silver-radii-component-sm:var(--silver-radii-sm);--silver-radii-component-md:var(--silver-radii-md);--silver-radii-component-lg:var(--silver-radii-lg);--silver-shadows-focus:0 0 0 var(--silver-border-widths-focus) var(--silver-colors-primary-subtle);--silver-shadows-focus\.error:0 0 0 var(--silver-border-widths-focus) var(--silver-colors-red-100);--silver-shadows-focus\.warning:0 0 0 var(--silver-border-widths-focus) var(--silver-colors-yellow-100);--silver-shadows-focus\.success:0 0 0 var(--silver-border-widths-focus) var(--silver-colors-green-100)}:where([data-theme=dark]){--silver-colors-primary-hover:var(--silver-colors-teal-400);--silver-colors-primary-active:var(--silver-colors-teal-300);--silver-colors-primary-subtle:var(--silver-colors-teal-900);--silver-colors-destructive:var(--silver-colors-red-500);--silver-colors-destructive-hover:var(--silver-colors-red-400);--silver-colors-destructive-active:var(--silver-colors-red-300);--silver-colors-status-success-border:var(--silver-colors-green-400);--silver-colors-status-success-border-hover:var(--silver-colors-green-300);--silver-colors-status-success-solid:var(--silver-colors-green-500);--silver-colors-status-error-border:var(--silver-colors-red-400);--silver-colors-status-error-border-hover:var(--silver-colors-red-300);--silver-colors-status-error-solid:var(--silver-colors-red-500);--silver-colors-status-warning-border:var(--silver-colors-yellow-400);--silver-colors-status-warning-border-hover:var(--silver-colors-yellow-300);--silver-colors-status-warning-solid:var(--silver-colors-yellow-400);--silver-colors-status-neutral-solid:var(--silver-colors-gray-400);--silver-colors-status-disabled-solid:var(--silver-colors-gray-600);--silver-colors-presence-success:var(--silver-colors-green-400);--silver-colors-presence-neutral:var(--silver-colors-gray-400);--silver-colors-presence-error:var(--silver-colors-red-400);--silver-colors-fg:var(--silver-colors-gray-50);--silver-colors-fg-muted:var(--silver-colors-gray-200);--silver-colors-fg-disabled:var(--silver-colors-gray-600);--silver-colors-bg:var(--silver-colors-gray-900);--silver-colors-bg-subtle:var(--silver-colors-gray-800);--silver-colors-bg-hover:var(--silver-colors-gray-700);--silver-colors-bg-ghost-hover:rgba(255,255,255,.08);--silver-colors-bg-ghost-active:rgba(255,255,255,.12);--silver-colors-border:var(--silver-colors-gray-800);--silver-colors-border-emphasized:var(--silver-colors-gray-700);--silver-colors-track:var(--silver-colors-gray-700);--silver-colors-track-emphasized:var(--silver-colors-gray-600);--silver-colors-track-disabled:var(--silver-colors-gray-700);--silver-colors-skeleton:var(--silver-colors-gray-600);--silver-colors-skeleton-shimmer:var(--silver-colors-gray-500);--silver-colors-surface-blue:var(--silver-colors-blue-900);--silver-colors-surface-blue-fg:var(--silver-colors-blue-100);--silver-colors-surface-blue-hover:var(--silver-colors-blue-800);--silver-colors-surface-blue-accent:var(--silver-colors-blue-500);--silver-colors-surface-cyan:var(--silver-colors-cyan-900);--silver-colors-surface-cyan-fg:var(--silver-colors-cyan-200);--silver-colors-surface-cyan-hover:var(--silver-colors-cyan-800);--silver-colors-surface-cyan-accent:var(--silver-colors-cyan-700);--silver-colors-surface-gray:var(--silver-colors-gray-800);--silver-colors-surface-gray-fg:var(--silver-colors-gray-100);--silver-colors-surface-gray-hover:var(--silver-colors-gray-700);--silver-colors-surface-gray-accent:var(--silver-colors-gray-400);--silver-colors-surface-green:var(--silver-colors-green-900);--silver-colors-surface-green-fg:var(--silver-colors-green-200);--silver-colors-surface-green-hover:var(--silver-colors-green-800);--silver-colors-surface-green-accent:var(--silver-colors-green-400);--silver-colors-surface-orange:var(--silver-colors-orange-900);--silver-colors-surface-orange-fg:var(--silver-colors-orange-200);--silver-colors-surface-orange-hover:var(--silver-colors-orange-800);--silver-colors-surface-orange-accent:var(--silver-colors-orange-700);--silver-colors-surface-pink:var(--silver-colors-pink-900);--silver-colors-surface-pink-fg:var(--silver-colors-pink-200);--silver-colors-surface-pink-hover:var(--silver-colors-pink-800);--silver-colors-surface-pink-accent:var(--silver-colors-pink-600);--silver-colors-surface-purple:var(--silver-colors-purple-900);--silver-colors-surface-purple-fg:var(--silver-colors-purple-200);--silver-colors-surface-purple-hover:var(--silver-colors-purple-800);--silver-colors-surface-purple-accent:var(--silver-colors-purple-500);--silver-colors-surface-red:var(--silver-colors-red-900);--silver-colors-surface-red-fg:var(--silver-colors-red-200);--silver-colors-surface-red-hover:var(--silver-colors-red-800);--silver-colors-surface-red-accent:var(--silver-colors-red-400);--silver-colors-surface-teal:var(--silver-colors-teal-900);--silver-colors-surface-teal-fg:var(--silver-colors-teal-300);--silver-colors-surface-teal-hover:var(--silver-colors-teal-800);--silver-colors-surface-teal-accent:var(--silver-colors-teal-700);--silver-colors-surface-yellow:var(--silver-colors-yellow-900);--silver-colors-surface-yellow-fg:var(--silver-colors-yellow-400);--silver-colors-surface-yellow-hover:var(--silver-colors-yellow-800);--silver-colors-surface-yellow-accent:var(--silver-colors-yellow-700);--silver-colors-icon-tertiary:var(--silver-colors-gray-500);--silver-colors-icon-disabled:var(--silver-colors-gray-600);--silver-colors-icon-blue:var(--silver-colors-blue-500);--silver-colors-icon-gray:var(--silver-colors-gray-200);--silver-colors-icon-cyan:var(--silver-colors-cyan-500);--silver-colors-icon-yellow:var(--silver-colors-yellow-200);--silver-colors-icon-pink:var(--silver-colors-pink-500);--silver-colors-icon-purple:var(--silver-colors-purple-500) }@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}@layer utilities{.silver---silver-text-color_token\(colors\.surface\.red\.fg\){--silver-text-color:var(--silver-colors-surface-red-fg)}.silver---silver-text-color-muted_token\(colors\.surface\.red\.fg\){--silver-text-color-muted:var(--silver-colors-surface-red-fg)}.silver---silver-text-color_token\(colors\.surface\.blue\.fg\){--silver-text-color:var(--silver-colors-surface-blue-fg)}.silver---silver-text-color-muted_token\(colors\.surface\.blue\.fg\){--silver-text-color-muted:var(--silver-colors-surface-blue-fg)}.silver---silver-text-color_token\(colors\.surface\.green\.fg\){--silver-text-color:var(--silver-colors-surface-green-fg)}.silver---silver-text-color-muted_token\(colors\.surface\.green\.fg\){--silver-text-color-muted:var(--silver-colors-surface-green-fg)}.silver---silver-text-color_token\(colors\.surface\.yellow\.fg\){--silver-text-color:var(--silver-colors-surface-yellow-fg)}.silver---silver-text-color-muted_token\(colors\.surface\.yellow\.fg\){--silver-text-color-muted:var(--silver-colors-surface-yellow-fg)}.silver---breadcrumb-separator-display_flex{--breadcrumb-separator-display:flex}.silver---button-icon-size_var\(--silver-sizes-icon-sm\){--button-icon-size:var(--silver-sizes-icon-sm)}.silver---button-icon-size_var\(--silver-sizes-icon-md\){--button-icon-size:var(--silver-sizes-icon-md)}.silver---button-icon-size_var\(--silver-sizes-icon-lg\){--button-icon-size:var(--silver-sizes-icon-lg)}.silver---card-padding_token\(spacing\.0\){--card-padding:var(--silver-spacing-0)}.silver---card-padding_token\(spacing\.1\){--card-padding:var(--silver-spacing-1)}.silver---card-padding_token\(spacing\.2\){--card-padding:var(--silver-spacing-2)}.silver---card-padding_token\(spacing\.3\){--card-padding:var(--silver-spacing-3)}.silver---card-padding_token\(spacing\.4\){--card-padding:var(--silver-spacing-4)}.silver---card-padding_token\(spacing\.5\){--card-padding:var(--silver-spacing-5)}.silver---card-padding_token\(spacing\.6\){--card-padding:var(--silver-spacing-6)}.silver---card-padding_token\(spacing\.8\){--card-padding:var(--silver-spacing-8)}.silver---card-padding_token\(spacing\.10\){--card-padding:var(--silver-spacing-10)}.silver---card-padding_token\(spacing\.0\.5\){--card-padding:var(--silver-spacing-0\.5)}.silver---card-padding_token\(spacing\.1\.5\){--card-padding:var(--silver-spacing-1\.5)}.silver---thickness_1px{--thickness:1px}.silver---schedule-event-bg_token\(colors\.surface\.blue\){--schedule-event-bg:var(--silver-colors-surface-blue)}.silver---schedule-event-bg-hover_token\(colors\.surface\.blue\.hover\){--schedule-event-bg-hover:var(--silver-colors-surface-blue-hover)}.silver---schedule-event-border_token\(colors\.surface\.blue\.accent\){--schedule-event-border:var(--silver-colors-surface-blue-accent)}.silver---schedule-event-fg_token\(colors\.surface\.blue\.fg\){--schedule-event-fg:var(--silver-colors-surface-blue-fg)}.silver---schedule-event-fg-base_token\(colors\.surface\.blue\.fg\){--schedule-event-fg-base:var(--silver-colors-surface-blue-fg)}.silver---schedule-event-dot_token\(colors\.surface\.blue\.accent\){--schedule-event-dot:var(--silver-colors-surface-blue-accent)}.silver---schedule-event-bg_token\(colors\.surface\.cyan\){--schedule-event-bg:var(--silver-colors-surface-cyan)}.silver---schedule-event-bg-hover_token\(colors\.surface\.cyan\.hover\){--schedule-event-bg-hover:var(--silver-colors-surface-cyan-hover)}.silver---schedule-event-border_token\(colors\.surface\.cyan\.accent\){--schedule-event-border:var(--silver-colors-surface-cyan-accent)}.silver---schedule-event-fg_token\(colors\.surface\.cyan\.fg\){--schedule-event-fg:var(--silver-colors-surface-cyan-fg)}.silver---schedule-event-fg-base_token\(colors\.surface\.cyan\.fg\){--schedule-event-fg-base:var(--silver-colors-surface-cyan-fg)}.silver---schedule-event-dot_token\(colors\.surface\.cyan\.accent\){--schedule-event-dot:var(--silver-colors-surface-cyan-accent)}.silver---schedule-event-bg_token\(colors\.surface\.gray\){--schedule-event-bg:var(--silver-colors-surface-gray)}.silver---schedule-event-bg-hover_token\(colors\.surface\.gray\.hover\){--schedule-event-bg-hover:var(--silver-colors-surface-gray-hover)}.silver---schedule-event-border_token\(colors\.surface\.gray\.accent\){--schedule-event-border:var(--silver-colors-surface-gray-accent)}.silver---schedule-event-fg_token\(colors\.surface\.gray\.fg\){--schedule-event-fg:var(--silver-colors-surface-gray-fg)}.silver---schedule-event-fg-base_token\(colors\.surface\.gray\.fg\){--schedule-event-fg-base:var(--silver-colors-surface-gray-fg)}.silver---schedule-event-dot_token\(colors\.surface\.gray\.accent\){--schedule-event-dot:var(--silver-colors-surface-gray-accent)}.silver---schedule-event-bg_token\(colors\.surface\.green\){--schedule-event-bg:var(--silver-colors-surface-green)}.silver---schedule-event-bg-hover_token\(colors\.surface\.green\.hover\){--schedule-event-bg-hover:var(--silver-colors-surface-green-hover)}.silver---schedule-event-border_token\(colors\.surface\.green\.accent\){--schedule-event-border:var(--silver-colors-surface-green-accent)}.silver---schedule-event-fg_token\(colors\.surface\.green\.fg\){--schedule-event-fg:var(--silver-colors-surface-green-fg)}.silver---schedule-event-fg-base_token\(colors\.surface\.green\.fg\){--schedule-event-fg-base:var(--silver-colors-surface-green-fg)}.silver---schedule-event-dot_token\(colors\.surface\.green\.accent\){--schedule-event-dot:var(--silver-colors-surface-green-accent)}.silver---schedule-event-bg_token\(colors\.surface\.orange\){--schedule-event-bg:var(--silver-colors-surface-orange)}.silver---schedule-event-bg-hover_token\(colors\.surface\.orange\.hover\){--schedule-event-bg-hover:var(--silver-colors-surface-orange-hover)}.silver---schedule-event-border_token\(colors\.surface\.orange\.accent\){--schedule-event-border:var(--silver-colors-surface-orange-accent)}.silver---schedule-event-fg_token\(colors\.surface\.orange\.fg\){--schedule-event-fg:var(--silver-colors-surface-orange-fg)}.silver---schedule-event-fg-base_token\(colors\.surface\.orange\.fg\){--schedule-event-fg-base:var(--silver-colors-surface-orange-fg)}.silver---schedule-event-dot_token\(colors\.surface\.orange\.accent\){--schedule-event-dot:var(--silver-colors-surface-orange-accent)}.silver---schedule-event-bg_token\(colors\.surface\.pink\){--schedule-event-bg:var(--silver-colors-surface-pink)}.silver---schedule-event-bg-hover_token\(colors\.surface\.pink\.hover\){--schedule-event-bg-hover:var(--silver-colors-surface-pink-hover)}.silver---schedule-event-border_token\(colors\.surface\.pink\.accent\){--schedule-event-border:var(--silver-colors-surface-pink-accent)}.silver---schedule-event-fg_token\(colors\.surface\.pink\.fg\){--schedule-event-fg:var(--silver-colors-surface-pink-fg)}.silver---schedule-event-fg-base_token\(colors\.surface\.pink\.fg\){--schedule-event-fg-base:var(--silver-colors-surface-pink-fg)}.silver---schedule-event-dot_token\(colors\.surface\.pink\.accent\){--schedule-event-dot:var(--silver-colors-surface-pink-accent)}.silver---schedule-event-bg_token\(colors\.surface\.purple\){--schedule-event-bg:var(--silver-colors-surface-purple)}.silver---schedule-event-bg-hover_token\(colors\.surface\.purple\.hover\){--schedule-event-bg-hover:var(--silver-colors-surface-purple-hover)}.silver---schedule-event-border_token\(colors\.surface\.purple\.accent\){--schedule-event-border:var(--silver-colors-surface-purple-accent)}.silver---schedule-event-fg_token\(colors\.surface\.purple\.fg\){--schedule-event-fg:var(--silver-colors-surface-purple-fg)}.silver---schedule-event-fg-base_token\(colors\.surface\.purple\.fg\){--schedule-event-fg-base:var(--silver-colors-surface-purple-fg)}.silver---schedule-event-dot_token\(colors\.surface\.purple\.accent\){--schedule-event-dot:var(--silver-colors-surface-purple-accent)}.silver---schedule-event-bg_token\(colors\.surface\.red\){--schedule-event-bg:var(--silver-colors-surface-red)}.silver---schedule-event-bg-hover_token\(colors\.surface\.red\.hover\){--schedule-event-bg-hover:var(--silver-colors-surface-red-hover)}.silver---schedule-event-border_token\(colors\.surface\.red\.accent\){--schedule-event-border:var(--silver-colors-surface-red-accent)}.silver---schedule-event-fg_token\(colors\.surface\.red\.fg\){--schedule-event-fg:var(--silver-colors-surface-red-fg)}.silver---schedule-event-fg-base_token\(colors\.surface\.red\.fg\){--schedule-event-fg-base:var(--silver-colors-surface-red-fg)}.silver---schedule-event-dot_token\(colors\.surface\.red\.accent\){--schedule-event-dot:var(--silver-colors-surface-red-accent)}.silver---schedule-event-bg_token\(colors\.surface\.teal\){--schedule-event-bg:var(--silver-colors-surface-teal)}.silver---schedule-event-bg-hover_token\(colors\.surface\.teal\.hover\){--schedule-event-bg-hover:var(--silver-colors-surface-teal-hover)}.silver---schedule-event-border_token\(colors\.surface\.teal\.accent\){--schedule-event-border:var(--silver-colors-surface-teal-accent)}.silver---schedule-event-fg_token\(colors\.surface\.teal\.fg\){--schedule-event-fg:var(--silver-colors-surface-teal-fg)}.silver---schedule-event-fg-base_token\(colors\.surface\.teal\.fg\){--schedule-event-fg-base:var(--silver-colors-surface-teal-fg)}.silver---schedule-event-dot_token\(colors\.surface\.teal\.accent\){--schedule-event-dot:var(--silver-colors-surface-teal-accent)}.silver---schedule-event-bg_token\(colors\.surface\.yellow\){--schedule-event-bg:var(--silver-colors-surface-yellow)}.silver---schedule-event-bg-hover_token\(colors\.surface\.yellow\.hover\){--schedule-event-bg-hover:var(--silver-colors-surface-yellow-hover)}.silver---schedule-event-border_token\(colors\.surface\.yellow\.accent\){--schedule-event-border:var(--silver-colors-surface-yellow-accent)}.silver---schedule-event-fg_token\(colors\.surface\.yellow\.fg\){--schedule-event-fg:var(--silver-colors-surface-yellow-fg)}.silver---schedule-event-fg-base_token\(colors\.surface\.yellow\.fg\){--schedule-event-fg-base:var(--silver-colors-surface-yellow-fg)}.silver---schedule-event-dot_token\(colors\.surface\.yellow\.accent\){--schedule-event-dot:var(--silver-colors-surface-yellow-accent)}.silver---schedule-event-bg_color-mix\(in_srgb\,_var\(--schedule-event-dot\)_10\%\,_token\(colors\.bg\)\){--schedule-event-bg:color-mix(in srgb,var(--schedule-event-dot) 10%,var(--silver-colors-bg))}.silver---schedule-event-bg-hover_color-mix\(in_srgb\,_var\(--schedule-event-dot\)_14\%\,_token\(colors\.bg\)\){--schedule-event-bg-hover:color-mix(in srgb,var(--schedule-event-dot) 14%,var(--silver-colors-bg))}.silver---schedule-event-border_color-mix\(in_srgb\,_var\(--schedule-event-dot\)_48\%\,_token\(colors\.border\)\){--schedule-event-border:color-mix(in srgb,var(--schedule-event-dot) 48%,var(--silver-colors-border))}.silver---schedule-event-fg_color-mix\(in_srgb\,_var\(--schedule-event-fg-base\)_52\%\,_token\(colors\.fg\.muted\)\){--schedule-event-fg:color-mix(in srgb,var(--schedule-event-fg-base) 52%,var(--silver-colors-fg-muted))}.silver---spinner-size_var\(--silver-sizes-icon-md\){--spinner-size:var(--silver-sizes-icon-md)}.silver---spinner-size_var\(--silver-sizes-icon-sm\){--spinner-size:var(--silver-sizes-icon-sm)}.silver---spinner-size_var\(--silver-sizes-icon-lg\){--spinner-size:var(--silver-sizes-icon-lg)}.silver---spinner-size_2\.25rem{--spinner-size:2.25rem}.silver---silver-text-color_currentColor{--silver-text-color:currentColor}.silver---silver-text-color-muted_color-mix\(in_srgb\,_currentColor_70\%\,_transparent\){--silver-text-color-muted:color-mix(in srgb,currentColor 70%,transparent)}.silver-p_0{padding:var(--silver-spacing-0)}.silver-m_-1px{margin:-1px}.silver-m_0{margin:var(--silver-spacing-0)}.silver-bg_transparent{background:var(--silver-colors-transparent)}.silver-p_4{padding:var(--silver-spacing-4)}.silver-bg_surface\.red{background:var(--silver-colors-surface-red)}.silver-bg_surface\.blue{background:var(--silver-colors-surface-blue)}.silver-bg_surface\.green{background:var(--silver-colors-surface-green)}.silver-bg_surface\.yellow{background:var(--silver-colors-surface-yellow)}.silver-bg_bg{background:var(--silver-colors-bg)}.silver-p_6{padding:var(--silver-spacing-6)}.silver-bg_bg\.subtle{background:var(--silver-colors-bg-subtle)}.silver-inset_0{inset:var(--silver-spacing-0)}.silver-p_1{padding:var(--silver-spacing-1)}.silver-p_2{padding:var(--silver-spacing-2)}.silver-p_3{padding:var(--silver-spacing-3)}.silver-bg_presence\.success{background:var(--silver-colors-presence-success)}.silver-bg_presence\.neutral{background:var(--silver-colors-presence-neutral)}.silver-bg_presence\.error{background:var(--silver-colors-presence-error)}.silver-bg_surface\.gray{background:var(--silver-colors-surface-gray)}.silver-bg_status\.info\.solid{background:var(--silver-colors-status-info-solid)}.silver-bg_status\.success\.solid{background:var(--silver-colors-status-success-solid)}.silver-bg_status\.warning\.solid{background:var(--silver-colors-status-warning-solid)}.silver-bg_status\.error\.solid{background:var(--silver-colors-status-error-solid)}.silver-bg_surface\.cyan{background:var(--silver-colors-surface-cyan)}.silver-bg_surface\.orange{background:var(--silver-colors-surface-orange)}.silver-bg_surface\.pink{background:var(--silver-colors-surface-pink)}.silver-bg_surface\.purple{background:var(--silver-colors-surface-purple)}.silver-bg_surface\.teal{background:var(--silver-colors-surface-teal)}.silver-font_inherit{font:inherit}.silver-bg_primary{background:var(--silver-colors-primary)}.silver-bg_destructive{background:var(--silver-colors-destructive)}.silver-bg_green{background:green}.silver-bg_orange{background:orange}.silver-bg_bg\.selected{background:var(--silver-colors-bg-selected)}.silver-p_5{padding:var(--silver-spacing-5)}.silver-p_8{padding:var(--silver-spacing-8)}.silver-p_10{padding:var(--silver-spacing-10)}.silver-p_0\.5{padding:var(--silver-spacing-0\.5)}.silver-p_1\.5{padding:var(--silver-spacing-1\.5)}.silver-m_auto{margin:auto}.silver-bg_border{background:var(--silver-colors-border)}.silver-bg_border\.emphasized{background:var(--silver-colors-border-emphasized)}.silver-bg_overlay\.scrim{background:var(--silver-colors-overlay-scrim)}.silver-bd_0{border:0}.silver-bg_none{background:none}.silver-bg_fg{background:var(--silver-colors-fg)}.silver-bg_bg\.hover{background:var(--silver-colors-bg-hover)}.silver-bg_status\.neutral\.solid{background:var(--silver-colors-status-neutral-solid)}.silver-bg_status\.disabled\.solid{background:var(--silver-colors-status-disabled-solid)}.silver-anim_pulse_1\.5s_ease-in-out_infinite{animation:pulse 1.5s ease-in-out infinite}.silver-bg_fg\.onPrimary{background:var(--silver-colors-fg-on-primary)}.silver-m_0\.5{margin:var(--silver-spacing-0\.5)}.silver-bg_var\(--schedule-event-bg\){background:var(--schedule-event-bg)}.silver-bg_var\(--schedule-event-dot\){background:var(--schedule-event-dot)}.silver-bg_surface\.orange\.accent{background:var(--silver-colors-surface-orange-accent)}.silver-bg_inherit{background:inherit}.silver-bg_skeleton{background:var(--silver-colors-skeleton)}.silver-anim_skeleton-shimmer_1\.4s_ease-in-out_infinite{animation:skeleton-shimmer 1.4s ease-in-out infinite}.silver-bg_track\.disabled{background:var(--silver-colors-track-disabled)}.silver-bg_track{background:var(--silver-colors-track)}.silver-anim_spin_0\.8s_linear_infinite{animation:spin .8s linear infinite}.silver-bg_track\.emphasized{background:var(--silver-colors-track-emphasized)}.silver-bg_overlay\.scrim\.subtle{background:var(--silver-colors-overlay-scrim-subtle)}.silver-inset_unset{inset:unset}.silver-ov_hidden{overflow:hidden}.silver-flex_1_1_0{flex:1 1 0}.silver-bd-w_0{border-width:0}.silver-border-style_none{border-style:none}.silver-bd-c_transparent{border-color:var(--silver-colors-transparent)}.silver-ov_visible{overflow:visible}.silver-gap_3{gap:var(--silver-spacing-3)}.silver-py_0{padding-block:var(--silver-spacing-0)}.silver-gap_2{gap:var(--silver-spacing-2)}.silver-px_4{padding-inline:var(--silver-spacing-4)}.silver-py_3{padding-block:var(--silver-spacing-3)}.silver-flex_1{flex:1 1 0%}.silver-bd-c_border{border-color:var(--silver-colors-border)}.silver-bd-x-w_default{border-inline-width:var(--silver-border-widths-default)}.silver-border-style_solid{border-style:solid}.silver-px_0{padding-inline:var(--silver-spacing-0)}.silver-px_1{padding-inline:var(--silver-spacing-1)}.silver-py_1{padding-block:var(--silver-spacing-1)}.silver-px_2{padding-inline:var(--silver-spacing-2)}.silver-py_2{padding-block:var(--silver-spacing-2)}.silver-px_3{padding-inline:var(--silver-spacing-3)}.silver-py_4{padding-block:var(--silver-spacing-4)}.silver-px_5{padding-inline:var(--silver-spacing-5)}.silver-py_5{padding-block:var(--silver-spacing-5)}.silver-px_6{padding-inline:var(--silver-spacing-6)}.silver-py_6{padding-block:var(--silver-spacing-6)}.silver-px_8{padding-inline:var(--silver-spacing-8)}.silver-py_8{padding-block:var(--silver-spacing-8)}.silver-px_10{padding-inline:var(--silver-spacing-10)}.silver-py_10{padding-block:var(--silver-spacing-10)}.silver-px_0\.5{padding-inline:var(--silver-spacing-0\.5)}.silver-py_0\.5{padding-block:var(--silver-spacing-0\.5)}.silver-px_1\.5{padding-inline:var(--silver-spacing-1\.5)}.silver-py_1\.5{padding-block:var(--silver-spacing-1\.5)}.silver-cq_card{container:card}.silver-cq_section{container:section}.silver-td_none{text-decoration:none}.silver-ov_clip{overflow:clip}.silver-gap_0\.5{gap:var(--silver-spacing-0\.5)}.silver-bdr_md{border-radius:var(--silver-radii-md)}.silver-py_2\.5{padding-block:var(--silver-spacing-2\.5)}.silver-gap_1{gap:var(--silver-spacing-1)}.silver-my_-1{margin-block:calc(var(--silver-spacing-1) * -1)}.silver-ring_none{outline:var(--silver-borders-none)}.silver-bdr_full{border-radius:var(--silver-radii-full)}.silver-bd-w_emphasized{border-width:var(--silver-border-widths-emphasized)}.silver-bd-c_bg{border-color:var(--silver-colors-bg)}.silver-bd-w_2px{border-width:2px}.silver-gap_1\.5{gap:var(--silver-spacing-1\.5)}.silver-px_2\.5{padding-inline:var(--silver-spacing-2\.5)}.silver-li-s_none{list-style:none}.silver-px_component\.sm{padding-inline:var(--silver-spacing-component-sm)}.silver-bdr_component\.sm{border-radius:var(--silver-radii-component-sm)}.silver-px_component\.md{padding-inline:var(--silver-spacing-component-md)}.silver-bdr_component\.md{border-radius:var(--silver-radii-component-md)}.silver-px_component\.lg{padding-inline:var(--silver-spacing-component-lg)}.silver-gap_2\.5{gap:var(--silver-spacing-2\.5)}.silver-bdr_component\.lg{border-radius:var(--silver-radii-component-lg)}.silver-py_0\.25em{padding-block:.25em}.silver-bdr_lg{border-radius:var(--silver-radii-lg)}.silver-gap_4{gap:var(--silver-spacing-4)}.silver-inset-y_2px{inset-block:2px}.silver-inset-x_0{inset-inline:var(--silver-spacing-0)}.silver-bd-w_default{border-width:var(--silver-border-widths-default)}.silver-bdr_0{border-radius:0}.silver-gap_0{gap:var(--silver-spacing-0)}.silver-bd-c_border\.emphasized{border-color:var(--silver-colors-border-emphasized)}.silver-bdr_sm{border-radius:var(--silver-radii-sm)}.silver-bd-c_primary{border-color:var(--silver-colors-primary)}.silver-ov_auto{overflow:auto}.silver-cq_inline{container:inline}.silver-place-items_center{place-items:center}.silver-bd-w_1{border-width:1px}.silver-border-style_dashed{border-style:dashed}.silver-ovs-b_contain{overscroll-behavior:contain}.silver-flex_1_1_auto{flex:1 1 auto}.silver-bdr_inherit{border-radius:inherit}.silver-mx_calc\(-1_\*_var\(--card-padding\,_0px\)\){margin-inline:calc(-1 * var(--card-padding, 0px))}.silver-my_calc\(-1_\*_var\(--card-padding\,_0px\)\){margin-block:calc(-1 * var(--card-padding, 0px))}.silver-my_1{margin-block:var(--silver-spacing-1)}.silver-bd-c_status\.warning\.border{border-color:var(--silver-colors-status-warning-border)}.silver-bd-c_status\.error\.border{border-color:var(--silver-colors-status-error-border)}.silver-bd-c_status\.success\.border{border-color:var(--silver-colors-status-success-border)}.silver-gap_6{gap:var(--silver-spacing-6)}.silver-td_underline{text-decoration:underline}.silver-bd-c_fg{border-color:var(--silver-colors-fg)}.silver-li-s_decimal{list-style:decimal}.silver-li-s_circle{list-style:circle}.silver-bd-c_fg\.muted{border-color:var(--silver-colors-fg-muted)}.silver-grid-c_1_\/_-1{grid-column:1/-1}.silver-mx_0\.5{margin-inline:var(--silver-spacing-0\.5)}.silver-bd-c_var\(--schedule-event-border\){border-color:var(--schedule-event-border)}.silver-tw_nowrap{text-wrap:nowrap}.silver-flex_1_0_auto{flex:1 0 auto}.silver-flex_2_1_0{flex:2 1 0}.silver-flex_0_0_200px{flex:0 0 200px}.silver-flex_0_0_180px{flex:0 0 180px}.silver-flex_none{flex:none}.silver-bdr_xs{border-radius:var(--silver-radii-xs)}.silver-inset-y_0{inset-block:var(--silver-spacing-0)}.silver-bd-c_currentColor{border-color:currentColor}.silver-gap_8px{gap:8px}.silver-gap_inherit{gap:inherit}.silver-flex_1_1_40px{flex:1 1 40px}.silver-tw_wrap{text-wrap:wrap}.silver-tw_balance{text-wrap:balance}.silver-tw_pretty{text-wrap:pretty}.silver-td_line-through{text-decoration:line-through}.silver-gap_5{gap:var(--silver-spacing-5)}.silver-flex_1_1_0\%{flex:1 1 0%}.silver-my_2{margin-block:var(--silver-spacing-2)}.silver-gap_8{gap:var(--silver-spacing-8)}.silver-gap_10{gap:var(--silver-spacing-10)}.silver-bd-c_status\.error\.solid{border-color:var(--silver-colors-status-error-solid)}.silver-trs_background-color_0\.2s\,_color_0\.2s{transition:background-color .2s,color .2s}.silver-d_contents{display:contents}.silver-d_inline{display:inline}.silver-text-decoration-line_underline{text-decoration-line:underline}.silver-td-s_dashed{text-decoration-style:dashed}.silver-td-c_fg\.muted{text-decoration-color:var(--silver-colors-fg-muted)}.silver-tu-o_2px{text-underline-offset:2px}.silver-d_flex{display:flex}.silver-ai_center{align-items:center}.silver-white-space_nowrap{white-space:nowrap}.silver-pos_absolute{position:absolute}.silver-vis_hidden{visibility:hidden}.silver-pointer-events_none{pointer-events:none}.silver-d_inline-flex{display:inline-flex}.silver-cp-path_inset\(50\%\){clip-path:inset(50%);-webkit-clip-path:inset(50%)}.silver-flex-d_column{flex-direction:column}.silver-jc_space-between{justify-content:space-between}.silver-cursor_pointer{cursor:pointer}.silver-ff_body{font-family:var(--silver-fonts-body)}.silver-fs_lg{font-size:var(--silver-font-sizes-lg)}.silver-fw_semibold{font-weight:var(--silver-font-weights-semibold)}.silver-c_fg{color:var(--silver-colors-fg)}.silver-ta_start{text-align:start}.silver-jc_center{justify-content:center}.silver-flex-sh_0{flex-shrink:0}.silver-trs-prop_transform{--transition-prop:transform;transition-property:transform}.silver-trs-dur_fast{--transition-duration:var(--silver-durations-fast);transition-duration:var(--silver-durations-fast)}.silver-trs-tmf_default{--transition-easing:var(--silver-easings-default);transition-timing-function:var(--silver-easings-default)}.silver-c_fg\.muted{color:var(--silver-colors-fg-muted)}.silver-trf_rotate\(180deg\){transform:rotate(180deg)}.silver-d_grid{display:grid}.silver-grid-tr_1fr{grid-template-rows:1fr}.silver-trs-prop_grid-template-rows\,_visibility{--transition-prop:grid-template-rows,visibility;transition-property:grid-template-rows,visibility}.silver-trs-dur_normal{--transition-duration:var(--silver-durations-normal);transition-duration:var(--silver-durations-normal)}.silver-grid-tr_0fr{grid-template-rows:0fr}.silver-ai_flex-start{align-items:flex-start}.silver-c_surface\.red\.fg{color:var(--silver-colors-surface-red-fg)}.silver-c_surface\.blue\.fg{color:var(--silver-colors-surface-blue-fg)}.silver-c_surface\.green\.fg{color:var(--silver-colors-surface-green-fg)}.silver-c_surface\.yellow\.fg{color:var(--silver-colors-surface-yellow-fg)}.silver-bdr-t_lg{border-top-left-radius:var(--silver-radii-lg);border-top-right-radius:var(--silver-radii-lg)}.silver-bdr-b_lg{border-bottom-left-radius:var(--silver-radii-lg);border-bottom-right-radius:var(--silver-radii-lg)}.silver-ms_auto{margin-inline-start:auto}.silver-bd-be-w_default{border-block-end-width:var(--silver-border-widths-default)}.silver-c_accent{color:accent}.silver-c_error{color:error}.silver-c_info{color:info}.silver-c_success{color:success}.silver-c_warning{color:warning}.silver-c_secondary{color:secondary}.silver-pos_relative{position:relative}.silver-inset-s_0{inset-inline-start:var(--silver-spacing-0)}.silver-z_9999{z-index:9999}.silver-c_primary{color:var(--silver-colors-primary)}.silver-pos_sticky{position:sticky}.silver-z_1{z-index:1}.silver-bdr-ss_2xl{border-start-start-radius:var(--silver-radii-2xl)}.silver-isolation_isolate{isolation:isolate}.silver-ta_center{text-align:center}.silver-op_0\.55{opacity:.55}.silver-fw_medium{font-weight:var(--silver-font-weights-medium)}.silver-cursor_text{cursor:text}.silver-flex-wrap_wrap{flex-wrap:wrap}.silver-ms_-1{margin-inline-start:calc(var(--silver-spacing-1) * -1)}.silver-op_0{opacity:0}.silver-flex-b_0{flex-basis:var(--silver-sizes-0)}.silver-c_inherit{color:inherit}.silver-d_block{display:block}.silver-fs_md{font-size:var(--silver-font-sizes-md)}.silver-lh_normal{line-height:var(--silver-line-heights-normal)}.silver-va_middle{vertical-align:middle}.silver-bx-s_content-box{box-sizing:content-box}.silver-us_none{-webkit-user-select:none;user-select:none}.silver-obj-f_cover{object-fit:cover}.silver-tt_uppercase{text-transform:uppercase}.silver-c_fg\.onPrimary{color:var(--silver-colors-fg-on-primary)}.silver-lh_0{line-height:0}.silver-lh_none{line-height:var(--silver-line-heights-none)}.silver-fs_sm{font-size:var(--silver-font-sizes-sm)}.silver-c_status\.info\.solidFg{color:var(--silver-colors-status-info-solid-fg)}.silver-c_status\.success\.solidFg{color:var(--silver-colors-status-success-solid-fg)}.silver-c_status\.warning\.solidFg{color:var(--silver-colors-status-warning-solid-fg)}.silver-c_status\.error\.solidFg{color:var(--silver-colors-status-error-solid-fg)}.silver-c_surface\.cyan\.fg{color:var(--silver-colors-surface-cyan-fg)}.silver-c_surface\.orange\.fg{color:var(--silver-colors-surface-orange-fg)}.silver-c_surface\.pink\.fg{color:var(--silver-colors-surface-pink-fg)}.silver-c_surface\.purple\.fg{color:var(--silver-colors-surface-purple-fg)}.silver-c_surface\.teal\.fg{color:var(--silver-colors-surface-teal-fg)}.silver-flex-d_row{flex-direction:row}.silver-bd-s-w_emphasized{border-inline-start-width:var(--silver-border-widths-emphasized)}.silver-border-inline-start-style_solid{border-inline-start-style:solid}.silver-bd-s-c_border\.emphasized{border-inline-start-color:var(--silver-colors-border-emphasized)}.silver-ps_4{padding-inline-start:var(--silver-spacing-4)}.silver-font-style_normal{font-style:normal}.silver-fs_xs{font-size:var(--silver-font-sizes-xs)}.silver-d_var\(--breadcrumb-separator-display\){display:var(--breadcrumb-separator-display)}.silver-trs-prop_background-color\,_color\,_opacity\,_transform{--transition-prop:background-color,color,opacity,transform;transition-property:background-color,color,opacity,transform}.silver-lh_tight{line-height:var(--silver-line-heights-tight)}.silver-c_destructive\.fg{color:var(--silver-colors-destructive-fg)}.silver-fs_component\.sm{font-size:var(--silver-font-sizes-component-sm)}.silver-fs_component\.md{font-size:var(--silver-font-sizes-component-md)}.silver-fs_component\.lg{font-size:var(--silver-font-sizes-component-lg)}.silver-asp_square{aspect-ratio:var(--silver-aspect-ratios-square)}.silver-tov_ellipsis{text-overflow:ellipsis}.silver-sr_true{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.silver-ai_stretch{align-items:stretch}.silver-d_inline-block{display:inline-block}.silver-grid-tc_repeat\(7\,_1fr\){grid-template-columns:repeat(7,1fr)}.silver-grid-tc_auto_repeat\(7\,_1fr\){grid-template-columns:auto repeat(7,1fr)}.silver-ff_inherit{font-family:inherit}.silver-trs-prop_background-color\,_color{--transition-prop:background-color,color;transition-property:background-color,color}.silver-op_0\.35{opacity:.35}.silver-cursor_not-allowed{cursor:not-allowed}.silver-bx-sh_inset_0_0_0_1px_token\(colors\.border\.emphasized\){box-shadow:inset 0 0 0 1px var(--silver-colors-border-emphasized)}.silver-c_blue{color:#00f}.silver-c_green{color:green}.silver-bd-be-w_var\(--thickness\){border-block-end-width:var(--thickness)}.silver-jc_between{justify-content:between}.silver-jc_end{justify-content:end}.silver-fw_normal{font-weight:var(--silver-font-weights-normal)}.silver-ps_2\.5{padding-inline-start:var(--silver-spacing-2\.5)}.silver-border-block-end-style_solid{border-block-end-style:solid}.silver-bd-be-c_border{border-block-end-color:var(--silver-colors-border)}.silver-ff_mono{font-family:var(--silver-fonts-mono)}.silver-pe_3{padding-inline-end:var(--silver-spacing-3)}.silver-bd-e-w_default{border-inline-end-width:var(--silver-border-widths-default)}.silver-border-inline-end-style_solid{border-inline-end-style:solid}.silver-bd-e-c_border{border-inline-end-color:var(--silver-colors-border)}.silver-ta_end{text-align:end}.silver-lh_1\.5rem{line-height:1.5rem}.silver-tab-size_2{-moz-tab-size:2;tab-size:2}.silver-white-space_pre{white-space:pre}.silver-wb_normal{word-break:normal}.silver-ov-wrap_normal{overflow-wrap:normal}.silver-white-space_pre-wrap{white-space:pre-wrap}.silver-wb_break-word{word-break:break-word}.silver-ov-wrap_anywhere{overflow-wrap:anywhere}.silver-pe_12{padding-inline-end:var(--silver-spacing-12)}.silver-as_stretch{align-self:stretch}.silver-ms_1\.5{margin-inline-start:var(--silver-spacing-1\.5)}.silver-bd-e-w_var\(--thickness\){border-inline-end-width:var(--thickness)}.silver-d_none{display:none}.silver-bx-sh_lg{box-shadow:var(--silver-shadows-lg)}.silver-ps_1{padding-inline-start:var(--silver-spacing-1)}.silver-grid-tc_minmax\(0\,_1fr\)_minmax\(0\,_0\.75fr\){grid-template-columns:minmax(0,1fr) minmax(0,.75fr)}.silver-pos_fixed{position:fixed}.silver-bx-sh_xl{box-shadow:var(--silver-shadows-xl)}.silver-me_auto{margin-inline-end:auto}.silver-bd-s-w_default{border-inline-start-width:var(--silver-border-widths-default)}.silver-bd-s-c_border{border-inline-start-color:var(--silver-colors-border)}.silver-bd-bs-w_default{border-block-start-width:var(--silver-border-widths-default)}.silver-border-block-start-style_solid{border-block-start-style:solid}.silver-bd-bs-c_border{border-block-start-color:var(--silver-colors-border)}.silver-c_fg\.disabled{color:var(--silver-colors-fg-disabled)}.silver-bdr-b_md{border-bottom-left-radius:var(--silver-radii-md);border-bottom-right-radius:var(--silver-radii-md)}.silver-trs-prop_border-color\,_box-shadow\,_opacity{--transition-prop:border-color,box-shadow,opacity;transition-property:border-color,box-shadow,opacity}.silver-content_Details{content:Details}.silver-c_icon\.primary{color:var(--silver-colors-icon-primary)}.silver-c_icon\.secondary{color:var(--silver-colors-icon-secondary)}.silver-c_icon\.tertiary{color:var(--silver-colors-icon-tertiary)}.silver-c_icon\.disabled{color:var(--silver-colors-icon-disabled)}.silver-c_icon\.accent{color:var(--silver-colors-icon-accent)}.silver-c_icon\.success{color:var(--silver-colors-icon-success)}.silver-c_icon\.error{color:var(--silver-colors-icon-error)}.silver-c_icon\.warning{color:var(--silver-colors-icon-warning)}.silver-c_icon\.info{color:var(--silver-colors-icon-info)}.silver-c_currentColor{color:currentColor}.silver-c_icon\.blue{color:var(--silver-colors-icon-blue)}.silver-c_icon\.red{color:var(--silver-colors-icon-red)}.silver-c_icon\.green{color:var(--silver-colors-icon-green)}.silver-c_icon\.gray{color:var(--silver-colors-icon-gray)}.silver-c_icon\.cyan{color:var(--silver-colors-icon-cyan)}.silver-c_icon\.teal{color:var(--silver-colors-icon-teal)}.silver-c_icon\.yellow{color:var(--silver-colors-icon-yellow)}.silver-c_icon\.orange{color:var(--silver-colors-icon-orange)}.silver-c_icon\.pink{color:var(--silver-colors-icon-pink)}.silver-c_icon\.purple{color:var(--silver-colors-icon-purple)}.silver-grid-tc_repeat\(auto-fit\,_minmax\(120px\,_1fr\)\){grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.silver-stk-w_1\.5{stroke-width:1.5}.silver-stk-w_2{stroke-width:2}.silver-trs-prop_background-color{--transition-prop:background-color;transition-property:background-color}.silver-cursor_inherit{cursor:inherit}.silver-op_0\.5{opacity:.5}.silver-va_bottom{vertical-align:bottom}.silver-fs_2xs{font-size:var(--silver-font-sizes-2xs)}.silver-ai_flex-end{align-items:flex-end}.silver-me_-2{margin-inline-end:calc(var(--silver-spacing-2) * -1)}.silver-mbs_-2{margin-block-start:calc(var(--silver-spacing-2) * -1)}.silver-jc_flex-end{justify-content:flex-end}.silver-cursor_zoom-in{cursor:zoom-in}.silver-cursor_grab{cursor:grab}.silver-cursor_grabbing{cursor:grabbing}.silver-obj-f_contain{object-fit:contain}.silver-trs-prop_none{--transition-prop:none;transition-property:none}.silver-trf_translateY\(-50\%\){transform:translateY(-50%)}.silver-ap_none{-moz-appearance:none;appearance:none;-webkit-appearance:none}.silver-fw_inherit{font-weight:inherit}.silver-ta_inherit{text-align:inherit}.silver-trs-prop_color\,_text-decoration-color\,_opacity{--transition-prop:color,text-decoration-color,opacity;transition-property:color,text-decoration-color,opacity}.silver-fs_xl{font-size:var(--silver-font-sizes-xl)}.silver-fs_2xl{font-size:var(--silver-font-sizes-2xl)}.silver-fs_3xl{font-size:var(--silver-font-sizes-3xl)}.silver-fs_4xl{font-size:var(--silver-font-sizes-4xl)}.silver-fs_5xl{font-size:var(--silver-font-sizes-5xl)}.silver-fs_6xl{font-size:var(--silver-font-sizes-6xl)}.silver-fs_inherit{font-size:inherit}.silver-fw_bold{font-weight:var(--silver-font-weights-bold)}.silver-c_active{color:active}.silver-c_disabled{color:disabled}.silver-fs_0\.875em{font-size:.875em}.silver-lh_1{line-height:1}.silver-li-t_none{list-style-type:none}.silver-counter-reset_silver-list{counter-reset:silver-list}.silver-counter-increment_silver-list{counter-increment:silver-list}.silver-as_baseline{align-self:baseline}.silver-lh_1\.5{line-height:1.5}.silver-inset-s_4{inset-inline-start:var(--silver-spacing-4)}.silver-inset-s_3{inset-inline-start:var(--silver-spacing-3)}.silver-grid-tc_auto_1fr{grid-template-columns:auto 1fr}.silver-rg_3{row-gap:var(--silver-spacing-3)}.silver-cg_4{column-gap:var(--silver-spacing-4)}.silver-ai_start{align-items:start}.silver-grid-tc_1fr{grid-template-columns:1fr}.silver-pbs_2px{padding-block-start:2px}.silver-ov-wrap_break-word{overflow-wrap:break-word}.silver-page_3{page:3px}.silver-page_1{page:1px}.silver-page_5{page:5px}.silver-page_10{page:10px}.silver-page_0{page:0}.silver-ai_baseline{align-items:baseline}.silver-trs-prop_width{--transition-prop:width;transition-property:width}.silver-trs-dur_0s{--transition-duration:0s;transition-duration:0s}.silver-rg_0{row-gap:var(--silver-spacing-0)}.silver-cursor_default{cursor:default}.silver-clip_rect\(0\,_0\,_0\,_0\){clip:rect(0,0,0,0)}.silver-fill_currentColor{fill:currentColor}.silver-fill_none{fill:none}.silver-c_yellow{color:#ff0}.silver-grid-tc_112px_minmax\(0\,_1fr\){grid-template-columns:112px minmax(0,1fr)}.silver-cg_3{column-gap:var(--silver-spacing-3)}.silver-bd-be-w_0{border-block-end-width:0}.silver-jc_flex-start{justify-content:flex-start}.silver-grid-tc_160px_minmax\(0\,_1fr\){grid-template-columns:160px minmax(0,1fr)}.silver-op_0\.64{opacity:.64}.silver-justify-self_start{justify-self:start}.silver-grid-tc_repeat\(7\,_minmax\(0\,_1fr\)\){grid-template-columns:repeat(7,minmax(0,1fr))}.silver-bd-e-w_0{border-inline-end-width:0}.silver-me_1px{margin-inline-end:1px}.silver-grid-ar_var\(--schedule-month-row-height\){grid-auto-rows:var(--schedule-month-row-height)}.silver-as_start{align-self:start}.silver-pointer-events_auto{pointer-events:auto}.silver-z_2{z-index:2}.silver-grid-tc_1fr_auto_1fr{grid-template-columns:1fr auto 1fr}.silver-ms_4px{margin-inline-start:4px}.silver-mbs_4px{margin-block-start:4px}.silver-c_var\(--schedule-event-fg\){color:var(--schedule-event-fg)}.silver-grid-tc_72px_1fr{grid-template-columns:72px 1fr}.silver-grid-tc_repeat\(var\(--schedule-day-count\)\,_minmax\(160px\,_1fr\)\){grid-template-columns:repeat(var(--schedule-day-count),minmax(160px,1fr))}.silver-lh_30px{line-height:30px}.silver-trf_translateY\(2px\){transform:translateY(2px)}.silver-z_20{z-index:20}.silver-ps_3{padding-inline-start:var(--silver-spacing-3)}.silver-trs-prop_background-color\,_color\,_box-shadow{--transition-prop:background-color,color,box-shadow;transition-property:background-color,color,box-shadow}.silver-bx-sh_sm{box-shadow:var(--silver-shadows-sm)}.silver-flex-d_column-reverse{flex-direction:column-reverse}.silver-ms_0{margin-inline-start:var(--silver-spacing-0)}.silver-fs_var\(--silver-sizes-icon-md\){font-size:var(--silver-sizes-icon-md)}.silver-trs-prop_grid-template-rows{--transition-prop:grid-template-rows;transition-property:grid-template-rows}.silver-ps_6{padding-inline-start:var(--silver-spacing-6)}.silver-bg-i_linear-gradient\(90deg\,_token\(colors\.skeleton\)_0\%\,_token\(colors\.skeleton\.shimmer\)_50\%\,_token\(colors\.skeleton\)_100\%\){background-image:linear-gradient(90deg,var(--silver-colors-skeleton) 0%,var(--silver-colors-skeleton-shimmer) 50%,var(--silver-colors-skeleton) 100%)}.silver-bg-s_200\%_100\%{background-size:200% 100%}.silver-trf_translateX\(-50\%\){transform:translate(-50%)}.silver-trf_translate\(-50\%\,_-50\%\){transform:translate(-50%,-50%)}.silver-trf_translate\(-50\%\,_50\%\){transform:translate(-50%,50%)}.silver-trf_translateY\(50\%\){transform:translateY(50%)}.silver-trs-prop_background-color\,_box-shadow{--transition-prop:background-color,box-shadow;transition-property:background-color,box-shadow}.silver-tch-a_none{touch-action:none}.silver-flex-g_1{flex-grow:1}.silver-flex-d_horizontal{flex-direction:horizontal}.silver-flex-d_vertical{flex-direction:vertical}.silver-trf_translateX\(0\){transform:translate(0)}.silver-trf_translateX\(16px\){transform:translate(16px)}.silver--webkit-overflow-scrolling_touch{-webkit-overflow-scrolling:touch}.silver-bd-cl_collapse{border-collapse:collapse}.silver-bd-sp_0{border-spacing:var(--silver-spacing-0)}.silver-tbl_fixed{table-layout:fixed}.silver-tbl_auto{table-layout:auto}.silver-va_top{vertical-align:top}.silver-white-space_normal{white-space:normal}.silver-c_neutral{color:neutral}.silver-header_Task{header:Task}.silver-key_task{key:task}.silver-sortable_true{sortable:true}.silver-tov_truncate{text-overflow:truncate}.silver-tov_wrap{text-overflow:wrap}.silver-filter_owner{filter:owner}.silver-header_Due{header:Due}.silver-key_due{key:due}.silver-header_Fixed_160px{header:Fixed 160px}.silver-key_name{key:name}.silver-header_Name{header:Name}.silver-filter_name{filter:name}.silver-trs-prop_color\,_background-color\,_border-color{--transition-prop:color,background-color,border-color;transition-property:color,background-color,border-color}.silver-d_inline-grid{display:inline-grid}.silver-grid-row-start_1{grid-row-start:1}.silver-grid-cs_1{grid-column-start:1}.silver-c_surface\.gray\.fg{color:var(--silver-colors-surface-gray-fg)}.silver-flex-wrap_nowrap{flex-wrap:nowrap}.silver-rg_1{row-gap:var(--silver-spacing-1)}.silver-clip_rect\(0_0_0_0\){clip:rect(0 0 0 0)}.silver-lh_snug{line-height:var(--silver-line-heights-snug)}.silver-lh_inherit{line-height:inherit}.silver-c_var\(--silver-text-color\,_var\(--silver-colors-fg\)\){color:var(--silver-text-color,var(--silver-colors-fg))}.silver-c_var\(--silver-text-color-muted\,_var\(--silver-colors-fg-muted\)\){color:var(--silver-text-color-muted,var(--silver-colors-fg-muted))}.silver-wb_break-all{word-break:break-all}.silver-fv-num_tabular-nums{font-variant-numeric:tabular-nums}.silver-d_-webkit-box{display:-webkit-box}.silver--webkit-box-orient_vertical{-webkit-box-orient:vertical}.silver-resize_vertical{resize:vertical}.silver-as_flex-end{align-self:flex-end}.silver-c_status\.error\.fg{color:var(--silver-colors-status-error-fg)}.silver-asp_1{aspect-ratio:1}.silver-trs-prop_opacity\,_box-shadow{--transition-prop:opacity,box-shadow;transition-property:opacity,box-shadow}.silver-trs-prop_opacity\,_transform{--transition-prop:opacity,transform;transition-property:opacity,transform}.silver-trf_translateY\(-8px\){transform:translateY(-8px)}.silver-inset-e_16{inset-inline-end:var(--silver-spacing-16)}.silver-z_500{z-index:500}.silver-inset-e_0{inset-inline-end:var(--silver-spacing-0)}.silver-trs-prop_grid-template-rows\,_padding{--transition-prop:grid-template-rows,padding;transition-property:grid-template-rows,padding}.silver-content_Above{content:Above}.silver-content_Below{content:Below}.silver-content_Start{content:Start}.silver-content_End{content:End}.silver-content_Aligned_to_start{content:Aligned to start}.silver-content_Aligned_to_center{content:Aligned to center}.silver-content_Aligned_to_end{content:Aligned to end}.silver-content_Shown_on_focus_even_though_div_is_not_natively_focusable{content:Shown on focus even though div is not natively focusable}.silver-content_Only_shown_on_hover\,_never_on_focus{content:Only shown on hover,never on focus}.silver-content_Tooltip_text{content:Tooltip text}.silver-c_bg{color:var(--silver-colors-bg)}.silver-bx-sh_md{box-shadow:var(--silver-shadows-md)}.silver-ps_2{padding-inline-start:var(--silver-spacing-2)}.silver-ring-w_focus{outline-width:var(--silver-border-widths-focus)}.silver-outline-style_solid{outline-style:solid}.silver-ring-c_primary{outline-color:var(--silver-colors-primary)}.silver-ring-o_focusOffset{outline-offset:var(--silver-spacing-focus-offset)}.silver-trf_rotate\(90deg\){transform:rotate(90deg)}.silver-trf_translateX\(-100\%\){transform:translate(-100%)}.silver-trf_translateX\(100\%\){transform:translate(100%)}.silver-cursor_ns-resize{cursor:ns-resize}.silver-inset-bs_0{inset-block-start:var(--silver-spacing-0)}.silver-inset-be_0{inset-block-end:var(--silver-spacing-0)}.silver-ms_-2{margin-inline-start:calc(var(--silver-spacing-2) * -1)}.silver-flex-wrap_wrap-reverse{flex-wrap:wrap-reverse}.silver-trs-prop_background-color\,_color\,_border-color\,_opacity{--transition-prop:background-color,color,border-color,opacity;transition-property:background-color,color,border-color,opacity}.silver-cursor_ew-resize{cursor:ew-resize}.silver-min-w_0{min-width:var(--silver-sizes-0)}.silver-h_0{height:var(--silver-sizes-0)}.silver-w_1px{width:1px}.silver-h_1px{height:1px}.silver-w_100\%{width:100%}.silver-min-h_0{min-height:var(--silver-sizes-0)}.silver-pt_1{padding-top:var(--silver-spacing-1)}.silver-w_600{width:600px}.silver-w_400{width:400px}.silver-h_100dvh{height:100dvh}.silver-min-h_100dvh{min-height:100dvh}.silver-h_auto{height:auto}.silver-top_0{top:var(--silver-spacing-0)}.silver-h_12{height:var(--silver-sizes-12)}.silver-top_var\(--appshell-header-height\,_0px\){top:var(--appshell-header-height,0px)}.silver-h_calc\(100dvh_-_var\(--appshell-header-height\,_0px\)\){height:calc(100dvh - var(--appshell-header-height, 0px))}.silver-h_100\%{height:100%}.silver-h_fill{height:fill}.silver-max-h_80{max-height:var(--silver-sizes-80)}.silver-ov-y_auto{overflow-y:auto}.silver-w_full{width:var(--silver-sizes-full)}.silver-w_0{width:var(--silver-sizes-0)}.silver-min-w_15{min-width:15px}.silver-h_5{height:var(--silver-sizes-5)}.silver-h_6{height:var(--silver-sizes-6)}.silver-h_7{height:var(--silver-sizes-7)}.silver-mt_2{margin-top:var(--silver-spacing-2)}.silver-h_component\.sm{height:var(--silver-sizes-component-sm)}.silver-h_component\.md{height:var(--silver-sizes-component-md)}.silver-h_component\.lg{height:var(--silver-sizes-component-lg)}.silver-mt_-0\.35em{margin-top:-.35em}.silver-mb_-0\.25em{margin-bottom:-.25em}.silver-w_2{width:var(--silver-sizes-2)}.silver-h_2{height:var(--silver-sizes-2)}.silver-min-w_220px{min-width:220px}.silver-mb_2{margin-bottom:var(--silver-spacing-2)}.silver-mb_1{margin-bottom:var(--silver-spacing-1)}.silver-w_component\.md{width:var(--silver-sizes-component-md)}.silver-left_2px{left:2px}.silver-bdr-tl_full{border-top-left-radius:var(--silver-radii-full)}.silver-bdr-bl_full{border-bottom-left-radius:var(--silver-radii-full)}.silver-right_2px{right:2px}.silver-bdr-tr_full{border-top-right-radius:var(--silver-radii-full)}.silver-bdr-br_full{border-bottom-right-radius:var(--silver-radii-full)}.silver-w_component\.sm{width:var(--silver-sizes-component-sm)}.silver-w_160{width:160px}.silver-h_48{height:var(--silver-sizes-48)}.silver-h_120{height:120px}.silver-w_200{width:200px}.silver-h_8rem{height:8rem}.silver-w_50\%{width:50%}.silver-h_300{height:300px}.silver-h_200{height:200px}.silver-w_300{width:300px}.silver-w_auto{width:auto}.silver-w_4\.5{width:var(--silver-sizes-4\.5)}.silver-h_4\.5{height:var(--silver-sizes-4\.5)}.silver-w_5\.5{width:var(--silver-sizes-5\.5)}.silver-h_5\.5{height:var(--silver-sizes-5\.5)}.silver-w_70\%{width:70%}.silver-h_70\%{height:70%}.silver-max-w_100\%{max-width:100%}.silver-min-w_fit-content{min-width:fit-content}.silver-min-h_1\.5rem{min-height:1.5rem}.silver-top_3{top:var(--silver-spacing-3)}.silver-right_3{right:var(--silver-spacing-3)}.silver-w_fit-content{width:fit-content}.silver-max-h_120{max-height:120px}.silver-min-h_40{min-height:var(--silver-sizes-40)}.silver-min-w_40{min-width:var(--silver-sizes-40)}.silver-w_100dvw{width:100dvw}.silver-max-w_100dvw{max-width:100dvw}.silver-max-h_100dvh{max-height:100dvh}.silver-max-h_300{max-height:300px}.silver-w_520{width:520px}.silver-max-h_60vh{max-height:60vh}.silver-left_30{left:30px}.silver-top_20{top:var(--silver-spacing-20)}.silver-w_calc\(100\%_\+_var\(--card-padding\,_0px\)_\*_2\){width:calc(100% + var(--card-padding, 0px) * 2)}.silver-h_calc\(100\%_\+_var\(--card-padding\,_0px\)_\*_2\){height:calc(100% + var(--card-padding, 0px) * 2)}.silver-w_60\%{width:60%}.silver-h_40{height:var(--silver-sizes-40)}.silver-h_80{height:var(--silver-sizes-80)}.silver-h_80px{height:80px}.silver-h_50{height:50px}.silver-mb_auto{margin-bottom:auto}.silver-mt_auto{margin-top:auto}.silver-min-h_component\.sm{min-height:var(--silver-sizes-component-sm)}.silver-min-h_component\.md{min-height:var(--silver-sizes-component-md)}.silver-min-h_component\.lg{min-height:var(--silver-sizes-component-lg)}.silver-w_16{width:var(--silver-sizes-16)}.silver-h_16{height:var(--silver-sizes-16)}.silver-w_12{width:var(--silver-sizes-12)}.silver-max-w_96{max-width:var(--silver-sizes-96)}.silver-mt_1{margin-top:var(--silver-spacing-1)}.silver-mt_0{margin-top:var(--silver-spacing-0)}.silver-mt_-1{margin-top:calc(var(--silver-spacing-1) * -1)}.silver-pt_2\.5{padding-top:var(--silver-spacing-2\.5)}.silver-min-h_32{min-height:var(--silver-sizes-32)}.silver-mr_1{margin-right:var(--silver-spacing-1)}.silver-ml_1{margin-left:var(--silver-spacing-1)}.silver-w_icon\.sm{width:var(--silver-sizes-icon-sm)}.silver-h_icon\.sm{height:var(--silver-sizes-icon-sm)}.silver-w_icon\.md{width:var(--silver-sizes-icon-md)}.silver-h_icon\.md{height:var(--silver-sizes-icon-md)}.silver-w_icon\.lg{width:var(--silver-sizes-icon-lg)}.silver-h_icon\.lg{height:var(--silver-sizes-icon-lg)}.silver-max-w_720px{max-width:720px}.silver-max-w_full{max-width:var(--silver-sizes-full)}.silver-bd-b-w_emphasized{border-bottom-width:var(--silver-border-widths-emphasized)}.silver-border-bottom-style_solid{border-bottom-style:solid}.silver-bd-b-c_border{border-bottom-color:var(--silver-colors-border)}.silver-min-w_4{min-width:var(--silver-sizes-4)}.silver-h_4{height:var(--silver-sizes-4)}.silver-min-w_5{min-width:var(--silver-sizes-5)}.silver-min-w_6{min-width:var(--silver-sizes-6)}.silver-max-w_80{max-width:var(--silver-sizes-80)}.silver-min-h_100\%{min-height:100%}.silver-h_96{height:var(--silver-sizes-96)}.silver-w_220{width:220px}.silver-w_180{width:180px}.silver-h_64{height:var(--silver-sizes-64)}.silver-max-w_none{max-width:none}.silver-max-h_none{max-height:none}.silver-h_full{height:var(--silver-sizes-full)}.silver-max-h_full{max-height:var(--silver-sizes-full)}.silver-max-h_calc\(100dvh_-_7rem\){max-height:calc(100dvh - 7rem)}.silver-max-w_min\(90dvw\,_48rem\){max-width:min(90dvw,48rem)}.silver-pt_2{padding-top:var(--silver-spacing-2)}.silver-top_50\%{top:50%}.silver-left_3{left:var(--silver-spacing-3)}.silver-w_4{width:var(--silver-sizes-4)}.silver-mt_calc\(\(1em_\*_1\.5_-_6px\)_\/_2\){margin-top:calc((1.5em - 6px)/2)}.silver-w_6px{width:6px}.silver-h_6px{height:6px}.silver-mb_3{margin-bottom:var(--silver-spacing-3)}.silver-min-h_6{min-height:var(--silver-sizes-6)}.silver-w_5{width:var(--silver-sizes-5)}.silver-min-w_12{min-width:var(--silver-sizes-12)}.silver-w_40\%{width:40%}.silver-w_6{width:var(--silver-sizes-6)}.silver-w_7{width:var(--silver-sizes-7)}.silver-w_6\.5{width:6.5px}.silver-h_6\.5{height:6.5px}.silver-w_2\.5{width:var(--silver-sizes-2\.5)}.silver-h_2\.5{height:var(--silver-sizes-2\.5)}.silver-w_3{width:var(--silver-sizes-3)}.silver-h_3{height:var(--silver-sizes-3)}.silver-w_30px{width:30px}.silver-h_30px{height:30px}.silver-min-h_24{min-height:var(--silver-sizes-24)}.silver-min-h_9{min-height:var(--silver-sizes-9)}.silver-min-w_30px{min-width:30px}.silver-min-h_14{min-height:var(--silver-sizes-14)}.silver-h_0\.5{height:var(--silver-sizes-0\.5)}.silver-w_320{width:320px}.silver-w_16px{width:16px}.silver-h_16px{height:16px}.silver-min-w_400px{min-width:400px}.silver-min-w_100{min-width:100px}.silver-pb_3{padding-bottom:var(--silver-spacing-3)}.silver-h_9{height:var(--silver-sizes-9)}.silver-h_11{height:var(--silver-sizes-11)}.silver-w_260px{width:260px}.silver-ov-x_hidden{overflow-x:hidden}.silver-min-h_8{min-height:var(--silver-sizes-8)}.silver-w_10{width:var(--silver-sizes-10)}.silver-w_80{width:var(--silver-sizes-80)}.silver-w_40{width:var(--silver-sizes-40)}.silver-h_2rem{height:2rem}.silver-h_1\.5rem{height:1.5rem}.silver-w_75\%{width:75%}.silver-h_1rem{height:1rem}.silver-w_90\%{width:90%}.silver-w_80\%{width:80%}.silver-h_20{height:var(--silver-sizes-20)}.silver-w_48{width:var(--silver-sizes-48)}.silver-h_14{height:var(--silver-sizes-14)}.silver-w_30\%{width:30%}.silver-w_120{width:120px}.silver-h_4px{height:4px}.silver-left_50\%{left:50%}.silver-w_4px{width:4px}.silver-w_0\.5{width:var(--silver-sizes-0\.5)}.silver-top_104px{top:104px}.silver-left_104px{left:104px}.silver-w_20px{width:20px}.silver-h_20px{height:20px}.silver-w_var\(--spinner-size\){width:var(--spinner-size)}.silver-h_var\(--spinner-size\){height:var(--spinner-size)}.silver-bd-t-c_transparent{border-top-color:var(--silver-colors-transparent)}.silver-w_240{width:240px}.silver-h_10rem{height:10rem}.silver-ov-x_auto{overflow-x:auto}.silver-max-w_0{max-width:var(--silver-sizes-0)}.silver-bd-b-w_default{border-bottom-width:var(--silver-border-widths-default)}.silver-max-lines_1{max-lines:1px}.silver-mb_-1px{margin-bottom:-1px}.silver-bd-b-c_transparent{border-bottom-color:var(--silver-colors-transparent)}.silver-bd-b-c_fg{border-bottom-color:var(--silver-colors-fg)}.silver-min-h_10{min-height:var(--silver-sizes-10)}.silver-pt_0px{padding-top:0}.silver-pb_0\.5{padding-bottom:var(--silver-spacing-0\.5)}.silver-min-w_10{min-width:var(--silver-sizes-10)}.silver-w_anchor-size\(width\){width:anchor-size(width)}.silver-max-lines_2{max-lines:2px}.silver-max-lines_-1{max-lines:-1px}.silver-max-lines_0{max-lines:0}.silver-min-h_20{min-height:var(--silver-sizes-20)}.silver-top_1{top:var(--silver-spacing-1)}.silver-right_1{right:var(--silver-spacing-1)}.silver-w_25rem{width:25rem}.silver-max-w_calc\(100vw_-_32px\){max-width:calc(100vw - 32px)}.silver-top_64{top:var(--silver-spacing-64)}.silver-bottom_0{bottom:var(--silver-spacing-0)}.silver-pb_0{padding-bottom:var(--silver-spacing-0)}.silver-max-w_xs{max-width:var(--silver-sizes-xs)}.silver-h_calc\(100\%_\+_1px\){height:calc(100% + 1px)}.silver-ml_auto{margin-left:auto}.silver-w_100vw{width:100vw}.silver-min-w_80{min-width:var(--silver-sizes-80)}.silver-min-h_12{min-height:var(--silver-sizes-12)}.silver-pb_6{padding-bottom:var(--silver-spacing-6)}.silver-max-w_120px{max-width:120px}.silver-pt_0\.5{padding-top:var(--silver-spacing-0\.5)}.silver-pt_3{padding-top:var(--silver-spacing-3)}.silver-w_60{width:var(--silver-sizes-60)}.silver-min-h_100vh{min-height:100vh}.first\:silver---breadcrumb-separator-display_none:first-child{--breadcrumb-separator-display:none}.\[\&\[data-state\=\"past\"\]\]\:silver---schedule-event-bg_color-mix\(in_srgb\,_var\(--schedule-event-dot\)_10\%\,_token\(colors\.bg\)\)[data-state=past]{--schedule-event-bg:color-mix(in srgb,var(--schedule-event-dot) 10%,var(--silver-colors-bg))}.\[\&\[data-state\=\"past\"\]\]\:silver---schedule-event-bg-hover_color-mix\(in_srgb\,_var\(--schedule-event-dot\)_14\%\,_token\(colors\.bg\)\)[data-state=past]{--schedule-event-bg-hover:color-mix(in srgb,var(--schedule-event-dot) 14%,var(--silver-colors-bg))}.\[\&\[data-state\=\"past\"\]\]\:silver---schedule-event-border_color-mix\(in_srgb\,_var\(--schedule-event-dot\)_48\%\,_token\(colors\.border\)\)[data-state=past]{--schedule-event-border:color-mix(in srgb,var(--schedule-event-dot) 48%,var(--silver-colors-border))}.\[\&\[data-state\=\"past\"\]\]\:silver---schedule-event-fg_color-mix\(in_srgb\,_var\(--schedule-event-fg-base\)_52\%\,_token\(colors\.fg\.muted\)\)[data-state=past]{--schedule-event-fg:color-mix(in srgb,var(--schedule-event-fg-base) 52%,var(--silver-colors-fg-muted))}.\[\&\>\*\]\:silver-inset_0>*{inset:var(--silver-spacing-0)}.\[\&_\>_svg\]\:silver-anim_spin_0\.8s_linear_infinite>svg{animation:spin .8s linear infinite}.\[\&\[data-highlighted\]\]\:silver-bg_bg\.selected[data-highlighted]{background:var(--silver-colors-bg-selected)}.backdrop\:silver-bg_overlay\.scrim::backdrop{background:var(--silver-colors-overlay-scrim)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-bg_bg\.subtle>[data-silver-input-group-text]{background:var(--silver-colors-bg-subtle)}.backdrop\:silver-bg_overlay\.scrim\.strong::backdrop{background:var(--silver-colors-overlay-scrim-strong)}.before\:silver-bg_surface\.orange\.accent:before{background:var(--silver-colors-surface-orange-accent)}.\[\&\[data-highlighted\]\]\:silver-bg_bg\.subtle[data-highlighted]{background:var(--silver-colors-bg-subtle)}.\[\&_\[data-switch-track\]\[data-selected\=\"true\"\]\]\:silver-bg_primary [data-switch-track][data-selected=true]{background:var(--silver-colors-primary)}.even\:silver-bg_bg\.subtle:nth-child(2n){background:var(--silver-colors-bg-subtle)}.\[\&\:\:backdrop\]\:silver-bg_overlay\.scrim::backdrop{background:var(--silver-colors-overlay-scrim)}.after\:silver-bg_transparent:after{background:var(--silver-colors-transparent)}.\[\&\>\*\]\:silver-ov_hidden>*{overflow:hidden}.\[\&\[data-highlighted\]\]\:silver-mx_calc\(var\(--cb-padding\)_\*_-1\)[data-highlighted]{margin-inline:calc(var(--cb-padding) * -1)}.\[\&\[data-highlighted\]\]\:silver-px_var\(--cb-padding\)[data-highlighted]{padding-inline:var(--cb-padding)}.\[\&_\>_\*\]\:silver-py_0\.5>*{padding-block:var(--silver-spacing-0\.5)}.\[\&_\>_\*\]\:silver-px_1\.5>*{padding-inline:var(--silver-spacing-1\.5)}.\[\&_\>_\*\]\:silver-gap_1\.5>*{gap:var(--silver-spacing-1\.5)}.\[\&_\>_\*\]\:silver-py_1\.5>*{padding-block:var(--silver-spacing-1\.5)}.\[\&_\>_\*\]\:silver-px_2>*{padding-inline:var(--silver-spacing-2)}.\[\&_\>_\*\]\:silver-py_2\.5>*{padding-block:var(--silver-spacing-2\.5)}.\[\&_\>_\*\]\:silver-px_2\.5>*{padding-inline:var(--silver-spacing-2\.5)}.\[\&_\>_\*\]\:silver-gap_2\.5>*{gap:var(--silver-spacing-2\.5)}.\[\&_\>_\*\]\:silver-flex_none>*{flex:none}.\[\&_\>_\*\]\:silver-bdr_0>*{border-radius:0}.\[\&_\>_\:not\(\[data-silver-input-group-text\]\)\]\:silver-flex_1>:not([data-silver-input-group-text]){flex:1 1 0%}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-px_3>[data-silver-input-group-text]{padding-inline:var(--silver-spacing-3)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-bd-w_default>[data-silver-input-group-text]{border-width:var(--silver-border-widths-default)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-border-style_solid>[data-silver-input-group-text]{border-style:solid}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-bd-c_border\.emphasized>[data-silver-input-group-text]{border-color:var(--silver-colors-border-emphasized)}.\[\&_\>_\:not\(\[data-silver-input-group-text\]\)\]\:silver-bd-c_status\.error\.border>:not([data-silver-input-group-text]),.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-bd-c_status\.error\.border>[data-silver-input-group-text]{border-color:var(--silver-colors-status-error-border)}.\[\&_\>_\:not\(\[data-silver-input-group-text\]\)\]\:silver-bd-c_status\.success\.border>:not([data-silver-input-group-text]),.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-bd-c_status\.success\.border>[data-silver-input-group-text]{border-color:var(--silver-colors-status-success-border)}.\[\&_\>_\:not\(\[data-silver-input-group-text\]\)\]\:silver-bd-c_status\.warning\.border>:not([data-silver-input-group-text]),.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-bd-c_status\.warning\.border>[data-silver-input-group-text]{border-color:var(--silver-colors-status-warning-border)}.before\:silver-bdr_full:before{border-radius:var(--silver-radii-full)}.last\:silver-flex_none:last-child{flex:none}.disabled\:silver-op_0\.5:is(:disabled,[disabled],[data-disabled],[aria-disabled=true]){opacity:.5}.disabled\:silver-cursor_not-allowed:is(:disabled,[disabled],[data-disabled],[aria-disabled=true]){cursor:not-allowed}.before\:silver-content_\"\":before{content:""}.before\:silver-d_block:before{display:block}.\[\&\>\*\]\:silver-d_flex>*{display:flex}.\[\&\>\*\]\:silver-jc_center>*{justify-content:center}.\[\&\>\*\]\:silver-ai_center>*{align-items:center}.\[\&\>\*\]\:silver-pos_absolute>*{position:absolute}.\[\&\>img\,_\&\>video\]\:silver-obj-f_cover>img,.\[\&\>img\,_\&\>video\]\:silver-obj-f_cover>video{object-fit:cover}.placeholder\:silver-c_fg\.muted::placeholder,.placeholder\:silver-c_fg\.muted[data-placeholder]{color:var(--silver-colors-fg-muted)}.\[\&\:not\(\:first-child\)\]\:silver-ms_var\(--avatar-group-overlap\):not(:first-child){margin-inline-start:var(--avatar-group-overlap)}.disabled\:silver-pointer-events_none:is(:disabled,[disabled],[data-disabled],[aria-disabled=true]){pointer-events:none}.disabled\:silver-trf_none:is(:disabled,[disabled],[data-disabled],[aria-disabled=true]){transform:none}.\[\&\[aria-disabled\=\"true\"\]\]\:silver-op_0\.5[aria-disabled=true]{opacity:.5}.\[\&\[aria-disabled\=\"true\"\]\]\:silver-cursor_not-allowed[aria-disabled=true]{cursor:not-allowed}.\[\&\[aria-disabled\=\"true\"\]\]\:silver-pointer-events_auto[aria-disabled=true]{pointer-events:auto}.\[\&\[aria-disabled\=\"true\"\]\]\:silver-trf_none[aria-disabled=true]{transform:none}.\[\&_\:where\(button\,_a\)\]\:silver-pos_relative :where(button,a){position:relative}.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bd-s-w_default>:not(:first-child) :where(button,a):not([popover] *),.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bd-s-w_default>:not(:first-child):is(button,a){border-inline-start-width:var(--silver-border-widths-default)}.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-border-inline-start-style_solid>:not(:first-child) :where(button,a):not([popover] *),.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-border-inline-start-style_solid>:not(:first-child):is(button,a){border-inline-start-style:solid}.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bd-s-c_border>:not(:first-child) :where(button,a):not([popover] *),.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bd-s-c_border>:not(:first-child):is(button,a){border-inline-start-color:var(--silver-colors-border)}.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bd-bs-w_default>:not(:first-child) :where(button,a):not([popover] *),.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bd-bs-w_default>:not(:first-child):is(button,a){border-block-start-width:var(--silver-border-widths-default)}.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-border-block-start-style_solid>:not(:first-child) :where(button,a):not([popover] *),.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-border-block-start-style_solid>:not(:first-child):is(button,a){border-block-start-style:solid}.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bd-bs-c_border>:not(:first-child) :where(button,a):not([popover] *),.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bd-bs-c_border>:not(:first-child):is(button,a){border-block-start-color:var(--silver-colors-border)}.open\:silver-d_flex:is([open],[data-open],[data-state=open],:popover-open){display:flex}.backdrop\:silver-bkdp_blur\(2px\)::backdrop{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.\[\&_\>_\*\]\:silver-pos_relative>*{position:relative}.\[\&_\>_\*\:not\(\:first-child\)\]\:silver-ms_-1px>:not(:first-child){margin-inline-start:-1px}.\[\&_\>_\*\:first-child\]\:silver-bdr-ss_md>:first-child{border-start-start-radius:var(--silver-radii-md)}.\[\&_\>_\*\:first-child\]\:silver-bdr-es_md>:first-child{border-end-start-radius:var(--silver-radii-md)}.\[\&_\>_\*\:last-child\]\:silver-bdr-se_md>:last-child{border-start-end-radius:var(--silver-radii-md)}.\[\&_\>_\*\:last-child\]\:silver-bdr-ee_md>:last-child{border-end-end-radius:var(--silver-radii-md)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-d_inline-flex>[data-silver-input-group-text]{display:inline-flex}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-ai_center>[data-silver-input-group-text]{align-items:center}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-flex-sh_0>[data-silver-input-group-text]{flex-shrink:0}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-c_fg\.muted>[data-silver-input-group-text]{color:var(--silver-colors-fg-muted)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-ff_body>[data-silver-input-group-text]{font-family:var(--silver-fonts-body)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-fs_md>[data-silver-input-group-text]{font-size:var(--silver-font-sizes-md)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-lh_normal>[data-silver-input-group-text]{line-height:var(--silver-line-heights-normal)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-white-space_nowrap>[data-silver-input-group-text]{white-space:nowrap}.last\:silver-bd-be-w_0:last-child{border-block-end-width:0}.before\:silver-content_counter\(silver-list\)_\"\.\":before{content:counter(silver-list) "."}.\[\&\[aria-disabled\=\"true\"\]\]\:silver-op_0\.55[aria-disabled=true]{opacity:.55}.\[\&\[aria-disabled\=\"true\"\]\]\:silver-pointer-events_none[aria-disabled=true]{pointer-events:none}.\[\&\[aria-expanded\=\"true\"\]\]\:silver-ring-w_focus[aria-expanded=true]{outline-width:var(--silver-border-widths-focus)}.\[\&\[aria-expanded\=\"true\"\]\]\:silver-outline-style_solid[aria-expanded=true]{outline-style:solid}.\[\&\[aria-expanded\=\"true\"\]\]\:silver-ring-c_var\(--schedule-event-dot\)[aria-expanded=true]{outline-color:var(--schedule-event-dot)}.\[\&\[aria-expanded\=\"true\"\]\]\:silver-ring-o_1px[aria-expanded=true]{outline-offset:1px}.before\:silver-pos_absolute:before{position:absolute}.before\:silver-inset-s_-6px:before{inset-inline-start:-6px}.before\:silver-trf_translateY\(-50\%\):before{transform:translateY(-50%)}.\[\&\[data-selected\]\]\:silver-fw_medium[data-selected]{font-weight:var(--silver-font-weights-medium)}.last\:silver-bd-e-w_0:last-child{border-inline-end-width:0}.\[\&\:\:-webkit-calendar-picker-indicator\]\:silver-d_none::-webkit-calendar-picker-indicator{display:none}.\[\&\:\:backdrop\]\:silver-bkdp_blur\(2px\)::backdrop{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}:where([dir=rtl],:dir(rtl)) .rtl\:silver-trf_translateX\(100\%\){transform:translate(100%)}:where([dir=rtl],:dir(rtl)) .rtl\:silver-trf_translateX\(-100\%\){transform:translate(-100%)}.\[\&\:last-child_\[data-step-connector\]\]\:silver-d_none:last-child [data-step-connector]{display:none}.after\:silver-content_\"\":after{content:""}.after\:silver-pos_absolute:after{position:absolute}.after\:silver-inset-e_0:after{inset-inline-end:var(--silver-spacing-0)}.after\:silver-trs-dur_fast:after{--transition-duration:var(--silver-durations-fast);transition-duration:var(--silver-durations-fast)}.after\:silver-trs-prop_background-color\,_width:after{--transition-prop:background-color,width;transition-property:background-color,width}.after\:silver-trs-tmf_default:after{--transition-easing:var(--silver-easings-default);transition-timing-function:var(--silver-easings-default)}.before\:silver-h_0:before{height:var(--silver-sizes-0)}.before\:silver-pb_75\%:before{padding-bottom:75%}.\[\&\>\*\]\:silver-w_100\%>*{width:100%}.\[\&\>\*\]\:silver-h_100\%>*{height:100%}.before\:silver-pb_56\.25\%:before{padding-bottom:56.25%}.before\:silver-pb_100\%:before{padding-bottom:100%}.before\:silver-pb_Infinity\%:before{padding-bottom:Infinity%}.before\:silver-pb_-100\%:before{padding-bottom:-100%}.\[\&_\>_svg\]\:silver-w_100\%>svg{width:100%}.\[\&_\>_svg\]\:silver-h_100\%>svg{height:100%}.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-tl_0>:not(:first-child) :where(button,a):not([popover] *),.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-tl_0>:not(:first-child):is(button,a){border-top-left-radius:0}.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-bl_0>:not(:first-child) :where(button,a):not([popover] *),.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-bl_0>:not(:first-child):is(button,a){border-bottom-left-radius:0}.\[\&_\>_\:has\(\~_\:not\(\[popover\]\)\)\:is\(button\,_a\)\,_\&_\>_\:has\(\~_\:not\(\[popover\]\)\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-tr_0>:has(~:not([popover])) :where(button,a):not([popover] *),.\[\&_\>_\:has\(\~_\:not\(\[popover\]\)\)\:is\(button\,_a\)\,_\&_\>_\:has\(\~_\:not\(\[popover\]\)\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-tr_0>:has(~:not([popover])):is(button,a){border-top-right-radius:0}.\[\&_\>_\:has\(\~_\:not\(\[popover\]\)\)\:is\(button\,_a\)\,_\&_\>_\:has\(\~_\:not\(\[popover\]\)\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-br_0>:has(~:not([popover])) :where(button,a):not([popover] *),.\[\&_\>_\:has\(\~_\:not\(\[popover\]\)\)\:is\(button\,_a\)\,_\&_\>_\:has\(\~_\:not\(\[popover\]\)\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-br_0>:has(~:not([popover])):is(button,a){border-bottom-right-radius:0}.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-tr_0>:not(:first-child) :where(button,a):not([popover] *),.\[\&_\>_\:not\(\:first-child\)\:is\(button\,_a\)\,_\&_\>_\:not\(\:first-child\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-tr_0>:not(:first-child):is(button,a){border-top-right-radius:0}.\[\&_\>_\:has\(\~_\:not\(\[popover\]\)\)\:is\(button\,_a\)\,_\&_\>_\:has\(\~_\:not\(\[popover\]\)\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-bl_0>:has(~:not([popover])) :where(button,a):not([popover] *),.\[\&_\>_\:has\(\~_\:not\(\[popover\]\)\)\:is\(button\,_a\)\,_\&_\>_\:has\(\~_\:not\(\[popover\]\)\)_\:where\(button\,_a\)\:not\(\[popover\]_\*\)\]\:silver-bdr-bl_0>:has(~:not([popover])):is(button,a){border-bottom-left-radius:0}.\[\&_\>_svg\]\:silver-w_full>svg{width:var(--silver-sizes-full)}.\[\&_\>_svg\]\:silver-h_full>svg{height:var(--silver-sizes-full)}.\[\&_\>_\:not\(\[data-silver-input-group-text\]\)\]\:silver-min-w_0>:not([data-silver-input-group-text]){min-width:var(--silver-sizes-0)}.\[\&_\>_\:not\(\[data-silver-input-group-text\]\)\]\:silver-h_full>:not([data-silver-input-group-text]){height:var(--silver-sizes-full)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-min-h_component\.lg>[data-silver-input-group-text]{min-height:var(--silver-sizes-component-lg)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-min-h_component\.md>[data-silver-input-group-text]{min-height:var(--silver-sizes-component-md)}.\[\&_\>_\[data-silver-input-group-text\]\]\:silver-min-h_component\.sm>[data-silver-input-group-text]{min-height:var(--silver-sizes-component-sm)}.before\:silver-top_50\%:before{top:50%}.before\:silver-w_2\.5:before{width:var(--silver-sizes-2\.5)}.before\:silver-h_2\.5:before{height:var(--silver-sizes-2\.5)}tbody>tr:last-child>.\[tbody_\>_tr\:last-child_\>_\&\]\:silver-bd-b-w_0{border-bottom-width:0}.after\:silver-top_0:after{top:var(--silver-spacing-0)}.after\:silver-bottom_0:after{bottom:var(--silver-spacing-0)}.after\:silver-w_2px:after{width:2px}.focusWithin\:silver-bd-c_primary:focus-within{border-color:var(--silver-colors-primary)}.focusWithin\:silver-bd-c_status\.warning\.border:focus-within{border-color:var(--silver-colors-status-warning-border)}.focusWithin\:silver-bd-c_status\.error\.border:focus-within{border-color:var(--silver-colors-status-error-border)}.focusWithin\:silver-bd-c_status\.success\.border:focus-within{border-color:var(--silver-colors-status-success-border)}.\[\&\:hover_\[data-cb-copy\]\,_\&\:focus-within_\[data-cb-copy\]\]\:silver-op_1:focus-within [data-cb-copy],.\[\&\:hover_\[data-cb-copy\]\,_\&\:focus-within_\[data-cb-copy\]\]\:silver-op_1:hover [data-cb-copy]{opacity:1}.\[\&\:hover_\[data-cb-copy\]\,_\&\:focus-within_\[data-cb-copy\]\]\:silver-pointer-events_auto:focus-within [data-cb-copy],.\[\&\:hover_\[data-cb-copy\]\,_\&\:focus-within_\[data-cb-copy\]\]\:silver-pointer-events_auto:hover [data-cb-copy]{pointer-events:auto}.focusWithin\:silver-bx-sh_focus:focus-within{box-shadow:var(--silver-shadows-focus)}.focusWithin\:silver-bx-sh_focus\.warning:focus-within{box-shadow:var(--silver-shadows-focus\.warning)}.focusWithin\:silver-bx-sh_focus\.error:focus-within{box-shadow:var(--silver-shadows-focus\.error)}.focusWithin\:silver-bx-sh_focus\.success:focus-within{box-shadow:var(--silver-shadows-focus\.success)}.focusWithin\:silver-ring-w_focus:focus-within{outline-width:var(--silver-border-widths-focus)}.focusWithin\:silver-outline-style_solid:focus-within{outline-style:solid}.focusWithin\:silver-ring-c_primary:focus-within{outline-color:var(--silver-colors-primary)}.focusWithin\:silver-ring-o_focusOffset:focus-within{outline-offset:var(--silver-spacing-focus-offset)}.\[\&_\>_\*\:focus-within\]\:silver-z_1>:focus-within{z-index:1}.focus\:silver-p_2:is(:focus,[data-focus]){padding:var(--silver-spacing-2)}.focus\:silver-m_0:is(:focus,[data-focus]){margin:var(--silver-spacing-0)}.focusVisible\:silver-bdr_sm:is(:focus-visible,[data-focus-visible]){border-radius:var(--silver-radii-sm)}.focus\:silver-ov_visible:is(:focus,[data-focus]){overflow:visible}.\[\&_\>_\:focus\]\:silver-ring_none>:focus,.focusVisible\:silver-ring_none:is(:focus-visible,[data-focus-visible]){outline:var(--silver-borders-none)}.focus\:silver-bd-c_primary:is(:focus,[data-focus]){border-color:var(--silver-colors-primary)}.focusVisible\:silver-ring-w_focus:is(:focus-visible,[data-focus-visible]){outline-width:var(--silver-border-widths-focus)}.focusVisible\:silver-outline-style_solid:is(:focus-visible,[data-focus-visible]){outline-style:solid}.focusVisible\:silver-ring-c_primary:is(:focus-visible,[data-focus-visible]){outline-color:var(--silver-colors-primary)}.focusVisible\:silver-ring-o_focusOffset:is(:focus-visible,[data-focus-visible]){outline-offset:var(--silver-spacing-focus-offset)}.focus\:silver-pos_fixed:is(:focus,[data-focus]){position:fixed}.focus\:silver-inset-s_2:is(:focus,[data-focus]){inset-inline-start:var(--silver-spacing-2)}.focus\:silver-cp-path_none:is(:focus,[data-focus]){clip-path:none;-webkit-clip-path:none}.focus\:silver-white-space_normal:is(:focus,[data-focus]){white-space:normal}.focus\:silver-ring-w_focus:is(:focus,[data-focus]){outline-width:var(--silver-border-widths-focus)}.focus\:silver-outline-style_solid:is(:focus,[data-focus]){outline-style:solid}.focus\:silver-ring-c_primary:is(:focus,[data-focus]){outline-color:var(--silver-colors-primary)}.focus\:silver-ring-o_focusOffset:is(:focus,[data-focus]){outline-offset:var(--silver-spacing-focus-offset)}.focusVisible\:silver-ring-o_focusOffsetTight:is(:focus-visible,[data-focus-visible]){outline-offset:var(--silver-spacing-focus-offset-tight)}.focusVisible\:silver-ring-o_focusOffsetLoose:is(:focus-visible,[data-focus-visible]){outline-offset:var(--silver-spacing-focus-offset-loose)}.focusVisible\:silver-ring-c_destructive:is(:focus-visible,[data-focus-visible]){outline-color:var(--silver-colors-destructive)}.focusVisible\:silver-ring-c_currentColor:is(:focus-visible,[data-focus-visible]){outline-color:currentColor}.\[\&_\:where\(button\,_a\)\:focus-visible\]\:silver-z_1 :where(button,a):focus-visible{z-index:1}.peer:is(:focus-visible,[data-focus-visible])~.peerFocusVisible\:silver-ring-w_focus{outline-width:var(--silver-border-widths-focus)}.peer:is(:focus-visible,[data-focus-visible])~.peerFocusVisible\:silver-outline-style_solid{outline-style:solid}.peer:is(:focus-visible,[data-focus-visible])~.peerFocusVisible\:silver-ring-c_primary{outline-color:var(--silver-colors-primary)}.peer:is(:focus-visible,[data-focus-visible])~.peerFocusVisible\:silver-ring-o_focusOffset{outline-offset:var(--silver-spacing-focus-offset)}.\[\&\:has\(\:focus-visible\)\]\:silver-ring-w_focus:has(:focus-visible){outline-width:var(--silver-border-widths-focus)}.\[\&\:has\(\:focus-visible\)\]\:silver-outline-style_solid:has(:focus-visible){outline-style:solid}.\[\&\:has\(\:focus-visible\)\]\:silver-ring-c_primary:has(:focus-visible){outline-color:var(--silver-colors-primary)}.\[\&\:has\(\:focus-visible\)\]\:silver-ring-o_focusOffset:has(:focus-visible){outline-offset:var(--silver-spacing-focus-offset)}.\[\&\:has\(input\:focus-visible\)\]\:silver-ring-w_focus:has(input:focus-visible){outline-width:var(--silver-border-widths-focus)}.\[\&\:has\(input\:focus-visible\)\]\:silver-outline-style_solid:has(input:focus-visible){outline-style:solid}.\[\&\:has\(input\:focus-visible\)\]\:silver-ring-c_primary:has(input:focus-visible){outline-color:var(--silver-colors-primary)}.\[\&\:has\(input\:focus-visible\)\]\:silver-ring-o_focusOffset:has(input:focus-visible){outline-offset:var(--silver-spacing-focus-offset)}.focusVisible\:silver-ring-o_-2px:is(:focus-visible,[data-focus-visible]){outline-offset:-2px}.\[\&\:is\(\:hover\,_\[data-hover\]\)_\[data-table-sort-icon-state\=\"inactive\"\]\,_\&\:is\(\:focus-visible\,_\[data-focus-visible\]\)_\[data-table-sort-icon-state\=\"inactive\"\]\]\:silver-op_1:is(:focus-visible,[data-focus-visible]) [data-table-sort-icon-state=inactive],.\[\&\:is\(\:hover\,_\[data-hover\]\)_\[data-table-sort-icon-state\=\"inactive\"\]\,_\&\:is\(\:focus-visible\,_\[data-focus-visible\]\)_\[data-table-sort-icon-state\=\"inactive\"\]\]\:silver-op_1:is(:hover,[data-hover]) [data-table-sort-icon-state=inactive]{opacity:1}.focus\:silver-top_2:is(:focus,[data-focus]){top:var(--silver-spacing-2)}.focus\:silver-w_auto:is(:focus,[data-focus]){width:auto}.focus\:silver-h_auto:is(:focus,[data-focus]){height:auto}.hover\:silver-bg_bg\.subtle:is(:hover,[data-hover]){background:var(--silver-colors-bg-subtle)}.hover\:silver-bg_primary\.hover:is(:hover,[data-hover]){background:var(--silver-colors-primary-hover)}.hover\:silver-bg_surface\.gray\.hover:is(:hover,[data-hover]){background:var(--silver-colors-surface-gray-hover)}.hover\:silver-bg_bg\.ghost\.hover:is(:hover,[data-hover]){background:var(--silver-colors-bg-ghost-hover)}.hover\:silver-bg_destructive\.hover:is(:hover,[data-hover]){background:var(--silver-colors-destructive-hover)}.hover\:silver-bg_color-mix\(in_srgb\,_currentColor_15\%\,_transparent\):is(:hover,[data-hover]){background:color-mix(in srgb,currentColor 15%,transparent)}.hover\:silver-bg_primary:is(:hover,[data-hover]){background:var(--silver-colors-primary)}.hover\:silver-bg_overlay\.scrim\.strong:is(:hover,[data-hover]){background:var(--silver-colors-overlay-scrim-strong)}.hover\:silver-bg_bg\.muted:is(:hover,[data-hover]){background:bg.muted}.hover\:silver-bg_var\(--schedule-event-bg-hover\):is(:hover,[data-hover]){background:var(--schedule-event-bg-hover)}.hover\:silver-bg_bg:is(:hover,[data-hover]){background:var(--silver-colors-bg)}.hover\:silver-bg_transparent:is(:hover,[data-hover]){background:var(--silver-colors-transparent)}.hover\:silver-bg_bg\.hover:is(:hover,[data-hover]){background:var(--silver-colors-bg-hover)}.hover\:silver-bg_surface\.red\.hover:is(:hover,[data-hover]){background:var(--silver-colors-surface-red-hover)}.hover\:silver-bg_surface\.orange\.hover:is(:hover,[data-hover]){background:var(--silver-colors-surface-orange-hover)}.hover\:silver-bg_surface\.yellow\.hover:is(:hover,[data-hover]){background:var(--silver-colors-surface-yellow-hover)}.hover\:silver-bg_surface\.green\.hover:is(:hover,[data-hover]){background:var(--silver-colors-surface-green-hover)}.hover\:silver-bg_surface\.teal\.hover:is(:hover,[data-hover]){background:var(--silver-colors-surface-teal-hover)}.hover\:silver-bg_surface\.cyan\.hover:is(:hover,[data-hover]){background:var(--silver-colors-surface-cyan-hover)}.hover\:silver-bg_surface\.blue\.hover:is(:hover,[data-hover]){background:var(--silver-colors-surface-blue-hover)}.hover\:silver-bg_surface\.purple\.hover:is(:hover,[data-hover]){background:var(--silver-colors-surface-purple-hover)}.hover\:silver-bg_surface\.pink\.hover:is(:hover,[data-hover]){background:var(--silver-colors-surface-pink-hover)}.hover\:silver-td_underline:is(:hover,[data-hover]){text-decoration:underline}.hover\:silver-bd-c_primary:is(:hover,[data-hover]){border-color:var(--silver-colors-primary)}.hover\:silver-bd-c_fg\.muted:is(:hover,[data-hover]){border-color:var(--silver-colors-fg-muted)}.hover\:silver-bd-c_status\.warning\.borderHover:is(:hover,[data-hover]){border-color:var(--silver-colors-status-warning-border-hover)}.hover\:silver-bd-c_status\.error\.borderHover:is(:hover,[data-hover]){border-color:var(--silver-colors-status-error-border-hover)}.hover\:silver-bd-c_status\.success\.borderHover:is(:hover,[data-hover]){border-color:var(--silver-colors-status-success-border-hover)}.hover\:silver-td_none:is(:hover,[data-hover]){text-decoration:none}.hover\:silver-op_0\.7:is(:hover,[data-hover]){opacity:.7}.hover\:silver-bx-sh_lg:is(:hover,[data-hover]){box-shadow:var(--silver-shadows-lg)}.hover\:silver-op_0\.9:is(:hover,[data-hover]){opacity:.9}.hover\:silver-op_0\.85:is(:hover,[data-hover]){opacity:.85}.active\:silver-bg_primary\.active:is(:active,[data-active]){background:var(--silver-colors-primary-active)}.active\:silver-bg_surface\.gray\.hover:is(:active,[data-active]){background:var(--silver-colors-surface-gray-hover)}.active\:silver-bg_bg\.ghost\.active:is(:active,[data-active]){background:var(--silver-colors-bg-ghost-active)}.active\:silver-bg_destructive\.active:is(:active,[data-active]){background:var(--silver-colors-destructive-active)}.active\:silver-bg_color-mix\(in_srgb\,_currentColor_20\%\,_transparent\):is(:active,[data-active]){background:color-mix(in srgb,currentColor 20%,transparent)}.active\:silver-bg_bg\.hover:is(:active,[data-active]){background:var(--silver-colors-bg-hover)}.active\:silver-bg_overlay\.scrim\.strong:is(:active,[data-active]){background:var(--silver-colors-overlay-scrim-strong)}.\[\&\:has\(input\:active\:not\(\:disabled\)\)_\[data-switch-track\]\]\:silver-bg_primary\.active:has(input:active:not(:disabled)) [data-switch-track]{background:var(--silver-colors-primary-active)}.active\:silver-bg_bg\.subtle:is(:active,[data-active]){background:var(--silver-colors-bg-subtle)}.active\:silver-trf_scale\(0\.98\):is(:active,[data-active]){transform:scale(.98)}.active\:silver-op_0\.5:is(:active,[data-active]){opacity:.5}.active\:silver-op_0\.75:is(:active,[data-active]){opacity:.75}.\[\&_\>_\:not\(\[data-silver-input-group-text\]\)\]\:focusWithin\:silver-bd-c_status\.error\.border>:not([data-silver-input-group-text]):focus-within,.\[\&_\>_\[data-silver-input-group-text\]\]\:focusWithin\:silver-bd-c_status\.error\.border>[data-silver-input-group-text]:focus-within{border-color:var(--silver-colors-status-error-border)}.\[\&_\>_\:not\(\[data-silver-input-group-text\]\)\]\:focusWithin\:silver-bd-c_status\.success\.border>:not([data-silver-input-group-text]):focus-within,.\[\&_\>_\[data-silver-input-group-text\]\]\:focusWithin\:silver-bd-c_status\.success\.border>[data-silver-input-group-text]:focus-within{border-color:var(--silver-colors-status-success-border)}.\[\&_\>_\:not\(\[data-silver-input-group-text\]\)\]\:focusWithin\:silver-bd-c_status\.warning\.border>:not([data-silver-input-group-text]):focus-within,.\[\&_\>_\[data-silver-input-group-text\]\]\:focusWithin\:silver-bd-c_status\.warning\.border>[data-silver-input-group-text]:focus-within{border-color:var(--silver-colors-status-warning-border)}.hover\:after\:silver-bg_primary:is(:hover,[data-hover]):after{background:var(--silver-colors-primary)}@starting-style{.\[\@starting-style\]\:silver-op_0{opacity:0}.\[\@starting-style\]\:silver-trf_translateY\(8px\){transform:translateY(8px)}}@media screen and (min-width:40rem){.sm\:silver-header_Owner{header:Owner}.sm\:silver-key_owner{key:owner}.sm\:silver-sortable_true{sortable:true}.sm\:silver-header_Notes{header:Notes}.sm\:silver-key_notes{key:notes}.sm\:silver-filter_owner{filter:owner}.sm\:silver-header_2fr_min_180px{header:2fr min 180px}.sm\:silver-key_age{key:age}.sm\:silver-align_end{align:end}.sm\:silver-header_Age{header:Age}.sm\:silver-key_role{key:role}.sm\:silver-header_Role{header:Role}.sm\:silver-key_name{key:name}.sm\:silver-header_Name{header:Name}}@media screen and (min-width:48rem){.md\:silver-header_Status{header:Status}.md\:silver-key_status{key:status}.md\:silver-sortable_true{sortable:true}.md\:silver-header_Owner{header:Owner}.md\:silver-key_owner{key:owner}.md\:silver-filter_status{filter:status}.md\:silver-header_1fr_min_120px{header:1fr min 120px}.md\:silver-key_role{key:role}.md\:silver-header_Role{header:Role}.md\:silver-key_age{key:age}.md\:silver-align_end{align:end}.md\:silver-header_Age{header:Age}}@media screen and (min-width:64rem){.lg\:silver-align_end{align:end}.lg\:silver-header_Budget{header:Budget}.lg\:silver-key_budget{key:budget}.lg\:silver-sortable_true{sortable:true}.lg\:silver-header_Task{header:Task}.lg\:silver-key_task{key:task}.lg\:silver-header_Fixed_96px{header:Fixed 96px}.lg\:silver-key_due{key:due}.lg\:silver-key_role{key:role}.lg\:silver-header_Role{header:Role}}@media screen and (min-width:80rem){.xl\:silver-header_Due{header:Due}.xl\:silver-key_due{key:due}.xl\:silver-sortable_true{sortable:true}.xl\:silver-header_Owner{header:Owner}.xl\:silver-key_owner{key:owner}}@media screen and (min-width:96rem){.\32xl\:silver-header_Status{header:Status}.\32xl\:silver-key_status{key:status}.\32xl\:silver-sortable_true{sortable:true}.\32xl\:silver-header_Task{header:Task}.\32xl\:silver-key_task{key:task}}@media(hover:hover){.\[\@media_\(hover\:_hover\)\]\:silver-op_0{opacity:0}.\[\@media_\(hover\:_hover\)\]\:silver-pointer-events_none{pointer-events:none}.\[\@media_\(hover\:_hover\)\]\:silver-trs-prop_opacity{--transition-prop:opacity;transition-property:opacity}.\[\@media_\(hover\:_hover\)\]\:silver-trs-dur_fast{--transition-duration:var(--silver-durations-fast);transition-duration:var(--silver-durations-fast)}.\[\@media_\(hover\:_hover\)\]\:silver-trs-tmf_default{--transition-easing:var(--silver-easings-default);transition-timing-function:var(--silver-easings-default)}.hover\:\[\@media_\(hover\:_hover\)\]\:silver-bg_primary\.emphasized:is(:hover,[data-hover]){background:primary.emphasized}.hover\:\[\@media_\(hover\:_hover\)\]\:silver-bg_bg\.subtle:is(:hover,[data-hover]){background:var(--silver-colors-bg-subtle)}.hover\:\[\@media_\(hover\:_hover\)\]\:silver-bg_bg\.hover:is(:hover,[data-hover]){background:var(--silver-colors-bg-hover)}}@media(hover:hover){@media(prefers-reduced-motion:reduce){.\[\@media_\(hover\:_hover\)\]\:\[\@media_\(prefers-reduced-motion\:_reduce\)\]\:silver-trs-dur_0s{--transition-duration:0s;transition-duration:0s}}}@media(pointer:coarse){.\[\@media_\(pointer\:_coarse\)\]\:silver-d_none{display:none}}@media(prefers-reduced-motion:reduce){.\[\@media_\(prefers-reduced-motion\:_reduce\)\]\:silver-anim_pulse_3s_ease-in-out_infinite{animation:pulse 3s ease-in-out infinite}.\[\@media_\(prefers-reduced-motion\:_reduce\)\]\:silver-anim_none{animation:none}.\[\@media_\(prefers-reduced-motion\:_reduce\)\]\:silver-trs-dur_0\.01s{--transition-duration:.01s;transition-duration:.01s}.\[\@media_\(prefers-reduced-motion\:_reduce\)\]\:silver-trs-dur_0ms{--transition-duration:0ms;transition-duration:0ms}.\[\@media_\(prefers-reduced-motion\:_reduce\)\]\:silver-trs-dur_0s{--transition-duration:0s;transition-duration:0s}.\[\@media_\(prefers-reduced-motion\:_reduce\)\]\:silver-bg-i_none{background-image:none}.\[\@media_\(prefers-reduced-motion\:_reduce\)\]\:silver-trs-dur_0\.01ms{--transition-duration:.01ms;transition-duration:.01ms}.\[\@media_\(prefers-reduced-motion\:_reduce\)\]\:\[\&_\>_svg\]\:silver-anim_none>svg{animation:none}}}
|