diff --git a/ordinis-admin-ui/src/components/layout/Sidebar.tsx b/ordinis-admin-ui/src/components/layout/Sidebar.tsx index e821a53..bc23958 100644 --- a/ordinis-admin-ui/src/components/layout/Sidebar.tsx +++ b/ordinis-admin-ui/src/components/layout/Sidebar.tsx @@ -317,7 +317,8 @@ function SidebarFooter({ diff --git a/ordinis-admin-ui/src/components/layout/ThemeSwitch.tsx b/ordinis-admin-ui/src/components/layout/ThemeSwitch.tsx index 5bb5dc8..77fdb1a 100644 --- a/ordinis-admin-ui/src/components/layout/ThemeSwitch.tsx +++ b/ordinis-admin-ui/src/components/layout/ThemeSwitch.tsx @@ -27,7 +27,9 @@ export function ThemeSwitch() {
{items.map((item) => { const Icon = item.icon @@ -42,7 +44,8 @@ export function ThemeSwitch() { title={item.label} onClick={() => setPreference(item.id)} className={cn( - 'inline-flex h-full w-7 items-center justify-center transition-colors', + // w-11 paired с parent h-11 → 44×44 per button. + 'inline-flex h-full w-11 items-center justify-center transition-colors', active ? 'bg-accent text-on-accent' : 'text-mute hover:text-ink hover:bg-surface-2', diff --git a/ordinis-admin-ui/src/components/layout/TopBar.tsx b/ordinis-admin-ui/src/components/layout/TopBar.tsx index a54da17..7901628 100644 --- a/ordinis-admin-ui/src/components/layout/TopBar.tsx +++ b/ordinis-admin-ui/src/components/layout/TopBar.tsx @@ -29,7 +29,9 @@ export function TopBar({ onMenuClick }: { onMenuClick?: () => void }) { type="button" aria-label={t('nav.menu', { defaultValue: 'Меню' })} onClick={onMenuClick} - className="lg:hidden -ml-1 p-1.5 rounded-sm text-ink-2 hover:text-ink hover:bg-surface-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors" + // size-11 = 44×44 touch target per DESIGN.md §13. + // Icon stays 20px; padding wrapper provides hit area. + className="lg:hidden -ml-1 size-11 inline-flex items-center justify-center rounded-sm text-ink-2 hover:text-ink hover:bg-surface-2 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring transition-colors" > @@ -153,7 +155,9 @@ function NotificationsBell() { title={t('topbar.notifications', { defaultValue: 'Уведомления' })} aria-label={t('topbar.notifications', { defaultValue: 'Уведомления' })} onClick={() => setDrawerOpen(true)} - className="relative size-7 rounded-md text-ink-2 hover:text-ink hover:bg-surface-2 inline-flex items-center justify-center transition-colors" + // size-11 = 44×44 WCAG AAA touch target per DESIGN.md §13. + // Bell icon stays size=14; wrapper provides hit area. + className="relative size-11 rounded-md text-ink-2 hover:text-ink hover:bg-surface-2 inline-flex items-center justify-center transition-colors" > {totalUnread > 0 && ( diff --git a/ordinis-admin-ui/src/styles.css b/ordinis-admin-ui/src/styles.css index 8234a4e..c7e0d2c 100644 --- a/ordinis-admin-ui/src/styles.css +++ b/ordinis-admin-ui/src/styles.css @@ -28,7 +28,10 @@ --color-line-2: #efeae0; --color-navy: #3a2818; --color-accent: #b05a2e; - --color-accent-bg: rgb(176 90 46 / 11%); + /* Alpha 12% across all themes per DESIGN.md §17 — was 11% (light) / 16% + * (dark); drift caused subtle saturation difference в info badges between + * themes. Visually negligible diff на light, slightly weaker tint в dark. */ + --color-accent-bg: rgb(176 90 46 / 12%); --color-on-accent: #ffffff; --color-green: #4f7038; --color-green-bg: #e4ead0; @@ -170,7 +173,8 @@ --color-line-2: #2d2a27; --color-navy: #d97757; --color-accent: #d97757; - --color-accent-bg: rgb(217 119 87 / 16%); + /* Alpha 12% normalized per DESIGN.md §17 — was 16% on dark theme. */ + --color-accent-bg: rgb(217 119 87 / 12%); --color-on-accent: #1c1a17; --color-green: #6fa97d; --color-green-bg: rgb(111 169 125 / 18%); diff --git a/ordinis-admin-ui/src/ui/components/tabs.tsx b/ordinis-admin-ui/src/ui/components/tabs.tsx index ded0ada..88e25f4 100644 --- a/ordinis-admin-ui/src/ui/components/tabs.tsx +++ b/ordinis-admin-ui/src/ui/components/tabs.tsx @@ -17,7 +17,9 @@ export const TabsList = React.forwardRef<