Files
EvoBGP/apps/web/src/portal-theme.css
T
DenozordecandClaude Sonnet 5.5 7b0f09e292
quality / changes (push) Successful in 12s
quality / go (push) Skipped
quality / bird2 (push) Skipped
quality / commitlint (push) Skipped
quality / docker-check (push) Skipped
quality / openapi (push) Successful in 38s
quality / web (push) Successful in 2m12s
CD / quality (push) Successful in 3m12s
CD / publish (push) Successful in 46s
fix(web): soften input focus highlight
Поля ввода больше не рисуют сплошной синий outline поверх собственного кольца: остаётся тонкая рамка и мягкое кольцо 18%.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 00:18:59 +07:00

45 lines
1.7 KiB
CSS

/* Плотность портала. Палитра, шрифты и таблицы — нативные токены ReUI из @authportal/ui/globals.css. */
/* Ячейки таблиц как в MikrotikManager: py-3, поля первой и последней колонки pl-5 / pr-4. */
html [data-slot='data-grid-table'] :is(th, td) {
padding-block: 0.75rem;
}
html [data-slot='data-grid-table'] :is(th, td):first-child {
padding-inline-start: 1.25rem;
}
html [data-slot='data-grid-table'] :is(th, td):last-child {
padding-inline-end: 1rem;
}
html[data-density='compact'] [data-slot='data-grid-table'] :is(th, td) {
padding-block: 0.25rem;
}
html[data-density='compact'] [data-slot='sidebar-inset'] > div:last-child {
gap: 0.75rem;
}
/* Видимый фокус и reduced motion — как в макете MikrotikManager v2. */
html [data-slot='sidebar-wrapper'] :focus-visible:not(input, textarea, select, [data-slot='input-group-control']),
html #main-content :focus-visible:not(input, textarea, select, [data-slot='input-group-control']) {
outline: 2px solid var(--ring);
outline-offset: 2px;
}
/* Поля ввода: спокойная подсветка фокуса — тонкая рамка и мягкое кольцо вместо яркого синего контура. */
html input:focus-visible,
html textarea:focus-visible,
html [data-slot='input-group']:has([data-slot='input-group-control']:focus-visible) {
border-color: color-mix(in oklch, var(--ring) 45%, var(--input));
--tw-ring-color: color-mix(in oklch, var(--ring) 18%, transparent);
}
@media (prefers-reduced-motion: reduce) {
html #main-content *,
html [data-slot='sidebar-wrapper'] * {
animation: none !important;
transition: none !important;
}
}