feat: v5.0.0 — Live Feed page, Folders & Tags, Link Archiving, API scopes
## Analytics — Live Activity Feed
- Dedicated /stats/live standalone page (mirrors /stats/logs pattern)
- Consistent 3-tab navigation across Statistics / Live Feed / Visit Logs
- checkForUpdates() with skipRender(): O(1) MAX(id) poll — ~100-byte response on no-change
- latestVisitId sentinel (-1) prevents unnecessary first-poll re-render
- Cache key versioned by latestVisitId — fixes bug where concurrent users
could permanently miss a visit due to stale thundering-herd cache
- 3-second thundering-herd cache (key: url_id + date + filters + latestVisitId)
- Country flags via flagcdn.com (precomputed in PHP, Alpine.js CSP-safe onerror)
- time_ago precomputed in PHP — no Carbon::parse() double-instantiation in Blade
- SELECT only 12 needed columns instead of SELECT *; limit 25 rows
- wire:poll.5s.visible — polling stops when widget is off-screen
## Link Organization
- Folders: one folder per link, clickable → filtered link list, link count badge
- Tags: up to 5 tags per link, clickable → filtered link list, link count badge
- Archiving: soft-archive links instead of permanent deletion; restorable
## REST API
- Per-key API scopes: links:read-only (GET) / links:read-write (full CRUD)
- Per-key rate limiting: individual requests/minute per API key
## Translations
- Added stats_live_feed_poll_interval (EN: 'Updates every 5s', PL: 'Aktualizacja co 5s')
## Docs
- README.md: corrected API scopes/rate-limiting docs (features were already implemented)
- README.md: added Folders, Tags, Archiving to features list
- README.md: added v5.0.0 changelog entry
2026-06-06 02:16:07 +02:00
|
|
|
@import "tailwindcss/theme";
|
|
|
|
|
@import "tailwindcss/utilities";
|
2026-06-01 18:59:17 +02:00
|
|
|
|
|
|
|
|
@source "../../src/**/*.php";
|
feat: v5.0.0 — Live Feed page, Folders & Tags, Link Archiving, API scopes
## Analytics — Live Activity Feed
- Dedicated /stats/live standalone page (mirrors /stats/logs pattern)
- Consistent 3-tab navigation across Statistics / Live Feed / Visit Logs
- checkForUpdates() with skipRender(): O(1) MAX(id) poll — ~100-byte response on no-change
- latestVisitId sentinel (-1) prevents unnecessary first-poll re-render
- Cache key versioned by latestVisitId — fixes bug where concurrent users
could permanently miss a visit due to stale thundering-herd cache
- 3-second thundering-herd cache (key: url_id + date + filters + latestVisitId)
- Country flags via flagcdn.com (precomputed in PHP, Alpine.js CSP-safe onerror)
- time_ago precomputed in PHP — no Carbon::parse() double-instantiation in Blade
- SELECT only 12 needed columns instead of SELECT *; limit 25 rows
- wire:poll.5s.visible — polling stops when widget is off-screen
## Link Organization
- Folders: one folder per link, clickable → filtered link list, link count badge
- Tags: up to 5 tags per link, clickable → filtered link list, link count badge
- Archiving: soft-archive links instead of permanent deletion; restorable
## REST API
- Per-key API scopes: links:read-only (GET) / links:read-write (full CRUD)
- Per-key rate limiting: individual requests/minute per API key
## Translations
- Added stats_live_feed_poll_interval (EN: 'Updates every 5s', PL: 'Aktualizacja co 5s')
## Docs
- README.md: corrected API scopes/rate-limiting docs (features were already implemented)
- README.md: added Folders, Tags, Archiving to features list
- README.md: added v5.0.0 changelog entry
2026-06-06 02:16:07 +02:00
|
|
|
@source "../views/**/*.blade.php";
|
|
|
|
|
@source "packages/filament-short-url/src/**/*.php";
|
|
|
|
|
@source "packages/filament-short-url/resources/views/**/*.blade.php";
|
2026-06-01 18:59:17 +02:00
|
|
|
|
2026-06-08 16:11:47 +02:00
|
|
|
/* Number stepper — keep intrinsic width inside Filament grid fields */
|
|
|
|
|
.fsu-number-stepper {
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
width: fit-content;
|
|
|
|
|
max-width: max-content;
|
|
|
|
|
justify-self: start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fi-fo-field:has(> .fi-fo-field-content-col .fsu-number-stepper) > .fi-fo-field-content-col {
|
|
|
|
|
justify-items: start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Segment control — HeroUI-style sliding pill */
|
|
|
|
|
.fsu-segment-control {
|
|
|
|
|
display: block;
|
|
|
|
|
width: fit-content;
|
|
|
|
|
max-width: max-content;
|
|
|
|
|
justify-self: start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-control.w-full {
|
|
|
|
|
width: 100%;
|
|
|
|
|
max-width: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-track {
|
|
|
|
|
position: relative;
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
isolation: isolate;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
background-color: rgb(243 244 246);
|
|
|
|
|
padding: 3px;
|
|
|
|
|
gap: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .fsu-segment-track {
|
|
|
|
|
background-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-track--ghost {
|
|
|
|
|
background-color: transparent;
|
|
|
|
|
box-shadow: inset 0 0 0 1px rgb(229 231 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .fsu-segment-track--ghost {
|
|
|
|
|
box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-track--sm {
|
|
|
|
|
min-height: 28px;
|
|
|
|
|
padding: 2px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-track--md {
|
|
|
|
|
min-height: 32px;
|
|
|
|
|
padding: 3px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-track--lg {
|
|
|
|
|
min-height: 40px;
|
|
|
|
|
padding: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-indicator {
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 0;
|
|
|
|
|
left: 0;
|
|
|
|
|
z-index: 0;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
pointer-events: none;
|
|
|
|
|
will-change: transform, width, height;
|
|
|
|
|
transition:
|
|
|
|
|
transform 0.32s cubic-bezier(0.34, 1.2, 0.64, 1),
|
|
|
|
|
width 0.32s cubic-bezier(0.34, 1.2, 0.64, 1),
|
|
|
|
|
height 0.32s cubic-bezier(0.34, 1.2, 0.64, 1),
|
|
|
|
|
opacity 0.2s ease;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
box-shadow:
|
|
|
|
|
0 1px 2px rgb(0 0 0 / 0.06),
|
|
|
|
|
0 2px 6px rgb(0 0 0 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .fsu-segment-indicator {
|
|
|
|
|
background-color: rgb(24 24 27);
|
|
|
|
|
box-shadow:
|
|
|
|
|
0 1px 2px rgb(0 0 0 / 0.35),
|
|
|
|
|
inset 0 0 0 1px rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-indicator--ghost {
|
|
|
|
|
background-color: rgb(79 70 229);
|
|
|
|
|
box-shadow: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .fsu-segment-indicator--ghost {
|
|
|
|
|
background-color: rgb(99 102 241);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item {
|
|
|
|
|
position: relative;
|
|
|
|
|
z-index: 1;
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 0.375rem;
|
|
|
|
|
border: 0;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
background: transparent;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
line-height: 1;
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
transition: color 0.2s ease;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item:hover:not(:disabled):not([data-segment-selected='true']) {
|
|
|
|
|
color: rgb(55 65 81);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .fsu-segment-item {
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .fsu-segment-item:hover:not(:disabled):not([data-segment-selected='true']) {
|
|
|
|
|
color: rgb(229 231 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item[data-segment-selected='true'] {
|
|
|
|
|
color: rgb(17 24 39);
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .fsu-segment-item[data-segment-selected='true'] {
|
|
|
|
|
color: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-track--ghost .fsu-segment-item[data-segment-selected='true'] {
|
|
|
|
|
color: #fff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item:disabled {
|
|
|
|
|
cursor: not-allowed;
|
|
|
|
|
opacity: 0.45;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item--sm {
|
|
|
|
|
height: 24px;
|
|
|
|
|
padding: 0 10px;
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
gap: 0.25rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item--md {
|
|
|
|
|
height: 28px;
|
|
|
|
|
padding: 0 14px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item--lg {
|
|
|
|
|
height: 32px;
|
|
|
|
|
padding: 0 18px;
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
gap: 0.5rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item svg {
|
|
|
|
|
display: block;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item--sm svg {
|
|
|
|
|
width: 14px;
|
|
|
|
|
height: 14px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item--md svg {
|
|
|
|
|
width: 16px;
|
|
|
|
|
height: 16px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-item--lg svg {
|
|
|
|
|
width: 18px;
|
|
|
|
|
height: 18px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-separator {
|
|
|
|
|
z-index: 1;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
width: 1px;
|
|
|
|
|
height: 14px;
|
|
|
|
|
margin: 0 1px;
|
|
|
|
|
background-color: rgb(209 213 219 / 0.85);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .fsu-segment-separator {
|
|
|
|
|
background-color: rgb(255 255 255 / 0.12);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-control.w-full .fsu-segment-track {
|
|
|
|
|
display: flex;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fsu-segment-control.w-full .fsu-segment-item {
|
|
|
|
|
flex: 1 1 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fi-fo-field:has(> .fi-fo-field-content-col .fsu-segment-control:not(.w-full)) > .fi-fo-field-content-col {
|
|
|
|
|
justify-items: start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* QR designer — icon-only segment controls (Style, Eye Square, Eye Dot) */
|
|
|
|
|
.qr-segment-icon-only .fsu-segment-track--lg {
|
|
|
|
|
min-height: 44px;
|
|
|
|
|
padding: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-segment-icon-only .fsu-segment-item--lg {
|
|
|
|
|
height: 36px;
|
|
|
|
|
min-width: 36px;
|
|
|
|
|
padding: 0 10px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-segment-icon-only .fsu-segment-item--lg svg {
|
|
|
|
|
width: 28px;
|
|
|
|
|
height: 28px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Style* row — 6 dot-style previews, needs larger hit targets */
|
|
|
|
|
.qr-segment-icon-only--style .fsu-segment-track--lg {
|
|
|
|
|
min-height: 52px;
|
|
|
|
|
padding: 5px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-segment-icon-only--style .fsu-segment-item--lg {
|
|
|
|
|
height: 42px;
|
|
|
|
|
min-width: 42px;
|
|
|
|
|
padding: 0 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-segment-icon-only--style .fsu-segment-item--lg svg {
|
|
|
|
|
width: 34px;
|
|
|
|
|
height: 34px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Validity / Expiration tab */
|
|
|
|
|
.validity-tab-card {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
border-radius: 1rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
padding: 1.25rem;
|
|
|
|
|
box-shadow: 0 1px 2px rgb(0 0 0 / 0.04);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1);
|
|
|
|
|
background: rgb(255 255 255 / 0.03);
|
|
|
|
|
box-shadow: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-header {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
gap: 0.875rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-header--compact {
|
|
|
|
|
margin-bottom: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fi-fo-field:has(.validity-tab-card-header--compact) {
|
|
|
|
|
margin-bottom: 0 !important;
|
|
|
|
|
gap: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card .fi-sc-has-gap {
|
|
|
|
|
gap: 0.625rem !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon .fsu-tab-card-icon-svg,
|
|
|
|
|
.validity-tab-card-icon .fi-icon {
|
|
|
|
|
width: 1.25rem;
|
|
|
|
|
height: 1.25rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-toolbar-main {
|
|
|
|
|
min-width: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@media (min-width: 768px) {
|
|
|
|
|
.validity-tab-card-toolbar-grid .fi-grid-col:has(.validity-tab-card-toolbar-action) {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-toolbar-action.fi-fo-field {
|
|
|
|
|
gap: 0 !important;
|
|
|
|
|
width: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-toolbar-action.fi-fo-field.fi-fo-field-has-inline-label {
|
|
|
|
|
grid-template-columns: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-toolbar-action .fi-fo-field-label-col {
|
|
|
|
|
display: none !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-toolbar-action .fi-fo-field-content-col {
|
|
|
|
|
width: auto;
|
|
|
|
|
justify-items: end;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-toolbar-action .fi-fo-toggle {
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon {
|
|
|
|
|
display: flex;
|
|
|
|
|
height: 2.5rem;
|
|
|
|
|
width: 2.5rem;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border-radius: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--schedule {
|
|
|
|
|
background: rgb(219 234 254);
|
|
|
|
|
color: rgb(37 99 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--schedule {
|
|
|
|
|
background: rgb(37 99 235 / 0.15);
|
|
|
|
|
color: rgb(147 197 253);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--limit {
|
|
|
|
|
background: rgb(254 243 199);
|
|
|
|
|
color: rgb(217 119 6);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--limit {
|
|
|
|
|
background: rgb(217 119 6 / 0.15);
|
|
|
|
|
color: rgb(252 211 77);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--tracking {
|
|
|
|
|
background: rgb(219 234 254);
|
|
|
|
|
color: rgb(37 99 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--tracking {
|
|
|
|
|
background: rgb(37 99 235 / 0.15);
|
|
|
|
|
color: rgb(147 197 253);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--utm {
|
|
|
|
|
background: rgb(237 233 254);
|
|
|
|
|
color: rgb(124 58 237);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--utm {
|
|
|
|
|
background: rgb(124 58 237 / 0.15);
|
|
|
|
|
color: rgb(196 181 253);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--ga {
|
|
|
|
|
background: rgb(220 252 231);
|
|
|
|
|
color: rgb(22 163 74);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--ga {
|
|
|
|
|
background: rgb(22 163 74 / 0.15);
|
|
|
|
|
color: rgb(134 239 172);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
font-size: 0.9375rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
line-height: 1.35;
|
|
|
|
|
color: rgb(17 24 39);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-title {
|
|
|
|
|
color: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-subtitle {
|
|
|
|
|
margin: 0.125rem 0 0;
|
|
|
|
|
font-size: 0.8125rem;
|
|
|
|
|
line-height: 1.45;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-subtitle {
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-empty {
|
|
|
|
|
margin-top: 0.625rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border-radius: 0.875rem;
|
|
|
|
|
border: 1px dashed rgb(209 213 219);
|
|
|
|
|
background: rgb(249 250 251);
|
|
|
|
|
padding: 1.75rem 1.25rem;
|
|
|
|
|
text-align: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-empty {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.12);
|
|
|
|
|
background: rgb(255 255 255 / 0.02);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-empty-icon {
|
|
|
|
|
display: flex;
|
|
|
|
|
height: 2.75rem;
|
|
|
|
|
width: 2.75rem;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
background: rgb(243 244 246);
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
margin-bottom: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-empty-icon {
|
|
|
|
|
background: rgb(255 255 255 / 0.06);
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-empty-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
font-size: 0.9375rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: rgb(17 24 39);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-empty-title {
|
|
|
|
|
color: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-empty-desc {
|
|
|
|
|
margin: 0.375rem 0 0;
|
|
|
|
|
max-width: 28rem;
|
|
|
|
|
font-size: 0.8125rem;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-empty-desc {
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-schedule-panel {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
border-radius: 0.875rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
background: rgb(249 250 251);
|
|
|
|
|
padding: 1rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-schedule-panel {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
background: rgb(255 255 255 / 0.02);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-timeline-hint {
|
|
|
|
|
position: relative;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 0.5rem;
|
|
|
|
|
margin-bottom: 0.25rem;
|
|
|
|
|
padding-bottom: 0.25rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-timeline-dot {
|
|
|
|
|
height: 0.625rem;
|
|
|
|
|
width: 0.625rem;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-timeline-dot--start {
|
|
|
|
|
background: rgb(34 197 94);
|
|
|
|
|
box-shadow: 0 0 0 3px rgb(34 197 94 / 0.18);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-timeline-dot--end {
|
|
|
|
|
background: rgb(239 68 68);
|
|
|
|
|
box-shadow: 0 0 0 3px rgb(239 68 68 / 0.18);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-timeline-line {
|
|
|
|
|
height: 2px;
|
|
|
|
|
flex: 1 1 auto;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
background: linear-gradient(90deg, rgb(34 197 94), rgb(239 68 68));
|
|
|
|
|
opacity: 0.45;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-timeline-label {
|
|
|
|
|
margin-left: 0.25rem;
|
|
|
|
|
font-size: 0.6875rem;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
letter-spacing: 0.08em;
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-timeline-label {
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-limit-block {
|
|
|
|
|
height: 100%;
|
|
|
|
|
border-radius: 0.875rem;
|
|
|
|
|
border: 1px solid rgb(243 244 246);
|
|
|
|
|
background: rgb(249 250 251);
|
|
|
|
|
padding: 1rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-limit-block {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.06);
|
|
|
|
|
background: rgb(255 255 255 / 0.02);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-limit-block--counter {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-max-visits-card {
|
|
|
|
|
position: relative !important;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
min-height: 10.5rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-max-visits-card .fi-grid-col:has(.validity-max-visits-lock) {
|
|
|
|
|
position: absolute !important;
|
|
|
|
|
inset: 0 !important;
|
|
|
|
|
z-index: 30 !important;
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
padding: 0 !important;
|
|
|
|
|
width: 100% !important;
|
|
|
|
|
height: 100% !important;
|
|
|
|
|
pointer-events: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-max-visits-card:has(.validity-max-visits-lock) .fi-grid-col:not(:has(.validity-max-visits-lock)) {
|
|
|
|
|
pointer-events: none;
|
|
|
|
|
user-select: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-max-visits-card .fi-fo-field:has(.validity-max-visits-lock) {
|
|
|
|
|
position: absolute !important;
|
|
|
|
|
inset: 0 !important;
|
|
|
|
|
z-index: 30 !important;
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
padding: 0 !important;
|
|
|
|
|
width: 100% !important;
|
|
|
|
|
height: 100% !important;
|
|
|
|
|
pointer-events: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-max-visits-card .fi-fo-field:has(.validity-max-visits-lock) .fi-fo-field-content-col,
|
|
|
|
|
.validity-max-visits-card .fi-fo-field:has(.validity-max-visits-lock) .fi-fo-field-content {
|
|
|
|
|
height: 100%;
|
|
|
|
|
width: 100%;
|
|
|
|
|
padding: 0 !important;
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-max-visits-lock {
|
|
|
|
|
position: absolute;
|
|
|
|
|
inset: 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border-radius: inherit;
|
|
|
|
|
background: rgb(255 255 255 / 0.45);
|
|
|
|
|
backdrop-filter: blur(20px) saturate(180%);
|
|
|
|
|
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
|
|
|
|
box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.55);
|
|
|
|
|
cursor: not-allowed;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-max-visits-lock {
|
|
|
|
|
background: rgb(15 23 42 / 0.42);
|
|
|
|
|
backdrop-filter: blur(20px) saturate(160%);
|
|
|
|
|
-webkit-backdrop-filter: blur(20px) saturate(160%);
|
|
|
|
|
box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-max-visits-lock-icon {
|
|
|
|
|
display: flex;
|
|
|
|
|
height: 3.5rem;
|
|
|
|
|
width: 3.5rem;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
background: rgb(255 255 255 / 0.72);
|
|
|
|
|
color: rgb(75 85 99);
|
|
|
|
|
backdrop-filter: blur(12px) saturate(180%);
|
|
|
|
|
-webkit-backdrop-filter: blur(12px) saturate(180%);
|
|
|
|
|
box-shadow:
|
|
|
|
|
0 4px 24px rgb(0 0 0 / 0.12),
|
|
|
|
|
0 0 0 1px rgb(255 255 255 / 0.65);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-max-visits-lock-icon {
|
|
|
|
|
background: rgb(39 39 42 / 0.72);
|
|
|
|
|
color: rgb(212 212 216);
|
|
|
|
|
box-shadow:
|
|
|
|
|
0 4px 24px rgb(0 0 0 / 0.35),
|
|
|
|
|
inset 0 0 0 1px rgb(255 255 255 / 0.12);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-stepper-wrap {
|
|
|
|
|
margin-top: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fi-fo-field:has(.validity-stepper-wrap) > .fi-fo-field-content-col {
|
|
|
|
|
justify-items: start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Tracking tab */
|
|
|
|
|
.tracking-card-toolbar-action.fi-fo-field {
|
|
|
|
|
align-self: start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@media (min-width: 768px) {
|
|
|
|
|
.validity-tab-card-toolbar-grid .fi-grid-col:has(.tracking-card-toolbar-action) {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
padding-top: 0.125rem;
|
|
|
|
|
padding-right: 0.125rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-fields-panel {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.625rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-fields-category {
|
|
|
|
|
margin: 0.5rem 0 0;
|
|
|
|
|
font-size: 0.6875rem;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
letter-spacing: 0.08em;
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .tracking-fields-category {
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-field-card {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 1rem 3.75rem 1rem 1rem;
|
|
|
|
|
min-height: 4.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-field-card-copy {
|
|
|
|
|
min-width: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-field-card-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
font-size: 0.875rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
line-height: 1.35;
|
|
|
|
|
color: rgb(17 24 39);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .tracking-field-card-title {
|
|
|
|
|
color: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-field-card-desc {
|
|
|
|
|
margin: 0.25rem 0 0;
|
|
|
|
|
font-size: 0.8125rem;
|
|
|
|
|
line-height: 1.45;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .tracking-field-card-desc {
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-field-card-toggle.fi-fo-field {
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 1rem;
|
|
|
|
|
right: 1rem;
|
|
|
|
|
z-index: 2;
|
|
|
|
|
width: auto;
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
padding: 0 !important;
|
|
|
|
|
gap: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-field-card-toggle .fi-fo-field-label-col {
|
|
|
|
|
display: none !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-field-card-toggle .fi-fo-field-content-col {
|
|
|
|
|
width: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-utm-card .validity-tab-card-header--compact {
|
|
|
|
|
margin-bottom: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-utm-fields {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
padding-top: 0.625rem;
|
|
|
|
|
border-top: 1px solid rgb(243 244 246);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .tracking-utm-fields {
|
|
|
|
|
border-top-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.tracking-ga-field {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
padding-top: 0.625rem;
|
|
|
|
|
border-top: 1px solid rgb(243 244 246);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .tracking-ga-field {
|
|
|
|
|
border-top-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Link tab */
|
|
|
|
|
.validity-tab-card-icon--link {
|
|
|
|
|
background: rgb(219 234 254);
|
|
|
|
|
color: rgb(37 99 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--link {
|
|
|
|
|
background: rgb(37 99 235 / 0.15);
|
|
|
|
|
color: rgb(147 197 253);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--key {
|
|
|
|
|
background: rgb(254 243 199);
|
|
|
|
|
color: rgb(217 119 6);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--key {
|
|
|
|
|
background: rgb(217 119 6 / 0.15);
|
|
|
|
|
color: rgb(252 211 77);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--behavior {
|
|
|
|
|
background: rgb(243 244 246);
|
|
|
|
|
color: rgb(75 85 99);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--behavior {
|
|
|
|
|
background: rgb(255 255 255 / 0.08);
|
|
|
|
|
color: rgb(209 213 219);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--tags {
|
|
|
|
|
background: rgb(237 233 254);
|
|
|
|
|
color: rgb(124 58 237);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--tags {
|
|
|
|
|
background: rgb(124 58 237 / 0.15);
|
|
|
|
|
color: rgb(196 181 253);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--notes {
|
|
|
|
|
background: rgb(254 249 195);
|
|
|
|
|
color: rgb(202 138 4);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--notes {
|
|
|
|
|
background: rgb(202 138 4 / 0.15);
|
|
|
|
|
color: rgb(253 224 71);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--targeting {
|
|
|
|
|
background: rgb(255 237 213);
|
|
|
|
|
color: rgb(234 88 12);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--targeting {
|
|
|
|
|
background: rgb(234 88 12 / 0.15);
|
|
|
|
|
color: rgb(253 186 116);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--app-linking {
|
|
|
|
|
background: rgb(209 250 229);
|
|
|
|
|
color: rgb(5 150 105);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--app-linking {
|
|
|
|
|
background: rgb(5 150 105 / 0.15);
|
|
|
|
|
color: rgb(110 231 183);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--password {
|
|
|
|
|
background: rgb(254 243 199);
|
|
|
|
|
color: rgb(217 119 6);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--password {
|
|
|
|
|
background: rgb(217 119 6 / 0.15);
|
|
|
|
|
color: rgb(252 211 77);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--password-active {
|
|
|
|
|
background: rgb(209 250 229);
|
|
|
|
|
color: rgb(5 150 105);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--password-active {
|
|
|
|
|
background: rgb(16 185 129 / 0.15);
|
|
|
|
|
color: rgb(110 231 183);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--warning {
|
|
|
|
|
background: rgb(254 226 226);
|
|
|
|
|
color: rgb(220 38 38);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--warning {
|
|
|
|
|
background: rgb(220 38 38 / 0.15);
|
|
|
|
|
color: rgb(252 165 165);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Password tab */
|
|
|
|
|
.password-tab-card,
|
|
|
|
|
.password-warning-card {
|
|
|
|
|
overflow: visible;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-warning-card {
|
|
|
|
|
overflow: visible;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-warning-card .validity-tab-card-toolbar-grid {
|
|
|
|
|
margin-bottom: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-setup-action {
|
|
|
|
|
margin-top: 0.125rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-setup-action .fi-btn {
|
|
|
|
|
width: 100%;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 0.375rem;
|
|
|
|
|
border: 1px dashed rgb(209 213 219);
|
|
|
|
|
border-radius: 0.625rem;
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
color: rgb(55 65 81);
|
|
|
|
|
box-shadow: none;
|
|
|
|
|
padding-block: 0.625rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .password-tab-setup-action .fi-btn {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.14);
|
|
|
|
|
background: rgb(255 255 255 / 0.02);
|
|
|
|
|
color: rgb(209 213 219);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-setup-action .fi-btn:hover {
|
|
|
|
|
border-color: rgb(251 146 60);
|
|
|
|
|
background: rgb(255 247 237);
|
|
|
|
|
color: rgb(194 65 12);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .password-tab-setup-action .fi-btn:hover {
|
|
|
|
|
border-color: rgb(251 146 60 / 0.45);
|
|
|
|
|
background: rgb(234 88 12 / 0.12);
|
|
|
|
|
color: rgb(253 186 116);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-form-panel {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-section-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
font-size: 0.6875rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
letter-spacing: 0.04em;
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .password-tab-section-title {
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-status {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
border-radius: 0.875rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
padding: 0.875rem 1rem;
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .password-tab-status {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1);
|
|
|
|
|
background: rgb(255 255 255 / 0.03);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-status--active {
|
|
|
|
|
border-color: rgb(167 243 208);
|
|
|
|
|
background: rgb(236 253 245);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .password-tab-status--active {
|
|
|
|
|
border-color: rgb(16 185 129 / 0.25);
|
|
|
|
|
background: rgb(16 185 129 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-status--warning {
|
|
|
|
|
border-color: rgb(254 215 170);
|
|
|
|
|
background: rgb(255 247 237);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .password-tab-status--warning {
|
|
|
|
|
border-color: rgb(234 88 12 / 0.25);
|
|
|
|
|
background: rgb(234 88 12 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-status-main {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-status-icon {
|
|
|
|
|
display: flex;
|
|
|
|
|
height: 2.5rem;
|
|
|
|
|
width: 2.5rem;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border-radius: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-status-icon--active {
|
|
|
|
|
background: rgb(209 250 229);
|
|
|
|
|
color: rgb(5 150 105);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .password-tab-status-icon--active {
|
|
|
|
|
background: rgb(16 185 129 / 0.15);
|
|
|
|
|
color: rgb(110 231 183);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-status-icon--warning {
|
|
|
|
|
background: rgb(254 226 226);
|
|
|
|
|
color: rgb(220 38 38);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .password-tab-status-icon--warning {
|
|
|
|
|
background: rgb(220 38 38 / 0.15);
|
|
|
|
|
color: rgb(252 165 165);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-status-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
font-size: 0.875rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
line-height: 1.4;
|
|
|
|
|
color: rgb(17 24 39);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .password-tab-status-title {
|
|
|
|
|
color: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-status-desc {
|
|
|
|
|
margin: 0.25rem 0 0;
|
|
|
|
|
font-size: 0.8125rem;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .password-tab-status-desc {
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-active-actions,
|
|
|
|
|
.password-tab-form-actions {
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.password-tab-form-panel .fi-sc-has-gap {
|
|
|
|
|
gap: 0.75rem !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Marketing tab */
|
|
|
|
|
.marketing-pixels-card,
|
|
|
|
|
.marketing-webhook-card {
|
|
|
|
|
overflow: visible;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--pixels {
|
|
|
|
|
background: rgb(237 233 254);
|
|
|
|
|
color: rgb(124 58 237);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--pixels {
|
|
|
|
|
background: rgb(124 58 237 / 0.15);
|
|
|
|
|
color: rgb(196 181 253);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--webhook {
|
|
|
|
|
background: rgb(219 234 254);
|
|
|
|
|
color: rgb(37 99 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--webhook {
|
|
|
|
|
background: rgb(37 99 235 / 0.15);
|
|
|
|
|
color: rgb(147 197 253);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-pixels-field,
|
|
|
|
|
.marketing-webhook-field {
|
|
|
|
|
margin-top: 0.125rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-webhook-panel {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-tab-callout {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
border-radius: 0.875rem;
|
|
|
|
|
border: 1px solid rgb(191 219 254);
|
|
|
|
|
background: rgb(239 246 255);
|
|
|
|
|
padding: 0.875rem 1rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .marketing-tab-callout {
|
|
|
|
|
border-color: rgb(37 99 235 / 0.25);
|
|
|
|
|
background: rgb(37 99 235 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-tab-callout-icon {
|
|
|
|
|
display: flex;
|
|
|
|
|
height: 2rem;
|
|
|
|
|
width: 2rem;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border-radius: 0.625rem;
|
|
|
|
|
background: rgb(219 234 254);
|
|
|
|
|
color: rgb(37 99 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .marketing-tab-callout-icon {
|
|
|
|
|
background: rgb(37 99 235 / 0.15);
|
|
|
|
|
color: rgb(147 197 253);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-tab-callout-text {
|
|
|
|
|
margin: 0;
|
|
|
|
|
font-size: 0.8125rem;
|
|
|
|
|
line-height: 1.55;
|
|
|
|
|
color: rgb(55 65 81);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .marketing-tab-callout-text {
|
|
|
|
|
color: rgb(209 213 219);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-webhook-payload {
|
|
|
|
|
margin-top: 0.125rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-webhook-payload-action {
|
|
|
|
|
margin-top: 0.125rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-webhook-payload-wrap {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.5rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-webhook-payload-label {
|
|
|
|
|
margin: 0;
|
|
|
|
|
font-size: 0.8125rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: rgb(55 65 81);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .marketing-webhook-payload-label {
|
|
|
|
|
color: rgb(209 213 219);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-webhook-payload-code {
|
|
|
|
|
position: relative;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
border-radius: 0.875rem;
|
|
|
|
|
border: 1px solid rgb(39 39 42);
|
|
|
|
|
background: rgb(24 24 27);
|
|
|
|
|
padding: 1.25rem;
|
|
|
|
|
box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-webhook-payload-copy {
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: 1rem;
|
|
|
|
|
right: 1rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
height: 2rem;
|
|
|
|
|
width: 2rem;
|
|
|
|
|
border-radius: 0.5rem;
|
|
|
|
|
border: none;
|
|
|
|
|
background: rgb(255 255 255 / 0.08);
|
|
|
|
|
color: rgb(161 161 170);
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: background-color 0.2s, color 0.2s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-webhook-payload-copy:hover {
|
|
|
|
|
background: rgb(255 255 255 / 0.15);
|
|
|
|
|
color: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-webhook-payload-pre {
|
|
|
|
|
margin: 0;
|
|
|
|
|
overflow-x: auto;
|
|
|
|
|
white-space: pre-wrap;
|
|
|
|
|
word-break: break-all;
|
|
|
|
|
padding-right: 2.5rem;
|
|
|
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
line-height: 1.6;
|
|
|
|
|
color: rgb(212 212 216);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.marketing-webhook-payload-code-inner {
|
|
|
|
|
font: inherit;
|
|
|
|
|
color: inherit;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* SEO & Social tab */
|
|
|
|
|
.seo-settings-card,
|
|
|
|
|
.seo-og-card {
|
|
|
|
|
overflow: visible;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--seo {
|
|
|
|
|
background: rgb(219 234 254);
|
|
|
|
|
color: rgb(37 99 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--seo {
|
|
|
|
|
background: rgb(37 99 235 / 0.15);
|
|
|
|
|
color: rgb(147 197 253);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card-icon--og {
|
|
|
|
|
background: rgb(237 233 254);
|
|
|
|
|
color: rgb(124 58 237);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .validity-tab-card-icon--og {
|
|
|
|
|
background: rgb(124 58 237 / 0.15);
|
|
|
|
|
color: rgb(196 181 253);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.seo-settings-grid,
|
|
|
|
|
.seo-og-panel {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.seo-og-field {
|
|
|
|
|
margin-top: 0.125rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.link-segment-wrap {
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
gap: 0.25rem !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fi-fo-field:has(> .fi-fo-field-content-col .link-segment-wrap) > .fi-fo-field-content-col,
|
|
|
|
|
.fi-fo-field:has(.link-segment-wrap) > .fi-fo-field-content-col {
|
|
|
|
|
justify-items: start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.link-tab-panel {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
padding-top: 0.625rem;
|
|
|
|
|
border-top: 1px solid rgb(243 244 246);
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .link-tab-panel {
|
|
|
|
|
border-top-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.link-tab-panel--flush {
|
|
|
|
|
padding-top: 0;
|
|
|
|
|
border-top: 0;
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.link-tab-panel-field {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
padding-top: 0.625rem;
|
|
|
|
|
border-top: 1px solid rgb(243 244 246);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .link-tab-panel-field {
|
|
|
|
|
border-top-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card:has(.targeting-rules-repeater) {
|
|
|
|
|
overflow: visible;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Targeting tab */
|
|
|
|
|
.targeting-rules-repeater.fi-fo-repeater {
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
margin-top: 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater.fi-fo-repeater > .fi-fo-repeater-items {
|
|
|
|
|
display: grid !important;
|
|
|
|
|
grid-template-columns: minmax(0, 1fr) !important;
|
|
|
|
|
width: 100%;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater.fi-fo-repeater .fi-fo-repeater-item {
|
|
|
|
|
position: relative;
|
|
|
|
|
overflow: visible;
|
|
|
|
|
border-radius: 0.875rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
background: rgb(249 250 251);
|
|
|
|
|
padding: 0.625rem 0.75rem;
|
|
|
|
|
box-shadow: none;
|
|
|
|
|
width: 100%;
|
|
|
|
|
max-width: none;
|
|
|
|
|
grid-column: 1 / -1;
|
|
|
|
|
--tw-ring-shadow: 0 0 #0000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .targeting-rules-repeater.fi-fo-repeater .fi-fo-repeater-item {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1);
|
|
|
|
|
background: rgb(255 255 255 / 0.02);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater.fi-fo-repeater .fi-fo-repeater-item > .fi-fo-repeater-item-header {
|
|
|
|
|
position: absolute !important;
|
|
|
|
|
top: 0.625rem !important;
|
|
|
|
|
right: 0.75rem !important;
|
|
|
|
|
z-index: 2;
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
padding: 0 !important;
|
|
|
|
|
min-height: 0;
|
|
|
|
|
background: transparent;
|
|
|
|
|
border: 0;
|
|
|
|
|
width: auto !important;
|
|
|
|
|
display: block !important;
|
|
|
|
|
overflow: visible !important;
|
|
|
|
|
flex: none !important;
|
|
|
|
|
gap: 0 !important;
|
|
|
|
|
cursor: default;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater.fi-fo-repeater .fi-fo-repeater-item-has-header > .fi-fo-repeater-item-content {
|
|
|
|
|
border-top: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater .fi-fo-repeater-item-header-start-actions {
|
|
|
|
|
display: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater .fi-fo-repeater-item-header-end-actions {
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
padding: 0;
|
|
|
|
|
list-style: none;
|
|
|
|
|
display: flex;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater .targeting-rule-delete-btn,
|
|
|
|
|
.targeting-rules-repeater .fi-fo-repeater-item-header-end-actions .fi-icon-btn {
|
|
|
|
|
display: inline-flex !important;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
width: 1.75rem !important;
|
|
|
|
|
height: 1.75rem !important;
|
|
|
|
|
min-width: 1.75rem !important;
|
|
|
|
|
min-height: 1.75rem !important;
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
padding: 0 !important;
|
|
|
|
|
border-radius: 9999px !important;
|
|
|
|
|
border: 1px solid rgb(229 231 235) !important;
|
|
|
|
|
background: rgb(243 244 246) !important;
|
|
|
|
|
color: rgb(107 114 128) !important;
|
|
|
|
|
box-shadow: none !important;
|
|
|
|
|
transition:
|
|
|
|
|
background-color 0.15s ease,
|
|
|
|
|
border-color 0.15s ease,
|
|
|
|
|
color 0.15s ease;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater .targeting-rule-delete-btn:hover,
|
|
|
|
|
.targeting-rules-repeater .fi-fo-repeater-item-header-end-actions .fi-icon-btn:hover {
|
|
|
|
|
background: rgb(254 242 242) !important;
|
|
|
|
|
border-color: rgb(254 202 202) !important;
|
|
|
|
|
color: rgb(220 38 38) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .targeting-rules-repeater .targeting-rule-delete-btn,
|
|
|
|
|
.dark .targeting-rules-repeater .fi-fo-repeater-item-header-end-actions .fi-icon-btn {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1) !important;
|
|
|
|
|
background: rgb(255 255 255 / 0.06) !important;
|
|
|
|
|
color: rgb(156 163 175) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .targeting-rules-repeater .targeting-rule-delete-btn:hover,
|
|
|
|
|
.dark .targeting-rules-repeater .fi-fo-repeater-item-header-end-actions .fi-icon-btn:hover {
|
|
|
|
|
background: rgb(127 29 29 / 0.22) !important;
|
|
|
|
|
border-color: rgb(248 113 113 / 0.35) !important;
|
|
|
|
|
color: rgb(252 165 165) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater .targeting-rule-delete-btn .fi-icon,
|
|
|
|
|
.targeting-rules-repeater .fi-fo-repeater-item-header-end-actions .fi-icon-btn .fi-icon {
|
|
|
|
|
width: 0.875rem;
|
|
|
|
|
height: 0.875rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater .fi-fo-repeater-item-content {
|
|
|
|
|
padding: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rule-item {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.25rem;
|
|
|
|
|
width: 100%;
|
|
|
|
|
min-width: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater .targeting-rule-item > .fi-sc > .fi-grid > .fi-grid-col:first-child .targeting-rule-section-title {
|
|
|
|
|
padding-right: 2rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rule-item .fi-sc-has-gap {
|
|
|
|
|
gap: 0.375rem !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rule-item .fi-in-entry {
|
|
|
|
|
gap: 0 !important;
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rule-item .fi-fo-field {
|
|
|
|
|
gap: 0.375rem !important;
|
|
|
|
|
margin-bottom: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rule-item .link-segment-wrap {
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater .fi-fo-repeater-item-content,
|
|
|
|
|
.targeting-rules-repeater .fi-fo-repeater-item-content > .fi-sc {
|
|
|
|
|
width: 100%;
|
|
|
|
|
min-width: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rule-section-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
font-size: 0.6875rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
letter-spacing: 0.04em;
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rule-section-title--destination {
|
|
|
|
|
margin-top: 0.125rem;
|
|
|
|
|
padding-top: 0.4375rem;
|
|
|
|
|
border-top: 1px solid rgb(229 231 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .targeting-rule-section-title {
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .targeting-rule-section-title--destination {
|
|
|
|
|
border-top-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-tab-panel {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
padding-top: 0.25rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.375rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-app-linking-panel {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
padding-top: 0.625rem;
|
|
|
|
|
border-top: 1px solid rgb(243 244 246);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .targeting-app-linking-panel {
|
|
|
|
|
border-top-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-filters-builder.fi-fo-builder {
|
|
|
|
|
gap: 0.375rem;
|
|
|
|
|
margin-top: 0.125rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-filters-builder.fi-fo-builder .fi-fo-builder-block-picker-ctn {
|
|
|
|
|
margin-top: 0.125rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-filters-builder.fi-fo-builder .fi-fo-builder-item {
|
|
|
|
|
overflow: visible;
|
|
|
|
|
border-radius: 0.75rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
box-shadow: none;
|
|
|
|
|
--tw-ring-shadow: 0 0 #0000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-filters-builder.fi-fo-builder .fi-fo-builder-item-content {
|
|
|
|
|
overflow: visible;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-filters-builder.fi-fo-builder .fi-fo-builder-item-header {
|
|
|
|
|
overflow: visible;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .targeting-filters-builder.fi-fo-builder .fi-fo-builder-item {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1);
|
|
|
|
|
background: rgb(255 255 255 / 0.03);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater .fi-fo-repeater-add .fi-btn,
|
|
|
|
|
.targeting-filters-builder .fi-fo-builder-block-picker .fi-btn {
|
|
|
|
|
width: 100%;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 0.375rem;
|
|
|
|
|
border: 1px dashed rgb(209 213 219);
|
|
|
|
|
border-radius: 0.625rem;
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
color: rgb(55 65 81);
|
|
|
|
|
box-shadow: none;
|
|
|
|
|
padding-block: 0.625rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .targeting-rules-repeater .fi-fo-repeater-add .fi-btn,
|
|
|
|
|
.dark .targeting-filters-builder .fi-fo-builder-block-picker .fi-btn {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.14);
|
|
|
|
|
background: rgb(255 255 255 / 0.02);
|
|
|
|
|
color: rgb(209 213 219);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.targeting-rules-repeater .fi-fo-repeater-add .fi-btn:hover,
|
|
|
|
|
.targeting-filters-builder .fi-fo-builder-block-picker .fi-btn:hover {
|
|
|
|
|
border-color: rgb(251 146 60);
|
|
|
|
|
background: rgb(255 247 237);
|
|
|
|
|
color: rgb(194 65 12);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .targeting-rules-repeater .fi-fo-repeater-add .fi-btn:hover,
|
|
|
|
|
.dark .targeting-filters-builder .fi-fo-builder-block-picker .fi-btn:hover {
|
|
|
|
|
border-color: rgb(251 146 60 / 0.45);
|
|
|
|
|
background: rgb(234 88 12 / 0.12);
|
|
|
|
|
color: rgb(253 186 116);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card:has(.targeting-rules-repeater) .validity-tab-empty {
|
|
|
|
|
margin-bottom: 0.25rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.validity-tab-card:has(.targeting-rules-repeater .fi-fo-repeater-item) .targeting-rules-empty-state,
|
|
|
|
|
.validity-tab-card:has(.targeting-rules-repeater .fi-fo-repeater-item) .fi-grid-col:has(.targeting-rules-empty-state) {
|
|
|
|
|
display: none !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.fi-fo-field:has(.app-linking-preview) > .fi-fo-field-content-col {
|
|
|
|
|
max-width: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-preview {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.875rem;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
border-radius: 0.875rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
padding: 0.875rem 1rem;
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-status {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1);
|
|
|
|
|
background: rgb(255 255 255 / 0.03);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status--matched {
|
|
|
|
|
border-color: rgb(167 243 208);
|
|
|
|
|
background: rgb(236 253 245);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-status--matched {
|
|
|
|
|
border-color: rgb(16 185 129 / 0.25);
|
|
|
|
|
background: rgb(16 185 129 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status--browser {
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-main {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-icon {
|
|
|
|
|
display: flex;
|
|
|
|
|
height: 2.5rem;
|
|
|
|
|
width: 2.5rem;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
border-radius: 0.75rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-icon img {
|
|
|
|
|
height: 1.5rem;
|
|
|
|
|
width: 1.5rem;
|
|
|
|
|
object-fit: contain;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-icon--browser {
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-icon--browser svg {
|
|
|
|
|
height: 1.25rem;
|
|
|
|
|
width: 1.25rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-status-icon {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1);
|
|
|
|
|
background: rgb(255 255 255 / 0.05);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-icon--matched {
|
|
|
|
|
border-color: rgb(167 243 208);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-status-icon--matched {
|
|
|
|
|
border-color: rgb(16 185 129 / 0.25);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-copy {
|
|
|
|
|
min-width: 0;
|
|
|
|
|
flex: 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-title-row {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 0.5rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
font-size: 0.875rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: rgb(17 24 39);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-status-title {
|
|
|
|
|
color: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status--matched .app-linking-status-title {
|
|
|
|
|
color: rgb(6 95 70);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-status--matched .app-linking-status-title {
|
|
|
|
|
color: rgb(167 243 208);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-desc {
|
|
|
|
|
margin: 0.25rem 0 0;
|
|
|
|
|
font-size: 0.8125rem;
|
|
|
|
|
line-height: 1.45;
|
|
|
|
|
color: rgb(4 120 87);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-status-desc {
|
|
|
|
|
color: rgb(110 231 183);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status--browser .app-linking-status-title {
|
|
|
|
|
font-size: 0.8125rem;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
color: rgb(75 85 99);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-status--browser .app-linking-status-title {
|
|
|
|
|
color: rgb(209 213 219);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-badge {
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
padding: 0.125rem 0.5rem;
|
|
|
|
|
font-size: 0.625rem;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
letter-spacing: 0.04em;
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-status-badge--success {
|
|
|
|
|
background: rgb(16 185 129);
|
|
|
|
|
color: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-deep-link {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 0.375rem;
|
|
|
|
|
border-radius: 0.625rem;
|
|
|
|
|
border: 1px solid rgb(167 243 208);
|
|
|
|
|
background: rgb(255 255 255 / 0.75);
|
|
|
|
|
padding: 0.625rem 0.75rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-deep-link {
|
|
|
|
|
border-color: rgb(16 185 129 / 0.2);
|
|
|
|
|
background: rgb(255 255 255 / 0.04);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-deep-link-label {
|
|
|
|
|
font-size: 0.6875rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
letter-spacing: 0.04em;
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
color: rgb(5 150 105);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-deep-link-label {
|
|
|
|
|
color: rgb(110 231 183);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-deep-link-value {
|
|
|
|
|
display: block;
|
|
|
|
|
overflow-wrap: anywhere;
|
|
|
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
|
|
|
|
|
font-size: 0.75rem;
|
|
|
|
|
line-height: 1.45;
|
|
|
|
|
color: rgb(6 95 70);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-deep-link-value {
|
|
|
|
|
color: rgb(167 243 208);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-catalog {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
border-radius: 0.875rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
background: rgb(249 250 251);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-catalog {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1);
|
|
|
|
|
background: rgb(255 255 255 / 0.02);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-catalog-header {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
align-items: flex-start;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
gap: 0.75rem;
|
|
|
|
|
border-bottom: 1px solid rgb(229 231 235);
|
|
|
|
|
padding: 0.875rem 1rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-catalog-header {
|
|
|
|
|
border-bottom-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-catalog-title {
|
|
|
|
|
margin: 0;
|
|
|
|
|
font-size: 0.8125rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: rgb(17 24 39);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-catalog-title {
|
|
|
|
|
color: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-catalog-subtitle {
|
|
|
|
|
margin: 0.125rem 0 0;
|
|
|
|
|
font-size: 0.75rem;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-catalog-subtitle {
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-os-badges {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
gap: 0.375rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-os-badge {
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
border-radius: 0.375rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
padding: 0.125rem 0.5rem;
|
|
|
|
|
font-size: 0.6875rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: rgb(75 85 99);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-os-badge {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1);
|
|
|
|
|
background: rgb(255 255 255 / 0.04);
|
|
|
|
|
color: rgb(209 213 219);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-grid {
|
|
|
|
|
display: grid;
|
|
|
|
|
grid-template-columns: repeat(auto-fill, minmax(5.75rem, 1fr));
|
|
|
|
|
gap: 0.5rem;
|
|
|
|
|
padding: 0.875rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-app {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 0.5rem;
|
|
|
|
|
border-radius: 0.75rem;
|
|
|
|
|
border: 1px solid transparent;
|
|
|
|
|
padding: 0.625rem 0.375rem;
|
|
|
|
|
text-align: center;
|
|
|
|
|
transition:
|
|
|
|
|
background-color 0.15s ease,
|
|
|
|
|
border-color 0.15s ease;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-app:hover {
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
border-color: rgb(229 231 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-app:hover {
|
|
|
|
|
background: rgb(255 255 255 / 0.04);
|
|
|
|
|
border-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-app--matched {
|
|
|
|
|
border-color: rgb(167 243 208);
|
|
|
|
|
background: rgb(236 253 245);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-app--matched {
|
|
|
|
|
border-color: rgb(16 185 129 / 0.25);
|
|
|
|
|
background: rgb(16 185 129 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-app-icon-wrap {
|
|
|
|
|
position: relative;
|
|
|
|
|
display: flex;
|
|
|
|
|
height: 2.75rem;
|
|
|
|
|
width: 2.75rem;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border-radius: 0.875rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-app-icon-wrap {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1);
|
|
|
|
|
background: rgb(255 255 255 / 0.05);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-app--matched .app-linking-app-icon-wrap {
|
|
|
|
|
border-color: rgb(110 231 183);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-app-icon {
|
|
|
|
|
height: 1.625rem;
|
|
|
|
|
width: 1.625rem;
|
|
|
|
|
object-fit: contain;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-app-check {
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: -0.25rem;
|
|
|
|
|
right: -0.25rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
height: 1rem;
|
|
|
|
|
width: 1rem;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
background: rgb(16 185 129);
|
|
|
|
|
color: rgb(255 255 255);
|
|
|
|
|
box-shadow: 0 0 0 2px rgb(236 253 245);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-app-check {
|
|
|
|
|
box-shadow: 0 0 0 2px rgb(6 78 59);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-app-check svg {
|
|
|
|
|
height: 0.625rem;
|
|
|
|
|
width: 0.625rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-app-name {
|
|
|
|
|
display: -webkit-box;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
-webkit-box-orient: vertical;
|
|
|
|
|
-webkit-line-clamp: 2;
|
|
|
|
|
font-size: 0.6875rem;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
line-height: 1.25;
|
|
|
|
|
color: rgb(75 85 99);
|
|
|
|
|
word-break: break-word;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-app-name {
|
|
|
|
|
color: rgb(209 213 219);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-app--matched .app-linking-app-name {
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: rgb(6 95 70);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-app--matched .app-linking-app-name {
|
|
|
|
|
color: rgb(167 243 208);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.app-linking-footnote {
|
|
|
|
|
margin: 0;
|
|
|
|
|
border-top: 1px solid rgb(229 231 235);
|
|
|
|
|
padding: 0.75rem 1rem;
|
|
|
|
|
font-size: 0.75rem;
|
|
|
|
|
line-height: 1.5;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .app-linking-footnote {
|
|
|
|
|
border-top-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.link-short-fused.fi-fo-field {
|
|
|
|
|
margin-bottom: 0;
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-01 18:59:17 +02:00
|
|
|
.short-url-card {
|
|
|
|
|
position: relative !important;
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-05 09:15:04 +02:00
|
|
|
.short-url-card:hover {
|
|
|
|
|
z-index: 20 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.short-url-card:focus-within {
|
|
|
|
|
z-index: 30 !important;
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-01 18:59:17 +02:00
|
|
|
.short-url-card .fi-ta-actions {
|
|
|
|
|
position: absolute !important;
|
|
|
|
|
top: 1.25rem !important;
|
|
|
|
|
right: 1.25rem !important;
|
|
|
|
|
z-index: 10 !important;
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
padding: 0 !important;
|
|
|
|
|
}
|
2026-06-05 09:15:04 +02:00
|
|
|
|
|
|
|
|
.ab-test-slider {
|
|
|
|
|
margin-top: 0;
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-08 16:11:47 +02:00
|
|
|
.traffic-splitter-segment {
|
|
|
|
|
box-shadow: none !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* A/B Split Test variant table */
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater {
|
|
|
|
|
gap: 0.625rem;
|
|
|
|
|
margin-top: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
border-radius: 0.75rem;
|
|
|
|
|
border: 1px solid rgb(229 231 235);
|
|
|
|
|
background: rgb(249 250 251);
|
|
|
|
|
box-shadow: none;
|
|
|
|
|
--tw-ring-shadow: 0 0 #0000;
|
|
|
|
|
--tw-ring-offset-shadow: 0 0 #0000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .ab-test-repeater.fi-fo-table-repeater > table {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.1);
|
|
|
|
|
background: rgb(255 255 255 / 0.02);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > thead > tr > th {
|
|
|
|
|
border-color: rgb(229 231 235);
|
|
|
|
|
background: rgb(243 244 246 / 0.85);
|
|
|
|
|
padding: 0.4375rem 0.625rem;
|
|
|
|
|
font-size: 0.6875rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
letter-spacing: 0.04em;
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
color: rgb(107 114 128);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > thead > tr > th.fi-fo-table-repeater-empty-header-cell {
|
|
|
|
|
width: 2.25rem;
|
|
|
|
|
min-width: 2.25rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .ab-test-repeater.fi-fo-table-repeater > table > thead > tr > th {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
background: rgb(255 255 255 / 0.04);
|
|
|
|
|
color: rgb(156 163 175);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody {
|
|
|
|
|
counter-reset: ab-variant-row;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr {
|
|
|
|
|
counter-increment: ab-variant-row;
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
transition: background-color 0.15s ease;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .ab-test-repeater.fi-fo-table-repeater > table > tbody > tr {
|
|
|
|
|
background: rgb(17 24 39 / 0.35);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr:hover {
|
|
|
|
|
background: rgb(249 250 251);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .ab-test-repeater.fi-fo-table-repeater > table > tbody > tr:hover {
|
|
|
|
|
background: rgb(255 255 255 / 0.05);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td:first-child {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 0.5rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td:first-child::before {
|
|
|
|
|
content: counter(ab-variant-row);
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
width: 1.5rem;
|
|
|
|
|
height: 1.5rem;
|
|
|
|
|
border-radius: 0.375rem;
|
|
|
|
|
background: rgb(238 242 255);
|
|
|
|
|
color: rgb(79 70 229);
|
|
|
|
|
font-size: 0.6875rem;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
line-height: 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td:first-child::before {
|
|
|
|
|
background: rgb(79 70 229 / 0.18);
|
|
|
|
|
color: rgb(165 180 252);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td:first-child .fi-fo-field {
|
|
|
|
|
flex: 1;
|
|
|
|
|
min-width: 0;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td .fi-fo-field {
|
|
|
|
|
margin-bottom: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-compact.fi-fo-table-repeater > table > tbody > tr > td .fi-input-wrp {
|
|
|
|
|
min-height: 0;
|
|
|
|
|
padding-inline: 0.125rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td:last-child .fi-fo-table-repeater-actions {
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td:last-child .fi-btn {
|
|
|
|
|
border-radius: 0.5rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody {
|
|
|
|
|
border-color: rgb(229 231 235);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .ab-test-repeater.fi-fo-table-repeater > table > tbody {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr {
|
|
|
|
|
padding: 0.875rem;
|
|
|
|
|
gap: 0.625rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@container (min-width: 36rem) {
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr {
|
|
|
|
|
padding: 0;
|
|
|
|
|
gap: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td {
|
|
|
|
|
padding: 0.375rem 0.5rem;
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td:last-child {
|
|
|
|
|
width: 2.25rem;
|
|
|
|
|
min-width: 2.25rem;
|
|
|
|
|
padding: 0.25rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@supports not (container-type: inline-size) {
|
|
|
|
|
@media (min-width: 80rem) {
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr {
|
|
|
|
|
padding: 0;
|
|
|
|
|
gap: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td {
|
|
|
|
|
padding: 0.375rem 0.5rem;
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater > table > tbody > tr > td:last-child {
|
|
|
|
|
width: 2.25rem;
|
|
|
|
|
min-width: 2.25rem;
|
|
|
|
|
padding: 0.25rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater .fi-fo-table-repeater-add {
|
|
|
|
|
justify-content: flex-start;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater .fi-fo-table-repeater-add .fi-btn {
|
|
|
|
|
width: 100%;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 0.375rem;
|
|
|
|
|
border: 1px dashed rgb(209 213 219);
|
|
|
|
|
border-radius: 0.625rem;
|
|
|
|
|
background: rgb(255 255 255);
|
|
|
|
|
color: rgb(55 65 81);
|
|
|
|
|
box-shadow: none;
|
|
|
|
|
padding-block: 0.625rem;
|
|
|
|
|
transition:
|
|
|
|
|
border-color 0.15s ease,
|
|
|
|
|
background-color 0.15s ease,
|
|
|
|
|
color 0.15s ease;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.ab-test-repeater.fi-fo-table-repeater .fi-fo-table-repeater-add .fi-btn:hover {
|
|
|
|
|
border-color: rgb(165 180 252);
|
|
|
|
|
background: rgb(238 242 255);
|
|
|
|
|
color: rgb(67 56 202);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .ab-test-repeater.fi-fo-table-repeater .fi-fo-table-repeater-add .fi-btn {
|
|
|
|
|
border-color: rgb(255 255 255 / 0.14);
|
|
|
|
|
background: rgb(255 255 255 / 0.02);
|
|
|
|
|
color: rgb(209 213 219);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .ab-test-repeater.fi-fo-table-repeater .fi-fo-table-repeater-add .fi-btn:hover {
|
|
|
|
|
border-color: rgb(129 140 248 / 0.45);
|
|
|
|
|
background: rgb(79 70 229 / 0.12);
|
|
|
|
|
color: rgb(199 210 254);
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-05 09:15:04 +02:00
|
|
|
.ab-test-slider .noUi-tooltip {
|
|
|
|
|
position: absolute;
|
|
|
|
|
top: -24px;
|
|
|
|
|
width: 30px;
|
|
|
|
|
height: 20px;
|
|
|
|
|
bottom: inherit !important;
|
|
|
|
|
padding: 0;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
border-radius: 100px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
background: #ffffff26;
|
|
|
|
|
backdrop-filter: blur(4px);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 3-dot button trigger styling */
|
|
|
|
|
.action-trigger-btn {
|
|
|
|
|
border: 1px solid transparent !important;
|
|
|
|
|
background-color: transparent !important;
|
|
|
|
|
transition: all 0.2s ease-in-out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* On card hover, show a subtle border */
|
|
|
|
|
.short-url-card:hover .action-trigger-btn {
|
|
|
|
|
border-color: #e5e7eb !important;
|
|
|
|
|
background-color: #f9fafb !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .short-url-card:hover .action-trigger-btn {
|
|
|
|
|
border-color: #374151 !important;
|
|
|
|
|
background-color: #1f2937 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* When the dropdown is open (trigger has focus or aria-expanded="true"), show active border */
|
|
|
|
|
.action-trigger-btn[aria-expanded="true"] {
|
|
|
|
|
border-color: #9ca3af !important;
|
|
|
|
|
background-color: #f3f4f6 !important;
|
|
|
|
|
box-shadow: 0 0 0 4px rgba(229, 230, 235, 0.5) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .action-trigger-btn[aria-expanded="true"] {
|
|
|
|
|
border-color: #4b5563 !important;
|
|
|
|
|
background-color: #111827 !important;
|
|
|
|
|
box-shadow: 0 0 0 4px rgba(55, 65, 81, 0.5) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.custom-fused .fi-input-wrp {
|
|
|
|
|
border: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Ukrycie strzałki rozwijania selecta, gdy jest zablokowany */
|
|
|
|
|
select.fi-select-input:disabled,
|
|
|
|
|
.fi-select-input .fi-select-input-btn[disabled],
|
|
|
|
|
.fi-select-input .fi-select-input-btn.fi-disabled {
|
|
|
|
|
background-image: none !important;
|
|
|
|
|
padding-right: 0.75rem !important;
|
feat: v5.0.0 — Live Feed page, Folders & Tags, Link Archiving, API scopes
## Analytics — Live Activity Feed
- Dedicated /stats/live standalone page (mirrors /stats/logs pattern)
- Consistent 3-tab navigation across Statistics / Live Feed / Visit Logs
- checkForUpdates() with skipRender(): O(1) MAX(id) poll — ~100-byte response on no-change
- latestVisitId sentinel (-1) prevents unnecessary first-poll re-render
- Cache key versioned by latestVisitId — fixes bug where concurrent users
could permanently miss a visit due to stale thundering-herd cache
- 3-second thundering-herd cache (key: url_id + date + filters + latestVisitId)
- Country flags via flagcdn.com (precomputed in PHP, Alpine.js CSP-safe onerror)
- time_ago precomputed in PHP — no Carbon::parse() double-instantiation in Blade
- SELECT only 12 needed columns instead of SELECT *; limit 25 rows
- wire:poll.5s.visible — polling stops when widget is off-screen
## Link Organization
- Folders: one folder per link, clickable → filtered link list, link count badge
- Tags: up to 5 tags per link, clickable → filtered link list, link count badge
- Archiving: soft-archive links instead of permanent deletion; restorable
## REST API
- Per-key API scopes: links:read-only (GET) / links:read-write (full CRUD)
- Per-key rate limiting: individual requests/minute per API key
## Translations
- Added stats_live_feed_poll_interval (EN: 'Updates every 5s', PL: 'Aktualizacja co 5s')
## Docs
- README.md: corrected API scopes/rate-limiting docs (features were already implemented)
- README.md: added Folders, Tags, Archiving to features list
- README.md: added v5.0.0 changelog entry
2026-06-06 02:16:07 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Folder Card overrides to reset default Filament record-content padding and force height/width stretch */
|
|
|
|
|
.folder-card .fi-ta-record-content,
|
|
|
|
|
.folder-card .fi-ta-record-content-ctn {
|
|
|
|
|
padding-left: 0 !important;
|
|
|
|
|
padding-right: 0 !important;
|
|
|
|
|
padding-top: 0 !important;
|
|
|
|
|
padding-bottom: 0 !important;
|
|
|
|
|
height: 100% !important;
|
|
|
|
|
width: 100% !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.folder-card .fi-ta-record-content {
|
|
|
|
|
display: flex !important;
|
|
|
|
|
flex-direction: column !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Position action buttons absolute on the card wrapper to keep dropdown aligned */
|
|
|
|
|
.folder-card .fi-ta-actions {
|
|
|
|
|
position: absolute !important;
|
|
|
|
|
top: 1rem !important;
|
|
|
|
|
right: 1rem !important;
|
|
|
|
|
z-index: 20 !important;
|
|
|
|
|
margin: 0 !important;
|
|
|
|
|
padding: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Force height down the Filament table layout tree so justify-between works */
|
|
|
|
|
.folder-card .fi-ta-stack,
|
2026-06-08 01:58:48 +02:00
|
|
|
.folder-card .fi-ta-stack>div,
|
feat: v5.0.0 — Live Feed page, Folders & Tags, Link Archiving, API scopes
## Analytics — Live Activity Feed
- Dedicated /stats/live standalone page (mirrors /stats/logs pattern)
- Consistent 3-tab navigation across Statistics / Live Feed / Visit Logs
- checkForUpdates() with skipRender(): O(1) MAX(id) poll — ~100-byte response on no-change
- latestVisitId sentinel (-1) prevents unnecessary first-poll re-render
- Cache key versioned by latestVisitId — fixes bug where concurrent users
could permanently miss a visit due to stale thundering-herd cache
- 3-second thundering-herd cache (key: url_id + date + filters + latestVisitId)
- Country flags via flagcdn.com (precomputed in PHP, Alpine.js CSP-safe onerror)
- time_ago precomputed in PHP — no Carbon::parse() double-instantiation in Blade
- SELECT only 12 needed columns instead of SELECT *; limit 25 rows
- wire:poll.5s.visible — polling stops when widget is off-screen
## Link Organization
- Folders: one folder per link, clickable → filtered link list, link count badge
- Tags: up to 5 tags per link, clickable → filtered link list, link count badge
- Archiving: soft-archive links instead of permanent deletion; restorable
## REST API
- Per-key API scopes: links:read-only (GET) / links:read-write (full CRUD)
- Per-key rate limiting: individual requests/minute per API key
## Translations
- Added stats_live_feed_poll_interval (EN: 'Updates every 5s', PL: 'Aktualizacja co 5s')
## Docs
- README.md: corrected API scopes/rate-limiting docs (features were already implemented)
- README.md: added Folders, Tags, Archiving to features list
- README.md: added v5.0.0 changelog entry
2026-06-06 02:16:07 +02:00
|
|
|
.folder-card .fi-ta-text,
|
2026-06-08 01:58:48 +02:00
|
|
|
.folder-card .fi-ta-text>div {
|
feat: v5.0.0 — Live Feed page, Folders & Tags, Link Archiving, API scopes
## Analytics — Live Activity Feed
- Dedicated /stats/live standalone page (mirrors /stats/logs pattern)
- Consistent 3-tab navigation across Statistics / Live Feed / Visit Logs
- checkForUpdates() with skipRender(): O(1) MAX(id) poll — ~100-byte response on no-change
- latestVisitId sentinel (-1) prevents unnecessary first-poll re-render
- Cache key versioned by latestVisitId — fixes bug where concurrent users
could permanently miss a visit due to stale thundering-herd cache
- 3-second thundering-herd cache (key: url_id + date + filters + latestVisitId)
- Country flags via flagcdn.com (precomputed in PHP, Alpine.js CSP-safe onerror)
- time_ago precomputed in PHP — no Carbon::parse() double-instantiation in Blade
- SELECT only 12 needed columns instead of SELECT *; limit 25 rows
- wire:poll.5s.visible — polling stops when widget is off-screen
## Link Organization
- Folders: one folder per link, clickable → filtered link list, link count badge
- Tags: up to 5 tags per link, clickable → filtered link list, link count badge
- Archiving: soft-archive links instead of permanent deletion; restorable
## REST API
- Per-key API scopes: links:read-only (GET) / links:read-write (full CRUD)
- Per-key rate limiting: individual requests/minute per API key
## Translations
- Added stats_live_feed_poll_interval (EN: 'Updates every 5s', PL: 'Aktualizacja co 5s')
## Docs
- README.md: corrected API scopes/rate-limiting docs (features were already implemented)
- README.md: added Folders, Tags, Archiving to features list
- README.md: added v5.0.0 changelog entry
2026-06-06 02:16:07 +02:00
|
|
|
height: 100% !important;
|
2026-06-08 01:58:48 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.update-link-modal .fi-section,
|
|
|
|
|
.update-link-modal section.fi-section.fi-section-not-contained {
|
|
|
|
|
box-shadow: none !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* QR Designer Color picker */
|
|
|
|
|
.qr-color-picker input[type=color] {
|
|
|
|
|
position: absolute;
|
|
|
|
|
inset: 0;
|
|
|
|
|
opacity: 0;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-margin-top {
|
|
|
|
|
margin-top: 12px !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-space-y>div {
|
|
|
|
|
margin-top: 12px !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-space-y>div:first-child {
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@keyframes qr-spin {
|
|
|
|
|
to {
|
|
|
|
|
transform: rotate(360deg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Premium Grid & Panels */
|
|
|
|
|
.qr-designer-grid {
|
|
|
|
|
display: grid;
|
|
|
|
|
grid-template-columns: 340px 1fr;
|
|
|
|
|
gap: 2rem;
|
|
|
|
|
width: 100%;
|
|
|
|
|
align-items: stretch;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@media (max-width: 768px) {
|
|
|
|
|
.qr-designer-grid {
|
|
|
|
|
grid-template-columns: 1fr;
|
|
|
|
|
gap: 1.5rem;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Sticky Preview Wrapper */
|
|
|
|
|
.qr-preview-sticky {
|
|
|
|
|
position: sticky;
|
|
|
|
|
top: 0;
|
|
|
|
|
margin-top: 0 !important;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: stretch;
|
|
|
|
|
height: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Accordion Styling */
|
|
|
|
|
.qr-accordion {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-accordion-item {
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
border: 1px solid #e5e7eb;
|
|
|
|
|
border-radius: 12px;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
transition: all 0.2s ease-in-out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-accordion-item {
|
|
|
|
|
background: #18181b;
|
|
|
|
|
border-color: #27272a;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-accordion-item.open {
|
|
|
|
|
border-color: #6366f1;
|
|
|
|
|
box-shadow: 0 4px 12px rgba(99, 102, 241, 0.05);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-accordion-item.open {
|
|
|
|
|
border-color: #818cf8;
|
|
|
|
|
box-shadow: 0 4px 12px rgba(129, 140, 248, 0.1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-accordion-header {
|
|
|
|
|
width: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
padding: 14px 16px;
|
|
|
|
|
background: transparent;
|
|
|
|
|
border: none;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
letter-spacing: .06em;
|
|
|
|
|
color: #4b5563;
|
|
|
|
|
text-align: left;
|
|
|
|
|
transition: color 0.15s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-accordion-header {
|
|
|
|
|
color: #9ca3af;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-accordion-header:hover {
|
|
|
|
|
color: #6366f1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-accordion-header:hover {
|
|
|
|
|
color: #818cf8;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-accordion-icon {
|
|
|
|
|
width: 18px;
|
|
|
|
|
height: 18px;
|
|
|
|
|
color: #9ca3af;
|
|
|
|
|
transition: color 0.15s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-accordion-item.open .qr-accordion-icon {
|
|
|
|
|
color: #6366f1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-accordion-item.open .qr-accordion-icon {
|
|
|
|
|
color: #818cf8;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-accordion-chevron {
|
|
|
|
|
width: 16px;
|
|
|
|
|
height: 16px;
|
|
|
|
|
color: #9ca3af;
|
|
|
|
|
transition: transform 0.2s ease-in-out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-accordion-content {
|
|
|
|
|
padding: 0 16px 16px 16px;
|
|
|
|
|
border-top: 1px solid #f3f4f6;
|
|
|
|
|
background: #fafafa;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-accordion-content {
|
|
|
|
|
border-top-color: #27272a;
|
|
|
|
|
background: #1c1c1f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Label styling */
|
|
|
|
|
.qr-label {
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
color: #9ca3af;
|
|
|
|
|
text-transform: uppercase;
|
|
|
|
|
letter-spacing: .06em;
|
|
|
|
|
margin-bottom: 6px;
|
|
|
|
|
display: block;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Dropdowns / Inputs */
|
|
|
|
|
.qr-select {
|
|
|
|
|
width: 100%;
|
|
|
|
|
padding: 8px 30px 8px 12px;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
border: 1.5px solid #e5e7eb;
|
|
|
|
|
background: #fff;
|
|
|
|
|
color: #111827;
|
|
|
|
|
appearance: none;
|
|
|
|
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
|
|
|
|
|
background-repeat: no-repeat;
|
|
|
|
|
background-position: right 8px center;
|
|
|
|
|
background-size: 16px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: border-color .15s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-select:focus {
|
|
|
|
|
outline: none;
|
|
|
|
|
border-color: #6366f1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-select {
|
|
|
|
|
background-color: #18181b;
|
|
|
|
|
border-color: #27272a;
|
|
|
|
|
color: #f9fafb;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-input-num {
|
|
|
|
|
width: 100%;
|
|
|
|
|
padding: 8px 12px;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
font-size: 13px;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
border: 1.5px solid #e5e7eb;
|
|
|
|
|
background: #fff;
|
|
|
|
|
color: #111827;
|
|
|
|
|
transition: border-color .15s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-input-num:focus {
|
|
|
|
|
outline: none;
|
|
|
|
|
border-color: #6366f1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-input-num {
|
|
|
|
|
background-color: #18181b;
|
|
|
|
|
border-color: #27272a;
|
|
|
|
|
color: #f9fafb;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Premium Segment Control */
|
|
|
|
|
.qr-segment-control {
|
|
|
|
|
display: flex;
|
|
|
|
|
background: #f3f4f6;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
padding: 3px;
|
|
|
|
|
gap: 2px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-segment-control {
|
|
|
|
|
background: #27272a;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-segment-btn {
|
|
|
|
|
flex: 1;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 6px;
|
|
|
|
|
padding: 6px 12px;
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
border: none;
|
|
|
|
|
background: transparent;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: #6b7280;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: all 0.15s ease-in-out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-segment-btn {
|
|
|
|
|
color: #9ca3af;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-segment-btn.active {
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
color: #4f46e5;
|
|
|
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-segment-btn.active {
|
|
|
|
|
background: #3f3f46;
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* iOS-Style Toggle Switch */
|
|
|
|
|
.qr-toggle {
|
|
|
|
|
position: relative;
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
height: 22px;
|
|
|
|
|
width: 40px;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
transition: background-color 0.2s ease;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-toggle.on {
|
|
|
|
|
background: #6366f1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-toggle.off {
|
|
|
|
|
background: #d1d5db;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-toggle.off {
|
|
|
|
|
background: #4b5563;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-toggle-thumb {
|
|
|
|
|
pointer-events: none;
|
|
|
|
|
height: 18px;
|
|
|
|
|
width: 18px;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
|
|
|
|
|
transition: transform 0.2s ease;
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 2px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-toggle.on .qr-toggle-thumb {
|
|
|
|
|
transform: translateX(18px);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Drag-and-drop Upload Area */
|
|
|
|
|
.qr-upload-zone {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
border: 2px dashed #d1d5db;
|
|
|
|
|
border-radius: 10px;
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: all 0.15s ease-in-out;
|
|
|
|
|
text-align: center;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-upload-zone {
|
|
|
|
|
border-color: #3f3f46;
|
|
|
|
|
background: #18181b;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-upload-zone:hover,
|
|
|
|
|
.qr-upload-zone.dragover {
|
|
|
|
|
border-color: #6366f1;
|
|
|
|
|
background: #f5f3ff;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-upload-zone:hover,
|
|
|
|
|
.dark .qr-upload-zone.dragover {
|
|
|
|
|
border-color: #818cf8;
|
|
|
|
|
background: #1e1b4b;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-upload-icon {
|
|
|
|
|
width: 28px;
|
|
|
|
|
height: 28px;
|
|
|
|
|
color: #9ca3af;
|
|
|
|
|
margin-bottom: 8px;
|
|
|
|
|
transition: color 0.15s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-upload-zone:hover .qr-upload-icon,
|
|
|
|
|
.qr-upload-zone.dragover .qr-upload-icon {
|
|
|
|
|
color: #6366f1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-upload-zone:hover .qr-upload-icon,
|
|
|
|
|
.dark .qr-upload-zone.dragover .qr-upload-icon {
|
|
|
|
|
color: #818cf8;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-upload-text {
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: #4b5563;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-upload-text {
|
|
|
|
|
color: #d1d5db;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-upload-hint {
|
|
|
|
|
font-size: 10px;
|
|
|
|
|
color: #9ca3af;
|
|
|
|
|
margin-top: 2px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Accent Color Slider */
|
|
|
|
|
.qr-slider-container {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
gap: 6px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-slider-track-wrap {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-range-input {
|
|
|
|
|
-webkit-appearance: none;
|
|
|
|
|
appearance: none;
|
|
|
|
|
flex: 1;
|
|
|
|
|
height: 5px;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
background: #e5e7eb;
|
|
|
|
|
outline: none;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-range-input {
|
|
|
|
|
background: #4b5563;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-range-input::-webkit-slider-thumb {
|
|
|
|
|
-webkit-appearance: none;
|
|
|
|
|
appearance: none;
|
|
|
|
|
width: 14px;
|
|
|
|
|
height: 14px;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
background: #6366f1;
|
|
|
|
|
border: 2px solid #ffffff;
|
|
|
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
|
|
|
|
|
transition: transform 0.1s ease;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-range-input::-webkit-slider-thumb:hover {
|
|
|
|
|
transform: scale(1.15);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-range-input::-moz-range-thumb {
|
|
|
|
|
width: 14px;
|
|
|
|
|
height: 14px;
|
|
|
|
|
border: 2px solid #ffffff;
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
background: #6366f1;
|
|
|
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
|
|
|
|
|
transition: transform 0.1s ease;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-range-input::-moz-range-thumb:hover {
|
|
|
|
|
transform: scale(1.15);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Floating Badge */
|
|
|
|
|
.qr-badge {
|
|
|
|
|
padding: 2px 6px;
|
|
|
|
|
background: #eef2ff;
|
|
|
|
|
color: #4f46e5;
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
font-size: 10px;
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-badge {
|
|
|
|
|
background: #1e1b4b;
|
|
|
|
|
color: #a5b4fc;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Color swatch and hex wrapper */
|
|
|
|
|
.qr-color-field {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 8px;
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
border: 1.5px solid #e5e7eb;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
padding: 4px 8px;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-color-field {
|
|
|
|
|
background: #18181b;
|
|
|
|
|
border-color: #27272a;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-color-swatch {
|
|
|
|
|
position: relative;
|
|
|
|
|
width: 24px;
|
|
|
|
|
height: 24px;
|
|
|
|
|
border-radius: 6px;
|
|
|
|
|
border: 1px solid #d1d5db;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
flex-shrink: 0;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-color-swatch {
|
|
|
|
|
border-color: #3f3f46;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-hex-input {
|
|
|
|
|
border: none !important;
|
|
|
|
|
background: transparent !important;
|
|
|
|
|
font-family: monospace;
|
|
|
|
|
font-size: 11px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
color: #374151;
|
|
|
|
|
padding: 2px 4px !important;
|
|
|
|
|
width: 100%;
|
|
|
|
|
letter-spacing: .03em;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-hex-input {
|
|
|
|
|
color: #f9fafb;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-hex-input:focus {
|
|
|
|
|
outline: none !important;
|
|
|
|
|
box-shadow: none !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Custom Grid Rows */
|
|
|
|
|
.qr-grid-cols-2 {
|
|
|
|
|
display: grid;
|
|
|
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
|
|
|
gap: 12px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-space-y-4>*+* {
|
|
|
|
|
margin-top: 16px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Preview Card styling */
|
|
|
|
|
.qr-preview-card {
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
border: 1px solid #e5e7eb;
|
|
|
|
|
border-radius: 16px;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: center;
|
|
|
|
|
width: 100%;
|
|
|
|
|
max-width: none;
|
|
|
|
|
height: 100%;
|
|
|
|
|
transition: all 0.2s ease-in-out;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-preview-card {
|
|
|
|
|
background: #18181b;
|
|
|
|
|
border-color: #27272a;
|
|
|
|
|
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Download buttons */
|
|
|
|
|
.qr-dl-btn {
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
gap: 5px;
|
|
|
|
|
padding: 6px 14px;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
border: 1.5px solid #e5e7eb;
|
|
|
|
|
background: #fff;
|
|
|
|
|
color: #374151;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
transition: all .15s;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-dl-btn:hover {
|
|
|
|
|
background: #f9fafb;
|
|
|
|
|
border-color: #d1d5db;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-dl-btn {
|
|
|
|
|
background: #374151;
|
|
|
|
|
border-color: #4b5563;
|
|
|
|
|
color: #d1d5db;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-dl-btn:hover {
|
|
|
|
|
background: #4b5563;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Transparent checker */
|
|
|
|
|
.qr-checker {
|
|
|
|
|
background-image: linear-gradient(45deg, #d1d5db 25%, transparent 25%),
|
|
|
|
|
linear-gradient(-45deg, #d1d5db 25%, transparent 25%),
|
|
|
|
|
linear-gradient(45deg, transparent 75%, #d1d5db 75%),
|
|
|
|
|
linear-gradient(-45deg, transparent 75%, #d1d5db 75%);
|
|
|
|
|
background-size: 10px 10px;
|
|
|
|
|
background-position: 0 0, 0 5px, 5px -5px, -5px 0;
|
|
|
|
|
background-color: #f3f4f6;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.qr-preview-wrapper canvas,
|
|
|
|
|
.qr-preview-wrapper svg {
|
|
|
|
|
max-width: 100% !important;
|
|
|
|
|
height: 100% !important;
|
|
|
|
|
display: block;
|
|
|
|
|
aspect-ratio: 1/1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Sidebar QR preview dots bg */
|
|
|
|
|
.qr-preview-dots-bg {
|
|
|
|
|
background-image: radial-gradient(rgba(156, 163, 175, 0.22) 1px, transparent 0);
|
|
|
|
|
background-size: 8px 8px;
|
|
|
|
|
background-color: #fafafa;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .qr-preview-dots-bg {
|
|
|
|
|
background-image: radial-gradient(rgba(156, 163, 175, 0.12) 1px, transparent 0);
|
|
|
|
|
background-color: #121214;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.modal-fsl .fi-modal-header,
|
|
|
|
|
.modal-fsl .fi-modal-footer {
|
|
|
|
|
padding-top: 16px !important;
|
|
|
|
|
padding-bottom: 16px !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.modal-fsl .fi-modal-footer {
|
|
|
|
|
justify-content: end !important;
|
|
|
|
|
display: flex !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Sidebar QR & Social preview styling scoped to the short-url forms */
|
|
|
|
|
.create-link-sidebar .sidebar-qr-container button svg,
|
|
|
|
|
.create-link-sidebar .sidebar-qr-container .fi-ac-action-btn svg,
|
|
|
|
|
.create-link-sidebar .sidebar-qr-container .fi-btn-icon {
|
|
|
|
|
width: 20px !important;
|
|
|
|
|
height: 20px !important;
|
|
|
|
|
stroke-width: 2px !important;
|
|
|
|
|
stroke-width: 2 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.create-link-sidebar label,
|
|
|
|
|
.create-link-sidebar .fi-fo-field-wrp-label,
|
|
|
|
|
.create-link-sidebar .fi-fo-field-wrp-label label,
|
|
|
|
|
.create-link-sidebar .fi-label,
|
|
|
|
|
.create-link-sidebar-select-wrapper label,
|
|
|
|
|
.create-link-sidebar-select-wrapper .fi-fo-field-wrp-label,
|
|
|
|
|
.create-link-sidebar-select-wrapper .fi-label {
|
|
|
|
|
font-weight: 600 !important;
|
2026-06-08 16:53:50 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.filamentshortUrl-panel-footer {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
width: 100%;
|
|
|
|
|
margin-top: 1.75rem;
|
|
|
|
|
padding: 0 1rem 1rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.filamentshortUrl-panel-footer__card {
|
|
|
|
|
display: inline-flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
gap: 0.3125rem 0.4375rem;
|
|
|
|
|
max-width: 100%;
|
|
|
|
|
padding: 0.3125rem 0.625rem;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
background: rgb(244 244 245 / 0.85);
|
|
|
|
|
box-shadow: 0 0 0 1px rgb(0 0 0 / 0.04);
|
|
|
|
|
font-size: 0.6875rem;
|
|
|
|
|
line-height: 1.3;
|
|
|
|
|
color: rgb(113 113 122);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .filamentshortUrl-panel-footer__card {
|
|
|
|
|
background: rgb(39 39 42 / 0.85);
|
|
|
|
|
box-shadow: 0 0 0 1px rgb(255 255 255 / 0.06);
|
|
|
|
|
color: rgb(161 161 170);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.filamentshortUrl-panel-footer__title {
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
letter-spacing: -0.01em;
|
|
|
|
|
color: rgb(63 63 70);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .filamentshortUrl-panel-footer__title {
|
|
|
|
|
color: rgb(228 228 231);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.filamentshortUrl-panel-footer__version {
|
|
|
|
|
padding: 0.0625rem 0.3125rem;
|
|
|
|
|
border-radius: 9999px;
|
|
|
|
|
background: rgb(254 243 199);
|
|
|
|
|
color: rgb(146 64 14);
|
|
|
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
|
|
|
font-size: 0.625rem;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
font-variant-numeric: tabular-nums;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .filamentshortUrl-panel-footer__version {
|
|
|
|
|
background: rgb(69 26 3 / 0.55);
|
|
|
|
|
color: rgb(253 230 138);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.filamentshortUrl-panel-footer__meta {
|
|
|
|
|
color: inherit;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.filamentshortUrl-panel-footer__sep {
|
|
|
|
|
opacity: 0.35;
|
|
|
|
|
user-select: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.filamentshortUrl-panel-footer__link {
|
|
|
|
|
color: rgb(82 82 91);
|
|
|
|
|
text-decoration: none;
|
|
|
|
|
transition: color 0.15s ease;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.filamentshortUrl-panel-footer__link:hover {
|
|
|
|
|
color: rgb(180 83 9);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .filamentshortUrl-panel-footer__link {
|
|
|
|
|
color: rgb(212 212 216);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.dark .filamentshortUrl-panel-footer__link:hover {
|
|
|
|
|
color: rgb(251 191 36);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.filamentshortUrl-panel-footer__package {
|
|
|
|
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
|
|
|
font-size: 0.625rem;
|
2026-06-05 09:15:04 +02:00
|
|
|
}
|