@import "tailwindcss"; @import "tw-animate-css"; @custom-variant dark (&:is(.dark *)); /* 列印樣式 */ @media print { .print\\:hidden { display: none !important; } body { -webkit-print-color-adjust: exact; color-adjust: exact; } .container { max-width: none !important; padding: 0 !important; } .space-y-8 > * + * { margin-top: 1.5rem !important; } .space-y-6 > * + * { margin-top: 1rem !important; } .space-y-4 > * + * { margin-top: 0.75rem !important; } .space-y-3 > * + * { margin-top: 0.5rem !important; } .space-y-2 > * + * { margin-top: 0.25rem !important; } .space-y-1 > * + * { margin-top: 0.125rem !important; } .gap-4 { gap: 0.75rem !important; } .gap-3 { gap: 0.5rem !important; } .gap-2 { gap: 0.25rem !important; } .gap-1 { gap: 0.125rem !important; } .p-4 { padding: 0.75rem !important; } .p-3 { padding: 0.5rem !important; } .p-2 { padding: 0.25rem !important; } .px-4 { padding-left: 0.75rem !important; padding-right: 0.75rem !important; } .py-4 { padding-top: 0.75rem !important; padding-bottom: 0.75rem !important; } .py-8 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .mb-6 { margin-bottom: 1rem !important; } .mb-4 { margin-bottom: 0.75rem !important; } .mb-3 { margin-bottom: 0.5rem !important; } .mb-2 { margin-bottom: 0.25rem !important; } .mb-1 { margin-bottom: 0.125rem !important; } .mt-8 { margin-top: 1.5rem !important; } .mt-4 { margin-top: 0.75rem !important; } .mt-3 { margin-top: 0.5rem !important; } .mt-2 { margin-top: 0.25rem !important; } .mt-1 { margin-top: 0.125rem !important; } .text-3xl { font-size: 1.5rem !important; line-height: 1.5 !important; } .text-2xl { font-size: 1.25rem !important; line-height: 1.5 !important; } .text-xl { font-size: 1.125rem !important; line-height: 1.5 !important; } .text-lg { font-size: 1rem !important; line-height: 1.5 !important; } .text-sm { font-size: 0.875rem !important; line-height: 1.5 !important; } .text-xs { font-size: 0.75rem !important; line-height: 1.5 !important; } .font-bold { font-weight: 700 !important; } .font-semibold { font-weight: 600 !important; } .font-medium { font-weight: 500 !important; } .rounded-lg { border-radius: 0.375rem !important; } .rounded-md { border-radius: 0.25rem !important; } .rounded-sm { border-radius: 0.125rem !important; } .border { border-width: 1px !important; } .border-2 { border-width: 2px !important; } .bg-card { background-color: white !important; } .bg-muted { background-color: #f5f5f5 !important; } .bg-muted\\/50 { background-color: rgba(245, 245, 245, 0.5) !important; } .bg-muted\\/30 { background-color: rgba(245, 245, 245, 0.3) !important; } .text-muted-foreground { color: #666 !important; } .text-foreground { color: #000 !important; } .text-primary { color: #2563eb !important; } .text-green-600 { color: #16a34a !important; } .text-red-600 { color: #dc2626 !important; } .text-orange-600 { color: #ea580c !important; } .text-blue-600 { color: #2563eb !important; } .text-purple-600 { color: #9333ea !important; } .text-yellow-600 { color: #ca8a04 !important; } .border-primary { border-color: #2563eb !important; } .border-green-200 { border-color: #bbf7d0 !important; } .border-blue-200 { border-color: #bfdbfe !important; } .border-purple-200 { border-color: #e9d5ff !important; } .border-orange-200 { border-color: #fed7aa !important; } .border-gray-200 { border-color: #e5e7eb !important; } .bg-primary { background-color: #2563eb !important; } .bg-green-500 { background-color: #22c55e !important; } .bg-red-500 { background-color: #ef4444 !important; } .bg-orange-500 { background-color: #f97316 !important; } .bg-blue-500 { background-color: #3b82f6 !important; } .bg-purple-500 { background-color: #a855f7 !important; } .bg-yellow-500 { background-color: #eab308 !important; } .bg-gray-500 { background-color: #6b7280 !important; } .text-white { color: white !important; } .grid { display: grid !important; } .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; } .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } .flex { display: flex !important; } .items-center { align-items: center !important; } .justify-center { justify-content: center !important; } .justify-between { justify-content: space-between !important; } .text-center { text-align: center !important; } .w-full { width: 100% !important; } .h-full { height: 100% !important; } .w-24 { width: 4rem !important; } .h-24 { height: 4rem !important; } .w-12 { width: 2rem !important; } .h-12 { height: 2rem !important; } .w-10 { width: 1.5rem !important; } .h-10 { height: 1.5rem !important; } .w-6 { width: 1rem !important; } .h-6 { height: 1rem !important; } .w-5 { width: 0.75rem !important; } .h-5 { height: 0.75rem !important; } .w-4 { width: 0.5rem !important; } .h-4 { height: 0.5rem !important; } .w-3 { width: 0.375rem !important; } .h-3 { height: 0.375rem !important; } .w-2 { width: 0.25rem !important; } .h-2 { height: 0.25rem !important; } .min-h-screen { min-height: auto !important; } .max-w-4xl { max-width: none !important; } .max-w-6xl { max-width: none !important; } .mx-auto { margin-left: auto !important; margin-right: auto !important; } .page-break-before { page-break-before: always !important; } .page-break-after { page-break-after: always !important; } .page-break-inside-avoid { page-break-inside: avoid !important; } } :root { /* 更新为专业HR系统配色方案 */ --background: oklch(0.98 0.005 106); --foreground: oklch(0.15 0.02 258); --card: oklch(1 0 0); --card-foreground: oklch(0.15 0.02 258); --popover: oklch(1 0 0); --popover-foreground: oklch(0.15 0.02 258); --primary: oklch(0.45 0.15 258); --primary-foreground: oklch(0.98 0.005 106); --secondary: oklch(0.92 0.02 106); --secondary-foreground: oklch(0.15 0.02 258); --muted: oklch(0.95 0.01 106); --muted-foreground: oklch(0.55 0.02 258); --accent: oklch(0.65 0.12 180); --accent-foreground: oklch(0.98 0.005 106); --destructive: oklch(0.577 0.245 27.325); --destructive-foreground: oklch(0.98 0.005 106); --border: oklch(0.88 0.02 106); --input: oklch(0.95 0.01 106); --ring: oklch(0.45 0.15 258); --chart-1: oklch(0.45 0.15 258); --chart-2: oklch(0.65 0.12 180); --chart-3: oklch(0.55 0.18 140); --chart-4: oklch(0.75 0.08 60); --chart-5: oklch(0.35 0.12 300); --radius: 0.75rem; --sidebar: oklch(0.98 0.005 106); --sidebar-foreground: oklch(0.15 0.02 258); --sidebar-primary: oklch(0.45 0.15 258); --sidebar-primary-foreground: oklch(0.98 0.005 106); --sidebar-accent: oklch(0.92 0.02 106); --sidebar-accent-foreground: oklch(0.15 0.02 258); --sidebar-border: oklch(0.88 0.02 106); --sidebar-ring: oklch(0.45 0.15 258); } .dark { --background: oklch(0.08 0.02 258); --foreground: oklch(0.95 0.01 106); --card: oklch(0.12 0.02 258); --card-foreground: oklch(0.95 0.01 106); --popover: oklch(0.12 0.02 258); --popover-foreground: oklch(0.95 0.01 106); --primary: oklch(0.65 0.15 258); --primary-foreground: oklch(0.08 0.02 258); --secondary: oklch(0.18 0.02 258); --secondary-foreground: oklch(0.95 0.01 106); --muted: oklch(0.15 0.02 258); --muted-foreground: oklch(0.65 0.02 258); --accent: oklch(0.55 0.12 180); --accent-foreground: oklch(0.08 0.02 258); --destructive: oklch(0.577 0.245 27.325); --destructive-foreground: oklch(0.95 0.01 106); --border: oklch(0.22 0.02 258); --input: oklch(0.18 0.02 258); --ring: oklch(0.65 0.15 258); --chart-1: oklch(0.65 0.15 258); --chart-2: oklch(0.55 0.12 180); --chart-3: oklch(0.45 0.18 140); --chart-4: oklch(0.65 0.08 60); --chart-5: oklch(0.55 0.12 300); --sidebar: oklch(0.12 0.02 258); --sidebar-foreground: oklch(0.95 0.01 106); --sidebar-primary: oklch(0.65 0.15 258); --sidebar-primary-foreground: oklch(0.08 0.02 258); --sidebar-accent: oklch(0.18 0.02 258); --sidebar-accent-foreground: oklch(0.95 0.01 106); --sidebar-border: oklch(0.22 0.02 258); --sidebar-ring: oklch(0.65 0.15 258); } @theme inline { --font-sans: var(--font-inter); --font-mono: var(--font-jetbrains-mono); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); } @layer base { * { @apply border-border outline-ring/50; } body { @apply bg-background text-foreground; } }