:root{--primary-50: #E3F2FD;--primary-100: #BBDEFB;--primary-200: #90CAF9;--primary-300: #64B5F6;--primary-400: #42A5F5;--primary-500: #0066CC;--primary-600: #0056B3;--primary-700: #004999;--primary-800: #003D80;--primary-900: #002966;--secondary-50: #E8F5E9;--secondary-100: #C8E6C9;--secondary-500: #00A651;--secondary-600: #008841;--secondary-700: #007035;--accent-500: #6C5CE7;--accent-600: #5B4CD3;--success: #52C41A;--warning: #FAAD14;--error: #F5222D;--info: #1890FF;--gray-50: #FAFAFA;--gray-100: #F5F5F5;--gray-200: #EEEEEE;--gray-300: #E0E0E0;--gray-400: #BDBDBD;--gray-500: #9E9E9E;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #262626;--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--gradient-primary: linear-gradient(135deg, #0066CC 0%, #00A651 100%);--gradient-secondary: linear-gradient(135deg, #42A5F5 0%, #66BB6A 100%);--text-primary: #262626;--text-secondary: #616161;--text-tertiary: #9E9E9E;--text-inverse: #FFFFFF;--border-light: #E0E0E0;--border-medium: #BDBDBD;--border-dark: #757575;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--font-sans: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--text-5xl: 48px;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.6;--leading-relaxed: 1.8;--leading-loose: 2;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}@media (max-width: 768px){:root{--text-base: 18px;--text-lg: 20px;--text-xl: 22px;--text-2xl: 26px;--leading-normal: 1.8}}@media (prefers-contrast: high){:root{--text-primary: #000000;--border-light: #000000}}@media (prefers-color-scheme: dark){:root{--bg-primary: #1A1A1A;--bg-secondary: #262626;--text-primary: #FFFFFF;--text-secondary: #BDBDBD;--border-light: #424242}}.text-gradient-primary{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bg-gradient-primary{background:var(--gradient-primary)}.shadow-card{box-shadow:var(--shadow-md)}.shadow-card-hover{box-shadow:var(--shadow-lg);transition:box-shadow var(--transition-base)}.badge-negative{background-color:var(--success);color:#fff;padding:4px 12px;border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-sm)}.badge-positive{background-color:var(--error);color:#fff;padding:4px 12px;border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-sm)}.badge-pending{background-color:var(--warning);color:#fff;padding:4px 12px;border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-sm)}.badge-info{background-color:var(--info);color:#fff;padding:4px 12px;border-radius:var(--radius-full);font-weight:var(--font-semibold);font-size:var(--text-sm)}.touch-button{min-height:48px;min-width:48px;padding:12px 24px;border-radius:12px;font-size:16px;font-weight:600;transition:all .15s ease}@media (max-width: 768px){.touch-button{min-height:56px;font-size:18px;padding:16px 28px}}.mobile-card{border-radius:16px;padding:20px;box-shadow:0 2px 8px #00000014;transition:box-shadow .2s ease}@media (max-width: 768px){.mobile-card{padding:24px;border-radius:20px}}.mobile-card:active{box-shadow:0 1px 4px #0000001a;transform:scale(.98)}.responsive-grid{display:grid;gap:16px}@media (min-width: 640px){.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.responsive-grid{grid-template-columns:repeat(4,1fr)}}.mobile-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;padding:8px 16px;z-index:50;box-shadow:0 -2px 10px #0000000d}@media (min-width: 768px){.mobile-nav{display:none}}@supports (padding: max(0px)){.mobile-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}.mobile-safe-bottom{padding-bottom:max(16px,env(safe-area-inset-bottom))}.mobile-safe-top{padding-top:max(16px,env(safe-area-inset-top))}}.touch-feedback{position:relative;overflow:hidden}.touch-feedback:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#0000001a;transform:translate(-50%,-50%);transition:width .3s,height .3s}.touch-feedback:active:after{width:200px;height:200px}.horizontal-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.horizontal-scroll::-webkit-scrollbar{display:none}.text-elderly{font-size:18px;line-height:1.8}@media (max-width: 768px){.text-elderly{font-size:20px;line-height:2}}.mobile-only{display:block}.desktop-only{display:none}@media (min-width: 768px){.mobile-only{display:none}.desktop-only{display:block}}.safe-bottom-nav{padding-bottom:80px}@media (min-width: 768px){.safe-bottom-nav{padding-bottom:0}}@media (max-width: 768px){.mobile-modal{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;max-width:100%!important;border-radius:24px 24px 0 0!important;max-height:90vh;overflow-y:auto}}button,a,input,textarea{touch-action:manipulation}html{scroll-behavior:smooth}*{-webkit-tap-highlight-color:transparent}@media (max-width: 768px){input,textarea,select{font-size:16px!important}}@tailwind base;@tailwind components;@tailwind utilities;@layer base{body{@apply antialiased text-gray-900 bg-gray-50;font-family:PingFang SC,Microsoft YaHei,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}@media (max-width: 768px){body{font-size:18px;line-height:1.7}}button,a{min-height:44px;min-width:44px}}@media print{.no-print{display:none!important}@page{size:A4;margin:0}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}@page label-page{size:60mm 30mm;margin:0}body.label-print-mode{page:label-page;margin:0!important;padding:0!important;background:#fff!important}body.label-print-mode .print\:hidden,body.label-print-mode [class*="print:hidden"]{display:none!important}body.label-print-mode .label-print-container{display:block!important;visibility:visible!important;opacity:1!important;position:absolute!important;top:0!important;left:0!important;width:100%!important;height:auto!important;z-index:99999!important;background:#fff!important}body.label-print-mode header,body.label-print-mode aside,body.label-print-mode nav,body.label-print-mode main,body.label-print-mode .fixed:not(.label-print-container){display:none!important}}
