Files
pos-system/apps/web-client/src/app/globals.css
Ho Ngoc Hai c088de53c3 Update dependencies and enhance Tailwind CSS configuration for web applications
- Added new dependencies including clsx, lucide-react, recharts, and various Radix UI components to improve UI functionality.
- Upgraded Tailwind CSS to version 4.0.0 and updated configuration to utilize CSS variables for theming and responsive design.
- Introduced global styles and improved accessibility features in the layout and components.
- Removed outdated login page and refactored authentication store for better state management.
- Enhanced API service with additional authentication methods and improved error handling.

These changes aim to modernize the web applications and improve user experience through better design and functionality.
2026-01-02 09:41:40 +07:00

163 lines
3.5 KiB
CSS

/**
* EN: Global Styles with Tailwind CSS 4
* VI: Styles toàn cục với Tailwind CSS 4
*
* Import theme variables first, then Tailwind CSS 4
* Import các biến theme trước, sau đó là Tailwind CSS 4
*/
@import "../styles/theme.css";
@import "tailwindcss";
/**
* EN: Base Styles
* VI: Styles cơ bản
*/
@layer base {
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
font-family: var(--font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
background-color: var(--bg-primary);
color: var(--text-primary);
font-size: var(--text-base);
line-height: 1.5;
transition: background-color var(--duration-normal) var(--ease-in-out),
color var(--duration-normal) var(--ease-in-out);
}
/**
* EN: Smooth transitions for theme switching
* VI: Chuyển đổi mượt mà cho việc chuyển theme
*/
*,
*::before,
*::after {
transition: background-color var(--duration-normal) var(--ease-in-out),
color var(--duration-normal) var(--ease-in-out),
border-color var(--duration-normal) var(--ease-in-out);
}
/**
* EN: Focus indicators for keyboard navigation (WCAG 2.1 AA)
* VI: Chỉ báo focus cho điều hướng bàn phím (WCAG 2.1 AA)
*/
*:focus-visible {
outline: 2px solid var(--accent-primary);
outline-offset: 2px;
}
/**
* EN: Skip link styles (screen reader only until focused)
* VI: Styles cho skip link (chỉ screen reader cho đến khi focus)
*/
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border-width: 0;
}
.sr-only:focus,
.sr-only:focus-visible {
position: fixed;
width: auto;
height: auto;
padding: inherit;
margin: 0;
overflow: visible;
clip: auto;
white-space: normal;
}
/**
* EN: Ensure minimum font size for accessibility (16px) - WCAG 2.1 AA
* VI: Đảm bảo kích thước font tối thiểu cho accessibility (16px) - WCAG 2.1 AA
*/
body {
font-size: 16px;
min-font-size: 16px;
}
/**
* EN: Support zoom up to 200% without breaking layout - WCAG 2.1 AA
* VI: Hỗ trợ zoom lên đến 200% mà không làm vỡ layout - WCAG 2.1 AA
*/
html {
zoom: 1;
}
/**
* EN: Ensure all text is zoomable up to 200% - WCAG 2.1 AA
* VI: Đảm bảo tất cả text có thể zoom lên đến 200% - WCAG 2.1 AA
*/
* {
max-width: 100%;
}
/**
* EN: Prevent horizontal scroll on zoom - WCAG 2.1 AA
* VI: Ngăn scroll ngang khi zoom - WCAG 2.1 AA
*/
body {
overflow-x: hidden;
}
}
/**
* EN: Typing Indicator Animation
* VI: Animation cho Typing Indicator
*/
@keyframes typing-pulse {
0%, 60%, 100% {
opacity: 0.3;
transform: scale(0.8);
}
30% {
opacity: 1;
transform: scale(1);
}
}
.typing-dot {
/* EN: Animation properties are set inline to allow customization / VI: Các thuộc tính animation được set inline để cho phép tùy chỉnh */
}
/**
* EN: Message bubble fade-in animation
* VI: Animation fade-in cho message bubble
*/
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/**
* EN: Ensure smooth animations and prevent layout shift
* VI: Đảm bảo animation mượt mà và ngăn layout shift
*/
@layer utilities {
.animate-fadeIn {
animation: fadeIn 0.3s ease-out forwards;
}
}