:root{--zy-bg-base: #f5f5f7;--zy-bg-elevated: #ffffff;--zy-bg-glass: rgba(255, 255, 255, .72);--zy-bg-glass-strong: rgba(255, 255, 255, .88);--zy-bg-hover: rgba(0, 0, 0, .04);--zy-bg-active: rgba(0, 0, 0, .06);--zy-text-primary: #1d1d1f;--zy-text-secondary: #86868b;--zy-text-tertiary: #aeaeb2;--zy-text-quaternary: #c7c7cc;--zy-text-inverse: #ffffff;--zy-border: rgba(0, 0, 0, .08);--zy-border-strong: rgba(0, 0, 0, .12);--zy-border-focus: rgba(0, 113, 227, .4);--zy-accent: #0071e3;--zy-accent-hover: #0077ed;--zy-accent-active: #006edb;--zy-accent-light: rgba(0, 113, 227, .1);--zy-success: #34c759;--zy-success-light: rgba(52, 199, 89, .12);--zy-warning: #ff9500;--zy-warning-light: rgba(255, 149, 0, .12);--zy-error: #ff3b30;--zy-error-light: rgba(255, 59, 48, .12);--zy-info: #5856d6;--zy-info-light: rgba(88, 86, 214, .12);--zy-radius-xs: 4px;--zy-radius-sm: 8px;--zy-radius-md: 12px;--zy-radius-lg: 16px;--zy-radius-xl: 20px;--zy-radius-2xl: 24px;--zy-radius-full: 9999px;--zy-shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--zy-shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--zy-shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--zy-shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--zy-shadow-xl: 0 16px 48px rgba(0, 0, 0, .16);--zy-shadow-glow: 0 0 0 4px rgba(0, 113, 227, .2);--zy-blur-sm: 8px;--zy-blur-md: 16px;--zy-blur-lg: 24px;--zy-blur-xl: 40px;--zy-duration-fast: .15s;--zy-duration-normal: .25s;--zy-duration-slow: .35s;--zy-duration-slower: .5s;--zy-easing-default: cubic-bezier(.4, 0, .2, 1);--zy-easing-bounce: cubic-bezier(.34, 1.56, .64, 1);--zy-easing-spring: cubic-bezier(.175, .885, .32, 1.275);--zy-space-1: 4px;--zy-space-2: 8px;--zy-space-3: 12px;--zy-space-4: 16px;--zy-space-5: 20px;--zy-space-6: 24px;--zy-space-8: 32px;--zy-space-10: 40px;--zy-space-12: 48px;--zy-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "PingFang SC", "Microsoft YaHei", sans-serif;--zy-font-mono: "SF Mono", "Monaco", "Menlo", "Consolas", monospace;--zy-text-xs: 11px;--zy-text-sm: 13px;--zy-text-base: 15px;--zy-text-lg: 17px;--zy-text-xl: 20px;--zy-text-2xl: 24px;--zy-text-3xl: 28px;--zy-text-4xl: 34px;--zy-sidebar-width: 260px;--zy-sidebar-collapsed-width: 72px;--zy-header-height: 60px}[data-theme=dark]{--zy-bg-base: #080d1a;--zy-bg-elevated: #111827;--zy-bg-glass: rgba(12, 18, 34, .75);--zy-bg-glass-strong: rgba(10, 15, 28, .85);--zy-bg-hover: rgba(99, 102, 241, .08);--zy-bg-active: rgba(99, 102, 241, .12);--zy-text-primary: #f1f5f9;--zy-text-secondary: #94a3b8;--zy-text-tertiary: #64748b;--zy-text-quaternary: #475569;--zy-text-inverse: #0f172a;--zy-border: rgba(148, 163, 184, .1);--zy-border-strong: rgba(148, 163, 184, .16);--zy-border-focus: rgba(99, 102, 241, .5);--zy-accent: #6366f1;--zy-accent-hover: #818cf8;--zy-accent-active: #4f46e5;--zy-accent-light: rgba(99, 102, 241, .15);--zy-success: #34d399;--zy-success-light: rgba(52, 211, 153, .15);--zy-warning: #fbbf24;--zy-warning-light: rgba(251, 191, 36, .15);--zy-error: #f87171;--zy-error-light: rgba(248, 113, 113, .15);--zy-info: #5eead4;--zy-info-light: rgba(94, 234, 212, .15);--zy-shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--zy-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--zy-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--zy-shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--zy-shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--zy-shadow-glow: 0 0 0 4px rgba(99, 102, 241, .3)}[data-theme=eyecare]{--zy-bg-base: #e8e0cc;--zy-bg-elevated: #faf6eb;--zy-bg-glass: rgba(250, 246, 235, .85);--zy-bg-glass-strong: rgba(250, 246, 235, .92);--zy-bg-hover: rgba(93, 82, 60, .06);--zy-bg-active: rgba(93, 82, 60, .1);--zy-text-primary: #3d3929;--zy-text-secondary: #6b6352;--zy-text-tertiary: #9a9080;--zy-text-quaternary: #c4baaa;--zy-text-inverse: #faf6eb;--zy-border: rgba(93, 82, 60, .12);--zy-border-strong: rgba(93, 82, 60, .18);--zy-border-focus: rgba(93, 138, 74, .5);--zy-accent: #5d8a4a;--zy-accent-hover: #6a9a55;--zy-accent-active: #527a42;--zy-accent-light: rgba(93, 138, 74, .15);--zy-success: #6b9a5a;--zy-success-light: rgba(107, 154, 90, .15);--zy-warning: #c9a055;--zy-warning-light: rgba(201, 160, 85, .15);--zy-error: #b86b60;--zy-error-light: rgba(184, 107, 96, .15);--zy-info: #7a7a9a;--zy-info-light: rgba(122, 122, 154, .15);--zy-shadow-xs: 0 1px 2px rgba(93, 82, 60, .06);--zy-shadow-sm: 0 2px 8px rgba(93, 82, 60, .08);--zy-shadow-md: 0 4px 16px rgba(93, 82, 60, .1);--zy-shadow-lg: 0 8px 32px rgba(93, 82, 60, .14);--zy-shadow-xl: 0 16px 48px rgba(93, 82, 60, .18);--zy-shadow-glow: 0 0 0 4px rgba(93, 138, 74, .25)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html,body,#root{height:100%}body{font-family:var(--zy-font-sans);font-size:var(--zy-text-base);line-height:1.5;color:var(--zy-text-primary);background-color:var(--zy-bg-base);transition:background-color var(--zy-duration-slow) var(--zy-easing-default),color var(--zy-duration-slow) var(--zy-easing-default)}.zy-glass{background:var(--zy-bg-glass);backdrop-filter:blur(var(--zy-blur-lg)) saturate(180%);-webkit-backdrop-filter:blur(var(--zy-blur-lg)) saturate(180%)}.zy-glass-strong{background:var(--zy-bg-glass-strong);backdrop-filter:blur(var(--zy-blur-xl)) saturate(200%);-webkit-backdrop-filter:blur(var(--zy-blur-xl)) saturate(200%)}.zy-card{background:var(--zy-bg-elevated);border-radius:var(--zy-radius-lg);border:1px solid var(--zy-border);box-shadow:var(--zy-shadow-sm);transition:all var(--zy-duration-normal) var(--zy-easing-default)}.zy-card:hover{box-shadow:var(--zy-shadow-md);transform:translateY(-2px)}.zy-card-interactive{cursor:pointer}.zy-card-interactive:active{transform:scale(.98)}.zy-dragging{opacity:.8;box-shadow:var(--zy-shadow-xl);transform:scale(1.02);z-index:1000;cursor:grabbing!important}.zy-drag-handle{cursor:grab;touch-action:none}.zy-drag-handle:active{cursor:grabbing}.zy-drop-indicator{background:var(--zy-accent-light);border:2px dashed var(--zy-accent);border-radius:var(--zy-radius-md)}.ant-layout{background:var(--zy-bg-base)!important}.ant-layout-sider{background:var(--zy-bg-glass-strong)!important;backdrop-filter:blur(var(--zy-blur-xl)) saturate(180%);-webkit-backdrop-filter:blur(var(--zy-blur-xl)) saturate(180%);border-right:1px solid var(--zy-border)!important;transition:all var(--zy-duration-slow) var(--zy-easing-default)!important}.ant-layout-header{background:var(--zy-bg-glass)!important;backdrop-filter:blur(var(--zy-blur-lg)) saturate(180%);-webkit-backdrop-filter:blur(var(--zy-blur-lg)) saturate(180%);border-bottom:1px solid var(--zy-border)!important;line-height:var(--zy-header-height)!important;height:var(--zy-header-height)!important}.ant-menu{background:transparent!important;border:none!important}.ant-menu-item,.ant-menu-submenu-title{margin:4px 8px!important;border-radius:var(--zy-radius-sm)!important;transition:all var(--zy-duration-fast) var(--zy-easing-default)!important}.ant-menu-item:hover,.ant-menu-submenu-title:hover{background:var(--zy-bg-hover)!important}.ant-menu-item-selected{background:var(--zy-accent-light)!important;color:var(--zy-accent)!important}.ant-menu-item-selected:after{display:none!important}.ant-menu-inline .ant-menu-submenu-title{margin:4px 8px!important}.ant-menu-sub.ant-menu-inline{background:transparent!important}.ant-card{background:var(--zy-bg-elevated)!important;border:1px solid var(--zy-border)!important;border-radius:var(--zy-radius-lg)!important;box-shadow:var(--zy-shadow-sm)!important;transition:all var(--zy-duration-normal) var(--zy-easing-default)!important;overflow:hidden}.ant-card:hover{box-shadow:var(--zy-shadow-md)!important}.ant-card-head{border-bottom:1px solid var(--zy-border)!important;padding:var(--zy-space-4) var(--zy-space-5)!important;min-height:auto!important}.ant-card-head-title{font-size:var(--zy-text-lg)!important;font-weight:600!important;color:var(--zy-text-primary)!important}.ant-card-body{padding:var(--zy-space-5)!important}.ant-btn{border-radius:var(--zy-radius-sm)!important;font-weight:500!important;transition:all var(--zy-duration-fast) var(--zy-easing-default)!important;height:36px!important;padding:0 16px!important}.ant-btn:hover{transform:translateY(-1px)}.ant-btn:active{transform:scale(.98)}.ant-btn-primary{background:var(--zy-accent)!important;border-color:var(--zy-accent)!important;box-shadow:0 2px 8px #0071e34d!important}.ant-btn-primary:hover{background:var(--zy-accent-hover)!important;border-color:var(--zy-accent-hover)!important;box-shadow:0 4px 12px #0071e366!important}.ant-btn-default{background:var(--zy-bg-elevated)!important;border-color:var(--zy-border-strong)!important;color:var(--zy-text-primary)!important}.ant-btn-default:hover{background:var(--zy-bg-hover)!important;border-color:var(--zy-accent)!important;color:var(--zy-accent)!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{border-radius:var(--zy-radius-sm)!important;border-color:var(--zy-border-strong)!important;background:var(--zy-bg-elevated)!important;transition:all var(--zy-duration-fast) var(--zy-easing-default)!important}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-select-selector:hover,.ant-picker:hover{border-color:var(--zy-accent)!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--zy-accent)!important;box-shadow:var(--zy-shadow-glow)!important}.ant-input::placeholder{color:var(--zy-text-tertiary)!important}.ant-table{background:transparent!important}.ant-table-wrapper .ant-table{border-radius:var(--zy-radius-lg)!important;overflow:hidden;border:1px solid var(--zy-border)!important}.ant-table-thead>tr>th{background:var(--zy-bg-base)!important;border-bottom:1px solid var(--zy-border)!important;color:var(--zy-text-secondary)!important;font-weight:600!important;font-size:var(--zy-text-sm)!important;text-transform:uppercase;letter-spacing:.5px;padding:var(--zy-space-3) var(--zy-space-4)!important}.ant-table-tbody>tr>td{background:var(--zy-bg-elevated)!important;border-bottom:1px solid var(--zy-border)!important;padding:var(--zy-space-3) var(--zy-space-4)!important;transition:all var(--zy-duration-fast) var(--zy-easing-default)!important}.ant-table-tbody>tr:hover>td{background:var(--zy-bg-hover)!important}.ant-table-tbody>tr:last-child>td{border-bottom:none!important}.ant-table-row-selected>td{background:var(--zy-accent-light)!important}.ant-table-row.zy-draggable{cursor:grab}.ant-table-row.zy-draggable:active{cursor:grabbing}.ant-tag{border-radius:var(--zy-radius-xs)!important;border:none!important;font-weight:500!important;padding:2px 8px!important}.ant-statistic-title{color:var(--zy-text-secondary)!important;font-size:var(--zy-text-sm)!important;margin-bottom:var(--zy-space-2)!important}.ant-statistic-content{color:var(--zy-text-primary)!important;font-weight:600!important}.ant-dropdown-menu{background:var(--zy-bg-glass-strong)!important;backdrop-filter:blur(var(--zy-blur-xl)) saturate(180%)!important;-webkit-backdrop-filter:blur(var(--zy-blur-xl)) saturate(180%)!important;border-radius:var(--zy-radius-md)!important;border:1px solid var(--zy-border)!important;box-shadow:var(--zy-shadow-lg)!important;padding:var(--zy-space-1)!important;overflow:hidden}.ant-dropdown-menu-item{border-radius:var(--zy-radius-sm)!important;margin:2px 0!important;transition:all var(--zy-duration-fast) var(--zy-easing-default)!important}.ant-dropdown-menu-item:hover{background:var(--zy-bg-hover)!important}.ant-modal-content{background:var(--zy-bg-elevated)!important;border-radius:var(--zy-radius-xl)!important;box-shadow:var(--zy-shadow-xl)!important;overflow:hidden}.ant-modal-header{background:transparent!important;border-bottom:1px solid var(--zy-border)!important;padding:var(--zy-space-5) var(--zy-space-6)!important}.ant-modal-title{font-size:var(--zy-text-xl)!important;font-weight:600!important;color:var(--zy-text-primary)!important}.ant-modal-body{padding:var(--zy-space-6)!important}.ant-modal-footer{border-top:1px solid var(--zy-border)!important;padding:var(--zy-space-4) var(--zy-space-6)!important}.ant-modal-mask{background:#00000080!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important}.ant-drawer-content{background:var(--zy-bg-elevated)!important}.ant-drawer-header{background:transparent!important;border-bottom:1px solid var(--zy-border)!important}.ant-message-notice-content{background:var(--zy-bg-glass-strong)!important;backdrop-filter:blur(var(--zy-blur-xl)) saturate(180%)!important;-webkit-backdrop-filter:blur(var(--zy-blur-xl)) saturate(180%)!important;border-radius:var(--zy-radius-md)!important;box-shadow:var(--zy-shadow-lg)!important;border:1px solid var(--zy-border)!important}.ant-progress-inner{background:var(--zy-bg-hover)!important;border-radius:var(--zy-radius-full)!important}.ant-pagination-item{border-radius:var(--zy-radius-sm)!important;border-color:var(--zy-border)!important}.ant-pagination-item:hover{border-color:var(--zy-accent)!important}.ant-pagination-item-active{background:var(--zy-accent)!important;border-color:var(--zy-accent)!important}.ant-tabs-nav:before{border-bottom-color:var(--zy-border)!important}.ant-tabs-tab{transition:all var(--zy-duration-fast) var(--zy-easing-default)!important}.ant-tabs-tab:hover,.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--zy-accent)!important}.ant-tabs-ink-bar{background:var(--zy-accent)!important}.ant-form-item-label>label{color:var(--zy-text-secondary)!important;font-weight:500!important}.ant-avatar{border:2px solid var(--zy-bg-elevated)!important;box-shadow:var(--zy-shadow-sm)!important}.ant-empty-description{color:var(--zy-text-tertiary)!important}.ant-spin-dot-item{background:var(--zy-accent)!important}.ant-list-item{border-bottom-color:var(--zy-border)!important;transition:all var(--zy-duration-fast) var(--zy-easing-default)!important}.ant-list-item:hover{background:var(--zy-bg-hover)}.ant-collapse{background:var(--zy-bg-elevated)!important;border:1px solid var(--zy-border)!important;border-radius:var(--zy-radius-lg)!important}.ant-collapse-item{border-bottom-color:var(--zy-border)!important}.ant-collapse-header{border-radius:var(--zy-radius-lg)!important}[data-theme=dark] .zy-apple-card:hover{border-color:#6366f133!important;box-shadow:0 4px 12px #0006,0 0 0 1px #6366f10f!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--zy-text-quaternary);border-radius:var(--zy-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--zy-text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.zy-animate-fade-in{animation:fadeIn var(--zy-duration-normal) var(--zy-easing-default)}.zy-animate-slide-up{animation:slideUp var(--zy-duration-normal) var(--zy-easing-default)}.zy-animate-slide-down{animation:slideDown var(--zy-duration-normal) var(--zy-easing-default)}.zy-animate-scale-in{animation:scaleIn var(--zy-duration-normal) var(--zy-easing-default)}.zy-animate-pulse{animation:pulse 2s ease-in-out infinite}@media (max-width: 768px){:root{--zy-sidebar-width: 0px;--zy-header-height: 52px}.ant-card-body{padding:var(--zy-space-3)!important}.ant-card-head{padding:var(--zy-space-3) var(--zy-space-4)!important}.ant-modal{max-width:100vw!important;width:100vw!important;margin:0!important;top:0!important;padding:0!important}.ant-modal-content{border-radius:0!important;min-height:100vh}.ant-modal-body{padding:12px!important;max-height:calc(100vh - 110px);overflow-y:auto}.ant-modal-header{padding:12px 16px!important}.ant-modal-footer{padding:10px 16px!important;position:sticky;bottom:0;background:var(--zy-bg-elevated);border-top:1px solid var(--zy-border);z-index:10}.ant-table-wrapper{overflow-x:auto}.ant-btn{height:34px!important;padding:0 12px!important;font-size:13px!important}.ant-form-item{margin-bottom:12px!important}}@media (min-width: 769px) and (max-width: 1024px){.ant-modal{max-width:90vw!important}.ant-card-body{padding:var(--zy-space-4)!important}}@media print{body{background:#fff!important;color:#000!important}.ant-layout-sider,.ant-layout-header{display:none!important}}
