@charset "UTF-8";:root{--nly-primary: var(--primary-color, #17806f);--nly-primary-light: var(--primary-light, #2eae97);--nly-primary-dark: var(--primary-dark, #0f5c50);--nly-primary-darker: #0d4a42;--nly-secondary: #b8860b;--nly-secondary-light: #cc9933;--nly-accent: #2563eb;--nly-gradient-brand: linear-gradient(135deg, #17806f 0%, #2eae97 100%);--nly-gradient-sidebar: var(--sidebar-bg-gradient, linear-gradient(180deg, #17806f 0%, #0d4a42 100%));--nly-gradient-login-bg: linear-gradient(145deg, #0d4a42 0%, #17806f 50%, #0f5c50 100%);--nly-gradient-login-btn: linear-gradient(135deg, #17806f, #2eae97);--nly-gradient-platform-bg: linear-gradient(180deg, #f0f7f5 0%, #e8f3ef 100%);--nly-gradient-card-medical: linear-gradient(135deg, #17806f 0%, #2eae97 100%);--nly-gradient-card-chronic: linear-gradient(135deg, #b8860b 0%, #cc9933 100%);--nly-gradient-card-office: linear-gradient(135deg, #4338ca 0%, #6366f1 100%);--nly-gradient-card-data: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);--nly-gradient-card-erp: linear-gradient(135deg, #c2410c 0%, #ea580c 100%);--nly-gradient-stat-1: linear-gradient(135deg, #17806f 0%, #2eae97 100%);--nly-gradient-stat-2: linear-gradient(135deg, #b8860b 0%, #d4a84b 100%);--nly-gradient-stat-3: linear-gradient(135deg, #2563eb 0%, #60a5fa 100%);--nly-gradient-stat-4: linear-gradient(135deg, #0f5c50 0%, #17806f 100%);--nly-bg-page: var(--background-color, #f0f7f5);--nly-bg-warm: #fbf8f2;--nly-bg-card: var(--el-bg-color, #ffffff);--nly-bg-header: rgba(255, 255, 255, .92);--nly-text-primary: var(--text-color, #1a2e2a);--nly-text-secondary: var(--text-color-secondary, #4a635e);--nly-text-muted: var(--legend-text, #7a9490);--nly-text-on-primary: #ffffff;--nly-border: var(--border-color, #d4e8e3);--nly-border-light: var(--border-color-light, #e8f3ef);--nly-shadow-sm: 0 2px 8px rgba(23, 128, 111, .08);--nly-shadow-md: 0 8px 24px rgba(23, 128, 111, .12);--nly-shadow-lg: 0 20px 60px rgba(13, 74, 66, .15);--nly-radius-sm: var(--radius-sm, 6px);--nly-radius-md: var(--radius-md, 10px);--nly-radius-lg: var(--radius-lg, 16px);--nly-radius-xl: var(--radius-xl, 20px)}:root{--primary-color: #17806f;--primary-light: #2eae97;--primary-lighter: #e8f3ef;--primary-dark: #0f5c50;--success-color: #22c55e;--success-light: #4ade80;--success-dark: #16a34a;--warning-color: #f59e0b;--warning-light: #fbbf24;--warning-dark: #d97706;--danger-color: #ef4444;--danger-light: #f87171;--danger-dark: #dc2626;--info-color: #3b82f6;--info-light: #60a5fa;--info-dark: #2563eb;--text-color: #1a2e2a;--text-color-secondary: #4a635e;--text-color-light: #7a9490;--border-color: #d4e8e3;--border-color-light: #e8f3ef;--background-color: #f0f7f5;--background-light: #fbf8f2;--white: #ffffff;--color-primary-50: #f0f7f5;--color-primary-100: #e8f3ef;--color-primary-200: #d4e8e3;--color-primary-300: #a8d5cc;--color-primary-400: #5eb8a8;--color-primary-500: #17806f;--color-primary-600: #0f5c50;--color-primary-700: #0d4a42;--color-primary-800: #0a3d36;--color-primary-900: #062923;--color-primary-950: #031712;--color-accent-50: #fdf8e8;--color-accent-100: #faf0c6;--color-accent-200: #f5e08a;--color-accent-300: #edc94a;--color-accent-400: #e5b52a;--color-accent-500: #cc9933;--color-accent-600: #b8860b;--color-accent-700: #996600;--color-accent-800: #7a5000;--color-accent-900: #664400;--color-accent-950: #3d2a00;--color-secondary-50: #f0f9ff;--color-secondary-100: #e0f2fe;--color-secondary-200: #bae6fd;--color-secondary-300: #7dd3fc;--color-secondary-400: #38bdf8;--color-secondary-500: #0ea5e9;--color-secondary-600: #0284c7;--color-secondary-700: #0369a1;--color-secondary-800: #075985;--color-secondary-900: #0c4a6e;--color-secondary-950: #082f49;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-200: #bbf7d0;--color-success-300: #86efac;--color-success-400: #4ade80;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-success-800: #166534;--color-success-900: #14532d;--color-success-950: #052e16;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-300: #fcd34d;--color-warning-400: #fbbf24;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-800: #92400e;--color-warning-900: #78350f;--color-warning-950: #451a03;--color-danger-50: #fef2f2;--color-danger-100: #fee2e2;--color-danger-200: #fecaca;--color-danger-300: #fca5a5;--color-danger-400: #f87171;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-700: #b91c1c;--color-danger-800: #991b1b;--color-danger-900: #7f1d1d;--color-danger-950: #450a0a;--color-info-50: #eff6ff;--color-info-100: #dbeafe;--color-info-200: #bfdbfe;--color-info-300: #93c5fd;--color-info-400: #60a5fa;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-info-700: #1d4ed8;--color-info-800: #1e40af;--color-info-900: #1e3a8a;--color-info-950: #172554;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-gray-950: #030712;--color-text-primary: var(--text-color, #1a2e2a);--color-text-secondary: var(--text-color-secondary, #4a635e);--color-text-muted: #7a9490;--color-text-placeholder: #9ca3af;--color-text-disabled: #d1d5db;--color-border: var(--border-color, #d4e8e3);--color-border-light: var(--border-color-light, #e8f3ef);--color-border-dark: #b8d4cc;--color-border-focus: var(--color-primary-400, #5eb8a8);--color-bg-page: var(--background-color, #f0f7f5);--color-bg-card: var(--white, #ffffff);--color-bg-hover: var(--primary-lighter, #e8f3ef);--color-bg-active: #e5e7eb;--color-bg-disabled: #f9fafb;--color-bg-overlay: rgba(0, 0, 0, .5);--color-white: #ffffff;--color-black: #000000;--opacity-0: 0;--opacity-5: .05;--opacity-10: .1;--opacity-20: .2;--opacity-30: .3;--opacity-40: .4;--opacity-50: .5;--opacity-60: .6;--opacity-70: .7;--opacity-80: .8;--opacity-90: .9;--opacity-95: .95;--opacity-100: 1}:root{--spacing-0: 0;--spacing-0\.5: 2px;--spacing-1: 4px;--spacing-1\.5: 6px;--spacing-2: 8px;--spacing-2\.5: 10px;--spacing-3: 12px;--spacing-3\.5: 14px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-9: 36px;--spacing-10: 40px;--spacing-11: 44px;--spacing-12: 48px;--spacing-14: 56px;--spacing-16: 64px;--spacing-20: 80px;--spacing-24: 96px;--spacing-28: 112px;--spacing-32: 128px;--spacing-36: 144px;--spacing-40: 160px;--spacing-48: 192px;--container-xs: 480px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1200px;--container-2xl: 1400px;--container-3xl: 1600px;--layout-header-height: 64px;--layout-sidebar-width: 256px;--layout-sidebar-collapsed-width: 64px;--layout-content-padding: 16px;--layout-tag-view-height: 44px;--border-width-sm: 1px;--border-width-md: 2px;--border-width-lg: 4px;--card-padding: 16px;--card-border-radius: 12px;--form-item-spacing: 16px;--form-item-label-width: 120px;--btn-spacing-xs: 8px 12px;--btn-spacing-sm: 10px 16px;--btn-spacing-md: 12px 24px;--btn-spacing-lg: 16px 32px}:root{--font-family-sans: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;--font-family-mono: "Monaco", "Menlo", "Consolas", monospace;--font-size-3xs: 10px;--font-size-2xs: 11px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-size-5xl: 48px;--font-size-6xl: 60px;--font-weight-thin: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--font-heading-xs: var(--font-size-xl) var(--font-weight-bold) var(--line-height-tight);--font-heading-sm: var(--font-size-2xl) var(--font-weight-bold) var(--line-height-tight);--font-heading-md: var(--font-size-3xl) var(--font-weight-bold) var(--line-height-tight);--font-heading-lg: var(--font-size-4xl) var(--font-weight-bold) var(--line-height-tight);--font-heading-xl: var(--font-size-5xl) var(--font-weight-bold) var(--line-height-tight);--font-body-xs: var(--font-size-xs) var(--font-weight-normal) var(--line-height-relaxed);--font-body-sm: var(--font-size-sm) var(--font-weight-normal) var(--line-height-relaxed);--font-body-base: var(--font-size-base) var(--font-weight-normal) var(--line-height-relaxed);--font-body-md: var(--font-size-md) var(--font-weight-normal) var(--line-height-relaxed);--font-body-lg: var(--font-size-lg) var(--font-weight-normal) var(--line-height-relaxed);--font-caption-xs: var(--font-size-2xs) var(--font-weight-medium) var(--line-height-normal);--font-caption-sm: var(--font-size-xs) var(--font-weight-medium) var(--line-height-normal);--font-sans: var(--font-family-sans);--font-mono: var(--font-family-mono)}@media (max-width: 768px){:root{--font-size-3xs: 11px;--font-size-2xs: 12px;--font-size-xs: 13px;--font-size-sm: 14px;--font-size-base: 15px;--font-size-md: 17px;--font-size-lg: 19px;--font-size-xl: 21px;--font-size-2xl: 25px;--font-size-3xl: 31px;--font-size-4xl: 37px;--font-size-5xl: 49px;--font-size-6xl: 61px}}@media (max-width: 480px){:root{--font-size-3xs: 12px;--font-size-2xs: 13px;--font-size-xs: 14px;--font-size-sm: 15px;--font-size-base: 16px;--font-size-md: 18px;--font-size-lg: 20px;--font-size-xl: 22px;--font-size-2xl: 26px;--font-size-3xl: 32px;--font-size-4xl: 38px;--font-size-5xl: 50px;--font-size-6xl: 62px}}@media screen and (min-width: 1200px) and (max-width: 1280px){:root{--font-size-3xs: 9px;--font-size-2xs: 10px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 12px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 22px;--font-size-3xl: 28px;--font-size-4xl: 34px;--font-size-5xl: 46px;--font-size-6xl: 58px}body{font-size:var(--font-size-base)!important}.el-button,.el-input__inner,.el-select__input,.el-table,.el-pagination,.el-form-item__label,.el-dialog,.el-tag,.el-tabs__item,.el-menu-item,.el-sub-menu__title{font-size:var(--font-size-sm)!important}}:root{--shadow-none: none;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .12);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .16);--shadow-2xl: 0 16px 48px rgba(0, 0, 0, .2)}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px}:root{--breakpoint-xs: 360px;--breakpoint-xs-min: 0px;--breakpoint-xs-max: 479px;--breakpoint-sm: 480px;--breakpoint-sm-min: 480px;--breakpoint-sm-max: 639px;--breakpoint-md: 640px;--breakpoint-md-min: 640px;--breakpoint-md-max: 767px;--breakpoint-lg: 768px;--breakpoint-lg-min: 768px;--breakpoint-lg-max: 1023px;--breakpoint-xl: 1024px;--breakpoint-xl-min: 1024px;--breakpoint-xl-max: 1199px;--breakpoint-2xl: 1200px;--breakpoint-2xl-min: 1200px;--breakpoint-2xl-max: 1599px;--breakpoint-3xl: 1600px;--breakpoint-3xl-min: 1600px;--breakpoint-3xl-max: 1919px;--breakpoint-4xl: 1920px;--breakpoint-4xl-min: 1920px;--breakpoint-mobile: var(--breakpoint-sm);--breakpoint-tablet: var(--breakpoint-lg);--breakpoint-desktop: var(--breakpoint-xl);--breakpoint-large-desktop: var(--breakpoint-2xl)}@custom-media --media-xs (max-width: 479px);@custom-media --media-sm (min-width: 480px) and (max-width: 639px);@custom-media --media-md (min-width: 640px) and (max-width: 767px);@custom-media --media-lg (min-width: 768px) and (max-width: 1023px);@custom-media --media-xl (min-width: 1024px) and (max-width: 1199px);@custom-media --media-2xl (min-width: 1200px) and (max-width: 1599px);@custom-media --media-3xl (min-width: 1600px) and (max-width: 1919px);@custom-media --media-4xl (min-width: 1920px);@custom-media --media-min-xs (min-width: 360px);@custom-media --media-min-sm (min-width: 480px);@custom-media --media-min-md (min-width: 640px);@custom-media --media-min-lg (min-width: 768px);@custom-media --media-min-xl (min-width: 1024px);@custom-media --media-min-2xl (min-width: 1200px);@custom-media --media-min-3xl (min-width: 1600px);@custom-media --media-min-4xl (min-width: 1920px);@custom-media --media-max-xs (max-width: 359px);@custom-media --media-max-sm (max-width: 479px);@custom-media --media-max-md (max-width: 639px);@custom-media --media-max-lg (max-width: 767px);@custom-media --media-max-xl (max-width: 1023px);@custom-media --media-max-2xl (max-width: 1199px);@custom-media --media-max-3xl (max-width: 1599px);@custom-media --media-max-4xl (max-width: 1919px);@custom-media --media-mobile (max-width: 767px);@custom-media --media-tablet (min-width: 768px) and (max-width: 1023px);@custom-media --media-desktop (min-width: 1024px);:root{--nly-layout-max: 1280px;--nly-layout-wide: 1440px;--nly-layout-gutter: 24px;--nly-app-header-height: 56px;--nly-surface-app-bg: var(--nly-bg-page, var(--background-color));--nly-surface-elevated: var(--nly-bg-card, var(--color-bg-card));--nly-surface-border: color-mix(in srgb, var(--nly-border, var(--border-color)) 85%, transparent);--nly-accent-subtle: color-mix(in srgb, var(--nly-primary, var(--primary-color)) 7%, var(--nly-bg-card, #fff));--nly-accent-line: color-mix(in srgb, var(--nly-primary, var(--primary-color)) 55%, transparent)}.type-overline{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--nly-text-muted)}.type-display{font-size:clamp(var(--font-size-2xl),3vw,var(--font-size-4xl));font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--nly-text-primary)}.type-headline{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--nly-text-primary)}.type-lead{font-size:var(--font-size-md);line-height:var(--line-height-relaxed);color:var(--nly-text-secondary)}.surface-app{color:var(--nly-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.surface-app .content{background:var(--nly-surface-app-bg)}.surface-app .page-header{margin-bottom:var(--ux-gap-page, var(--spacing-5));padding:var(--ux-gap-compact, var(--spacing-4)) 0;background:transparent;border:none;border-bottom:1px solid var(--nly-surface-border);border-radius:0;box-shadow:none}.surface-app .page-title{font-size:var(--ux-type-page-title-size, var(--font-size-xl));font-weight:var(--ux-type-page-title-weight, var(--font-weight-semibold));line-height:var(--ux-type-page-title-line, var(--line-height-tight));color:var(--nly-text-primary);letter-spacing:var(--letter-spacing-tight)}.surface-app .page-title:before{width:var(--ux-page-header-accent-width, 3px);height:1.1em;border-radius:var(--radius-full);background:var(--nly-accent-line)}.surface-app .page-subtitle{font-size:var(--ux-type-page-subtitle-size, var(--font-size-sm));font-weight:var(--ux-type-page-subtitle-weight, var(--font-weight-normal));color:var(--nly-text-muted);margin-top:var(--spacing-1)}.surface-app .page-body{gap:var(--ux-gap-section, var(--spacing-4))}.surface-app .search-card,.surface-app .table-card,.surface-app .form-card,.surface-app .action-bar{background:var(--nly-surface-elevated);border:1px solid var(--nly-surface-border);border-radius:var(--nly-radius-md);box-shadow:none}.surface-app .search-card{padding:var(--ux-search-card-padding, var(--spacing-5))}.surface-app .table-card{padding:var(--ux-card-padding, var(--spacing-5))}.surface-app .action-bar{padding:var(--ux-toolbar-padding-y, var(--spacing-3)) var(--ux-toolbar-padding-x, var(--spacing-4))}.surface-app .pagination-container{margin-top:var(--ux-pagination-margin-top, var(--spacing-4))}.surface-app .search-form .el-input,.surface-app .search-form .el-select{width:var(--ux-input-width-filter, 200px);max-width:100%}.surface-app .search-card:hover,.surface-app .table-card:hover{border-color:color-mix(in srgb,var(--nly-primary) 18%,var(--nly-surface-border))}.surface-app .el-button--primary:not(.is-plain):not(.is-link):not(.is-text){background:var(--primary-color)!important;border-color:var(--primary-color)!important;background-image:none!important;box-shadow:none!important;transform:none!important;font-weight:var(--font-weight-medium)}.surface-app .el-button--primary:not(.is-plain):hover{background:var(--primary-light, var(--nly-primary-light))!important;border-color:var(--primary-light, var(--nly-primary-light))!important}.surface-marketing{-webkit-font-smoothing:antialiased}.surface-marketing .auth-title,.surface-marketing .login-page__title{font-size:clamp(var(--font-size-xl),2.5vw,var(--font-size-2xl));letter-spacing:var(--letter-spacing-tight)}.empty-state-root{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12) var(--spacing-6);text-align:center}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:var(--spacing-4);border-radius:var(--radius-full);background:var(--nly-accent-subtle);color:var(--nly-primary);border:1px solid color-mix(in srgb,var(--nly-primary) 12%,transparent)}.empty-state-title{margin:0 0 var(--spacing-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--nly-text-primary)}.empty-state-description{margin:0 0 var(--spacing-4);max-width:360px;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--nly-text-muted)}.empty-state-action{margin-top:var(--spacing-2)}:root{--nly-atmosphere-primary: color-mix(in srgb, var(--nly-primary) 8%, transparent);--nly-atmosphere-secondary: color-mix(in srgb, var(--nly-primary-light) 5%, transparent);--nly-glow-soft: 0 0 40px color-mix(in srgb, var(--nly-primary) 12%, transparent)}.surface-app .content{position:relative;isolation:isolate}.surface-app .content:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 50% at 100% 0%,var(--nly-atmosphere-primary),transparent 55%),radial-gradient(ellipse 60% 40% at 0% 100%,var(--nly-atmosphere-secondary),transparent 50%);opacity:.9}.surface-app .content-inner{position:relative;z-index:1;padding:var(--ux-content-padding, var(--spacing-5)) var(--ux-content-padding, var(--spacing-6));min-height:100%;box-sizing:border-box}@keyframes nlyPageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nly-page-enter{animation:nlyPageEnter .45s cubic-bezier(.16,1,.3,1) both}.nly-page-enter>.page-header{animation:nlyPageEnter .5s cubic-bezier(.16,1,.3,1) both}.nly-page-enter>.page-body,.nly-page-enter>.home-dashboard>.stat-row{animation:nlyPageEnter .55s cubic-bezier(.16,1,.3,1) .06s both}.nly-page-enter>.home-dashboard>.welcome-card{animation:nlyPageEnter .5s cubic-bezier(.16,1,.3,1) both}.nly-page-enter>.home-dashboard>.main-row{animation:nlyPageEnter .55s cubic-bezier(.16,1,.3,1) .12s both}@media (prefers-reduced-motion: reduce){.nly-page-enter,.nly-page-enter>*{animation:none!important}}.nly-brand-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.06em;color:color-mix(in srgb,var(--color-white) 92%,var(--nly-primary-light));background:color-mix(in srgb,var(--color-white) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-white) 22%,transparent);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nly-brand-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--nly-primary-light);box-shadow:0 0 8px var(--nly-primary-light)}@keyframes nlyRingPulse{0%,to{transform:scale(1);opacity:.35}50%{transform:scale(1.08);opacity:.15}}.empty-state-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin-bottom:var(--spacing-4)}.empty-state-ring{position:absolute;border-radius:50%;border:1px solid color-mix(in srgb,var(--nly-primary) 20%,transparent);pointer-events:none}.empty-state-ring--outer{top:0;right:0;bottom:0;left:0;animation:nlyRingPulse 3s ease-in-out infinite}.empty-state-ring--inner{top:12px;right:12px;bottom:12px;left:12px;animation:nlyRingPulse 3s ease-in-out .5s infinite}.empty-state-icon-wrap .empty-state-icon{margin-bottom:0;width:64px;height:64px;box-shadow:var(--nly-glow-soft)}.home-sidebar:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--nly-primary-light) 60%,white),transparent);opacity:.6;pointer-events:none}.home-sidebar .sidebar-logo{position:relative}.home-sidebar .sidebar-logo:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,white 8%,transparent),transparent 70%);pointer-events:none}.surface-marketing.platform-center .main-content,.platform-center.surface-marketing .main-content{position:relative}.platform-center .main-content:before{content:"";position:absolute;top:-80px;right:-60px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,var(--nly-atmosphere-primary),transparent 70%);pointer-events:none;z-index:0}.platform-center .main-content:after{content:"";position:absolute;bottom:10%;left:-40px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,var(--nly-atmosphere-secondary),transparent 70%);pointer-events:none;z-index:0}.platform-center .section-header,.platform-center .platform-grid,.platform-center .stats-section{position:relative;z-index:1}.surface-marketing .login-page__panel{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.surface-marketing .login-page__card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:color-mix(in srgb,var(--color-white) 94%,transparent);border:1px solid color-mix(in srgb,var(--nly-primary) 8%,var(--nly-border-light));box-shadow:var(--nly-shadow-lg),inset 0 1px 0 color-mix(in srgb,white 80%,transparent)}.surface-app .table-card{position:relative;overflow:visible}.surface-app .table-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--nly-accent-line) 20%,color-mix(in srgb,var(--nly-primary-light) 40%,transparent) 50%,var(--nly-accent-line) 80%,transparent 100%);opacity:.55;pointer-events:none}.surface-app .page-subtitle:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--nly-primary);margin-right:8px;vertical-align:middle;opacity:.7}.surface-app .page-subtitle:empty:before{display:none}@media (max-width: 768px){.surface-app .content-inner{padding:var(--spacing-4)}}@media screen and (min-width: 1200px) and (max-width: 1280px){.surface-app .content-inner{padding:var(--spacing-3) var(--spacing-4)}}:root{--ux-gap-page: var(--spacing-6);--ux-gap-section: var(--spacing-4);--ux-gap-compact: var(--spacing-3);--ux-gap-inline: var(--spacing-2);--ux-content-padding: var(--spacing-6);--ux-type-page-title-size: var(--font-size-xl);--ux-type-page-title-weight: var(--font-weight-semibold);--ux-type-page-title-line: var(--line-height-tight);--ux-type-page-subtitle-size: var(--font-size-sm);--ux-type-page-subtitle-weight: var(--font-weight-normal);--ux-type-page-subtitle-line: var(--line-height-normal);--ux-type-section-title-size: var(--font-size-md);--ux-type-section-title-weight: var(--font-weight-semibold);--ux-type-body-size: var(--font-size-base);--ux-type-body-weight: var(--font-weight-normal);--ux-type-body-line: var(--line-height-normal);--ux-type-caption-size: var(--font-size-xs);--ux-type-caption-weight: var(--font-weight-normal);--ux-type-kpi-size: var(--font-size-2xl);--ux-type-kpi-weight: var(--font-weight-bold);--ux-type-kpi-line: var(--line-height-tight);--ux-control-height: 32px;--ux-control-height-sm: 28px;--ux-input-width-filter: 200px;--ux-input-width-filter-sm: 160px;--ux-input-width-short: 120px;--ux-table-row-height: 44px;--ux-table-header-height: 48px;--ux-card-padding: var(--spacing-5);--ux-search-card-padding: var(--spacing-5);--ux-toolbar-padding-y: var(--spacing-3);--ux-toolbar-padding-x: var(--spacing-4);--ux-pagination-margin-top: var(--spacing-4);--ux-dialog-width-xs: 400px;--ux-dialog-width-sm: 480px;--ux-dialog-width-md: 720px;--ux-dialog-width-lg: 85%;--ux-list-aside-width: 260px;--ux-list-aside-width-collapsed: 42px;--ux-list-aside-width-min: 200px;--ux-master-panel-width: 340px;--ux-master-detail-gap: var(--ux-gap-section);--ux-master-detail-min-height: 520px;--ux-page-header-accent-width: 3px;--ux-section-accent-width: 3px;--ux-section-accent-height: 14px}.ux-type-page-title{font-size:var(--ux-type-page-title-size);font-weight:var(--ux-type-page-title-weight);line-height:var(--ux-type-page-title-line);color:var(--nly-text-primary, var(--text-color))}.ux-type-page-subtitle{font-size:var(--ux-type-page-subtitle-size);font-weight:var(--ux-type-page-subtitle-weight);line-height:var(--ux-type-page-subtitle-line);color:var(--nly-text-muted, var(--text-color-secondary))}.ux-type-section-title{font-size:var(--ux-type-section-title-size);font-weight:var(--ux-type-section-title-weight);color:var(--nly-text-primary, var(--text-color))}.ux-type-body{font-size:var(--ux-type-body-size);font-weight:var(--ux-type-body-weight);line-height:var(--ux-type-body-line)}.ux-type-caption{font-size:var(--ux-type-caption-size);font-weight:var(--ux-type-caption-weight);color:var(--nly-text-muted, var(--text-color-secondary))}.ux-type-kpi{font-size:var(--ux-type-kpi-size);font-weight:var(--ux-type-kpi-weight);line-height:var(--ux-type-kpi-line);color:var(--nly-primary, var(--primary-color))}.ux-input-filter{width:var(--ux-input-width-filter);max-width:100%}.ux-input-filter--sm{width:var(--ux-input-width-filter-sm);max-width:100%}.ux-spec-annotation{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-family:var(--font-family-mono);color:var(--nly-primary);background:color-mix(in srgb,var(--nly-primary) 8%,transparent);border:1px dashed color-mix(in srgb,var(--nly-primary) 25%,transparent);border-radius:4px}.ux-blueprint{display:grid;gap:var(--ux-gap-compact);font-size:var(--font-size-sm)}.ux-blueprint__row{display:flex;align-items:stretch;gap:var(--ux-gap-inline);min-height:36px}.ux-blueprint__cell{flex:1;display:flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--nly-border);border-radius:var(--nly-radius-sm);background:var(--nly-bg-card);text-align:center;color:var(--nly-text-secondary)}.ux-blueprint__cell--accent{border-color:color-mix(in srgb,var(--nly-primary) 35%,var(--nly-border));background:var(--nly-accent-subtle);color:var(--nly-primary);font-weight:var(--font-weight-medium)}.ux-blueprint__cell--narrow{flex:0 0 28%}@media screen and (min-width: 1200px) and (max-width: 1280px){:root{--ux-content-padding: var(--spacing-4);--ux-gap-page: var(--spacing-4);--ux-gap-section: var(--spacing-3);--ux-card-padding: var(--spacing-4);--ux-search-card-padding: var(--spacing-4);--ux-input-width-filter: var(--ux-input-width-filter-sm);--ux-list-aside-width: 220px;--ux-master-panel-width: 280px;--ux-type-page-title-size: var(--font-size-lg);--ux-type-kpi-size: var(--font-size-xl);--ux-table-row-height: 40px}}@media (max-width: 768px){:root{--ux-content-padding: var(--spacing-4);--ux-master-panel-width: 100%}}:root{--nly-bp-compact-desktop-min: 1200px;--nly-bp-compact-desktop-max: 1280px;--nly-bp-short-viewport-max: 800px;--nly-shell-sidebar-width: var(--layout-sidebar-width, 256px);--nly-shell-calendar-aside-width: 350px;--nly-shell-calendar-aside-min-width: 280px;--nly-shell-calendar-aside-max-width: 350px;--nly-shell-list-panel-width: 280px;--nly-shell-list-panel-min-width: 220px;--nly-dialog-max-height: none;--nly-dialog-margin-block: auto;--nly-dialog-body-max-height: 70vh;--nly-dialog-detail-body-max-height: 85vh;--nly-dialog-form-body-max-height: 56vh;--nly-dialog-width-percent: 100%;--nly-table-min-width: 600px;--nly-table-scroll-max-height: none;--nly-performance-board-height:calc(100vh - 220px);--nly-performance-chart-height: 200px;--nly-detail-container-max-height: none}@media screen and (min-width: 1200px) and (max-width: 1280px){:root{--nly-shell-sidebar-width: 168px;--nly-shell-calendar-aside-width: 290px;--nly-shell-calendar-aside-min-width: 260px;--nly-shell-calendar-aside-max-width: 290px;--ux-content-padding: var(--spacing-4);--ux-gap-page: var(--spacing-4);--ux-gap-section: var(--spacing-3);--ux-card-padding: var(--spacing-4);--ux-search-card-padding: var(--spacing-4);--ux-input-width-filter: var(--ux-input-width-filter-sm);--ux-list-aside-width: 220px;--ux-master-panel-width: 280px;--ux-type-page-title-size: var(--font-size-lg);--ux-type-kpi-size: var(--font-size-xl);--ux-table-row-height: 40px}}@media screen and (max-height: 800px){:root{--layout-tag-view-height: 32px;--nly-app-header-height: 48px;--ux-gap-page: var(--spacing-3);--ux-gap-section: var(--spacing-2);--ux-content-padding: var(--spacing-3);--ux-card-padding: var(--spacing-3);--ux-search-card-padding: var(--spacing-3);--ux-table-row-height: 38px;--ux-master-detail-min-height: 360px;--nly-dialog-max-height: 94vh;--nly-dialog-margin-block: 3vh;--nly-dialog-body-max-height: 58vh;--nly-dialog-detail-body-max-height: 52vh;--nly-dialog-form-body-max-height: 56vh;--nly-table-scroll-max-height:calc(100vh - 260px);--nly-performance-board-height:calc(100vh - 152px);--nly-performance-chart-height: 160px;--nly-detail-container-max-height: 48vh}}@media screen and (min-width: 1200px) and (max-width: 1280px) and (max-height: 800px){:root{--nly-shell-sidebar-width: 168px;--nly-shell-calendar-aside-width: 240px;--nly-shell-calendar-aside-min-width: 220px;--nly-shell-calendar-aside-max-width: 240px;--nly-shell-list-panel-width: 240px;--nly-shell-list-panel-min-width: 220px;--nly-dialog-width-percent: 92%;--nly-dialog-body-max-height: 56vh;--nly-dialog-detail-body-max-height: 50vh;--nly-table-min-width: 520px}}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.flex-grow-0{flex-grow:0}.flex-grow-1{flex-grow:1}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.ml-0{margin-left:0}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.ml-xl{margin-left:var(--spacing-xl)}.mr-0{margin-right:0}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.mr-xl{margin-right:var(--spacing-xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.pl-0{padding-left:0}.pl-xs{padding-left:var(--spacing-xs)}.pl-sm{padding-left:var(--spacing-sm)}.pl-md{padding-left:var(--spacing-md)}.pl-lg{padding-left:var(--spacing-lg)}.pl-xl{padding-left:var(--spacing-xl)}.pr-0{padding-right:0}.pr-xs{padding-right:var(--spacing-xs)}.pr-sm{padding-right:var(--spacing-sm)}.pr-md{padding-right:var(--spacing-md)}.pr-lg{padding-right:var(--spacing-lg)}.pr-xl{padding-right:var(--spacing-xl)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.visibility-hidden{visibility:hidden}.visibility-visible{visibility:visible}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-justify{text-align:justify}.text-primary{color:var(--color-primary-400)}.text-secondary{color:var(--color-text-secondary)}.text-light{color:var(--color-text-light)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-info{color:var(--color-info)}.text-white{color:var(--color-white)}.text-black{color:var(--color-black)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:var(--letter-spacing-normal)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}:root{--transition-fast: .15s;--transition-normal: .25s;--transition-slow: .35s;--transition-slowest: .5s;--transition-ease: cubic-bezier(.4, 0, .2, 1);--transition-ease-out: cubic-bezier(.33, 1, .68, 1);--transition-ease-in: cubic-bezier(.6, 0, 1, 1);--transition-bounce: cubic-bezier(.68, -.55, .265, 1.55)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleInCenter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes scaleInX{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes scaleInY{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes bounceInUp{0%{opacity:0;transform:translateY(30px)}50%{transform:translateY(-5px)}70%{transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;transform:translateY(-30px)}50%{transform:translateY(5px)}70%{transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes shakeY{0%,to{transform:translateY(0)}10%,30%,50%,70%,90%{transform:translateY(-5px)}20%,40%,60%,80%{transform:translateY(5px)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg)}to{opacity:1;transform:rotate(0)}}@keyframes flipIn{0%{opacity:0;transform:perspective(400px) rotateY(90deg)}to{opacity:1;transform:perspective(400px) rotateY(0)}}@keyframes flipInX{0%{opacity:0;transform:perspective(400px) rotateX(90deg)}to{opacity:1;transform:perspective(400px) rotateX(0)}}@keyframes pulseScale{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes pulseRing{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fadeInOut{0%,to{opacity:0}50%{opacity:1}}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes progress{0%{width:0}to{width:100%}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--transition-normal) var(--transition-ease) forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-normal) var(--transition-ease) forwards}.animate-fade-in-down{animation:fadeInDown var(--transition-normal) var(--transition-ease) forwards}.animate-fade-in-left{animation:fadeInLeft var(--transition-normal) var(--transition-ease) forwards}.animate-fade-in-right{animation:fadeInRight var(--transition-normal) var(--transition-ease) forwards}.animate-scale-in{animation:scaleIn var(--transition-fast) var(--transition-ease) forwards}.animate-scale-in-center{animation:scaleInCenter var(--transition-normal) var(--transition-ease-out) forwards}.animate-scale-in-x{animation:scaleInX var(--transition-fast) var(--transition-ease) forwards}.animate-scale-in-y{animation:scaleInY var(--transition-fast) var(--transition-ease) forwards}.animate-bounce-in{animation:bounceIn var(--transition-slow) var(--transition-bounce) forwards}.animate-bounce-in-up{animation:bounceInUp var(--transition-slow) var(--transition-bounce) forwards}.animate-bounce-in-down{animation:bounceInDown var(--transition-slow) var(--transition-bounce) forwards}.animate-shake{animation:shake .5s var(--transition-ease)}.animate-shake-y{animation:shakeY .5s var(--transition-ease)}.animate-spin-slow{animation:spinSlow 3s linear infinite}.animate-rotate-in{animation:rotateIn var(--transition-normal) var(--transition-ease-out) forwards}.animate-flip-in{animation:flipIn var(--transition-normal) var(--transition-ease-out) forwards}.animate-flip-in-x{animation:flipInX var(--transition-normal) var(--transition-ease-out) forwards}.animate-pulse-scale{animation:pulseScale 2s ease-in-out infinite}.animate-pulse-ring{animation:pulseRing 1.5s ease-out infinite}.animate-slide-in-up{animation:slideInUp var(--transition-slow) var(--transition-ease-out) forwards}.animate-slide-in-down{animation:slideInDown var(--transition-slow) var(--transition-ease-out) forwards}.animate-slide-in-left{animation:slideInLeft var(--transition-slow) var(--transition-ease-out) forwards}.animate-slide-in-right{animation:slideInRight var(--transition-slow) var(--transition-ease-out) forwards}.animate-fade-in-out{animation:fadeInOut 2s ease-in-out infinite}.animate-blink{animation:blink 1s ease-in-out infinite}.animate-progress{animation:progress var(--transition-slow) var(--transition-ease-out) forwards}.animate-shimmer{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);background-size:200% 100%}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.animation-delay-700{animation-delay:.7s}.animation-delay-1000{animation-delay:1s}.animation-fill-backwards{animation-fill-mode:backwards}.animation-fill-forwards{animation-fill-mode:forwards}.animation-fill-both{animation-fill-mode:both}.animation-paused{animation-play-state:paused}.animation-running{animation-play-state:running}.hover-lift{transition:transform var(--transition-normal) var(--transition-ease)}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:transform var(--transition-fast) var(--transition-ease)}.hover-scale:hover{transform:scale(1.02)}.hover-scale-lg{transition:transform var(--transition-normal) var(--transition-ease)}.hover-scale-lg:hover{transform:scale(1.05)}.hover-scale-sm{transition:transform var(--transition-fast) var(--transition-ease)}.hover-scale-sm:hover{transform:scale(.98)}.hover-skew{transition:transform var(--transition-normal) var(--transition-ease)}.hover-skew:hover{transform:skew(-5deg)}.hover-rotate{transition:transform var(--transition-normal) var(--transition-ease)}.hover-rotate:hover{transform:rotate(3deg)}.transition-fast{transition-duration:var(--transition-fast)}.transition-normal{transition-duration:var(--transition-normal)}.transition-slow{transition-duration:var(--transition-slow)}.transition-slowest{transition-duration:var(--transition-slowest)}.transition-ease{transition-timing-function:var(--transition-ease)}.transition-ease-out{transition-timing-function:var(--transition-ease-out)}.transition-ease-in{transition-timing-function:var(--transition-ease-in)}.transition-bounce{transition-timing-function:var(--transition-bounce)}.transition-all{transition-property:all}.transition-opacity{transition-property:opacity}.transition-transform{transition-property:transform}.transition-color{transition-property:color}.transition-bg{transition-property:background-color}.transition-border{transition-property:border-color}.transition-shadow{transition-property:box-shadow}.transition-width{transition-property:width}.transition-height{transition-property:height}.transition-position{transition-property:top,right,bottom,left}:focus-visible{outline:var(--focus-ring-width, 2px) solid var(--focus-ring-color, var(--primary-color));outline-offset:var(--focus-ring-offset, 2px)}:focus:not(:focus-visible){outline:none}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary-600, var(--primary-dark));color:var(--color-white);padding:8px 16px;z-index:9999;transition:top .2s ease}.skip-link:focus{top:0}@media (prefers-contrast: high){:root{--color-primary-500: var(--color-black);--color-primary-400: var(--color-gray-800);--color-primary-600: var(--color-gray-500);--color-text-primary: var(--color-black);--color-text-secondary: var(--color-gray-800);--color-border: var(--color-black)}.btn-primary{background:#000000!important;color:#fff!important}.card{border-width:2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-spin,.animate-pulse,.animate-blink{animation:none}}@media (prefers-color-scheme: dark){body:not([data-theme]){--color-bg-page: var(--color-gray-900);--color-bg-card: var(--color-gray-800);--color-bg-hover: var(--color-gray-700);--color-text-primary: var(--color-white);--color-text-secondary: var(--color-gray-300);--color-text-muted: var(--color-gray-400);--color-border: var(--color-gray-700)}}.keyboard-nav{cursor:pointer}.keyboard-nav:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring-color, var(--primary-color)) 30%,transparent)}.sr-only,.sr-only-focusable{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-focusable:focus{position:static;width:auto;height:auto;padding:initial;margin:initial;overflow:visible;clip:auto;white-space:normal}.contrast-high{color:var(--color-text-primary);background-color:var(--color-bg-card)}.contrast-medium{color:var(--color-text-secondary);background-color:var(--color-bg-card)}.text-readable{font-size:16px;line-height:1.6}.text-large{font-size:18px;line-height:1.6}.text-xl{font-size:20px;line-height:1.6}.line-height-readable{line-height:1.6}.line-height-relaxed{line-height:1.8}.letter-spacing-readable{letter-spacing:.02em}.touch-target{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.no-uppercase{text-transform:none}.img-alt{font-size:14px;color:var(--color-text-muted);text-align:center;padding:16px;background:var(--color-bg-hover);border-radius:var(--radius-md)}.form-label{display:block;margin-bottom:8px;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-label-required:after{content:" *";color:var(--color-danger-500)}.error-message{color:var(--color-danger-500);font-size:14px;margin-top:4px;display:flex;align-items:center;gap:4px}.success-message{color:var(--color-success-600);font-size:14px;margin-top:4px;display:flex;align-items:center;gap:4px}.warning-message{color:var(--color-warning-600);font-size:14px;margin-top:4px;display:flex;align-items:center;gap:4px}.icon-button{padding:8px;border:none;background:transparent;cursor:pointer}.icon-button:focus-visible{outline:var(--focus-ring-width, 2px) solid var(--focus-ring-color, var(--primary-color));outline-offset:var(--focus-ring-offset, 2px)}.form-validation-success{border-color:var(--color-success-500);background-color:var(--color-success-50)}.form-validation-error{border-color:var(--color-danger-500);background-color:var(--color-danger-50)}.reading-order{display:flex;flex-direction:column}.hidden-accessible{visibility:hidden;opacity:0;position:absolute;pointer-events:none}.hidden-accessible.focusable:focus{visibility:visible;opacity:1;position:static;pointer-events:auto}@media print{.no-print{display:none!important}body{font-size:12pt;line-height:1.5;color:#000;background:#fff}a{color:#000;text-decoration:underline}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--btn-spacing-md);font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--radius-md);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;outline:none;position:relative;overflow:hidden;white-space:nowrap}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%);opacity:0;transition:opacity .2s ease}.btn:hover:before{opacity:1}.btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-500) 25%,transparent)}.btn-xs{padding:var(--btn-spacing-xs);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn-sm{padding:var(--btn-spacing-sm);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn-md{padding:var(--btn-spacing-md);font-size:var(--font-size-base);border-radius:var(--radius-md)}.btn-lg{padding:var(--btn-spacing-lg);font-size:var(--font-size-md);border-radius:var(--radius-lg)}.btn-primary{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-600) 100%);color:var(--color-white);box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary-500) 30%,transparent)}.btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-400) 0%,var(--color-primary-500) 100%);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary-500) 40%,transparent);transform:translateY(-1px)}.btn-primary:active{background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-700) 100%);transform:translateY(0);box-shadow:0 2px 4px color-mix(in srgb,var(--color-primary-600) 30%,transparent)}.btn-success{background:linear-gradient(135deg,var(--color-success-500) 0%,var(--color-success-600) 100%);color:var(--color-white);box-shadow:0 2px 8px #22c55e4d}.btn-success:hover{background:linear-gradient(135deg,var(--color-success-400) 0%,var(--color-success-500) 100%);box-shadow:0 4px 12px #22c55e66;transform:translateY(-1px)}.btn-success:active{background:linear-gradient(135deg,var(--color-success-600) 0%,var(--color-success-700) 100%);transform:translateY(0)}.btn-warning{background:linear-gradient(135deg,var(--color-warning-500) 0%,var(--color-warning-600) 100%);color:var(--color-white);box-shadow:0 2px 8px #f59e0b4d}.btn-warning:hover{background:linear-gradient(135deg,var(--color-warning-400) 0%,var(--color-warning-500) 100%);box-shadow:0 4px 12px #f59e0b66;transform:translateY(-1px)}.btn-warning:active{background:linear-gradient(135deg,var(--color-warning-600) 0%,var(--color-warning-700) 100%);transform:translateY(0)}.btn-danger{background:linear-gradient(135deg,var(--color-danger-500) 0%,var(--color-danger-600) 100%);color:var(--color-white);box-shadow:0 2px 8px #ef44444d}.btn-danger:hover{background:linear-gradient(135deg,var(--color-danger-400) 0%,var(--color-danger-500) 100%);box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}.btn-danger:active{background:linear-gradient(135deg,var(--color-danger-600) 0%,var(--color-danger-700) 100%);transform:translateY(0)}.btn-default{background-color:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-default:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-dark)}.btn-default:active{background-color:var(--color-bg-active)}.btn-outline{background-color:transparent;border-width:1px;border-style:solid}.btn-outline-primary{color:var(--color-primary-600);border-color:var(--color-primary-400)}.btn-outline-primary:hover{background-color:var(--color-primary-50);border-color:var(--color-primary-500)}.btn-outline-success{color:var(--color-success-600);border-color:var(--color-success-400)}.btn-outline-success:hover{background-color:var(--color-success-50);border-color:var(--color-success-500)}.btn-outline-warning{color:var(--color-warning-600);border-color:var(--color-warning-400)}.btn-outline-warning:hover{background-color:var(--color-warning-50);border-color:var(--color-warning-500)}.btn-outline-danger{color:var(--color-danger-600);border-color:var(--color-danger-400)}.btn-outline-danger:hover{background-color:var(--color-danger-50);border-color:var(--color-danger-500)}.btn-ghost{background-color:transparent;border:none;color:var(--color-text-secondary)}.btn-ghost:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.btn-disabled,.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-disabled:hover,.btn:disabled:hover{transform:none}.btn-icon{padding:var(--spacing-3)}.btn-icon.btn-xs{padding:var(--spacing-1)}.btn-icon.btn-sm{padding:var(--spacing-2)}.btn-icon.btn-lg{padding:var(--spacing-4)}.btn-block{width:100%}.btn-group{display:inline-flex;gap:var(--spacing-2)}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.btn-group .btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.btn-group .btn:not(:first-child):not(:last-child){border-radius:0}.card{background-color:var(--color-bg-card);border-radius:var(--card-border-radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-gray-50) 0%,transparent 100%)}.card-header-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-2)}.card-header-title:before{content:"";width:4px;height:18px;background:linear-gradient(180deg,var(--color-primary-500) 0%,var(--color-primary-400) 100%);border-radius:2px}.card-header-extra{display:flex;align-items:center;gap:var(--spacing-3)}.card-body{padding:var(--card-padding)}.card-footer{display:flex;justify-content:flex-end;align-items:center;padding:var(--spacing-4) var(--spacing-5);border-top:1px solid var(--color-border);gap:var(--spacing-3);background:linear-gradient(0deg,var(--color-gray-50) 0%,transparent 100%)}.card-hover{cursor:pointer}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--color-primary-200)}.card-sm{border-radius:var(--radius-md)}.card-sm .card-header,.card-sm .card-footer{padding:var(--spacing-3)}.card-sm .card-body{padding:var(--spacing-4)}.card-md{border-radius:var(--card-border-radius)}.card-lg{border-radius:var(--radius-xl)}.card-lg .card-header,.card-lg .card-footer{padding:var(--spacing-5)}.card-lg .card-body{padding:var(--spacing-6)}.card-no-border{border:none}.card-no-shadow{box-shadow:none}.card-elevated{box-shadow:var(--shadow-md)}.card-elevated:hover{box-shadow:var(--shadow-xl)}.card-outline{background-color:transparent;border:2px solid var(--color-border)}.card-outline:hover{border-color:var(--color-primary-400)}.card-glass{background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:#e5e7ebcc}.card-ghost{background-color:transparent;border:none;box-shadow:none}.card-success{border-color:var(--color-success-300)}.card-success .card-header{background:linear-gradient(180deg,var(--color-success-50) 0%,transparent 100%)}.card-success .card-header-title:before{background:linear-gradient(180deg,var(--color-success-500) 0%,var(--color-success-400) 100%)}.card-warning{border-color:var(--color-warning-300)}.card-warning .card-header{background:linear-gradient(180deg,var(--color-warning-50) 0%,transparent 100%)}.card-warning .card-header-title:before{background:linear-gradient(180deg,var(--color-warning-500) 0%,var(--color-warning-400) 100%)}.card-danger{border-color:var(--color-danger-300)}.card-danger .card-header{background:linear-gradient(180deg,var(--color-danger-50) 0%,transparent 100%)}.card-danger .card-header-title:before{background:linear-gradient(180deg,var(--color-danger-500) 0%,var(--color-danger-400) 100%)}.card-info{border-color:var(--color-info-300)}.card-info .card-header{background:linear-gradient(180deg,var(--color-info-50) 0%,transparent 100%)}.card-info .card-header-title:before{background:linear-gradient(180deg,var(--color-info-500) 0%,var(--color-info-400) 100%)}.card-grid{display:grid;gap:var(--spacing-4)}.card-stack{display:flex;flex-direction:column;gap:var(--spacing-4)}.card-divider{height:1px;background:linear-gradient(90deg,transparent 0%,var(--color-border) 50%,transparent 100%);margin:var(--spacing-4) 0}.table-card{background:var(--color-bg-card, var(--nly-bg-card, #ffffff));border-radius:8px;padding:20px;box-shadow:var(--shadow-sm, 0 2px 12px 0 rgba(0, 0, 0, .1))}.table-responsive-wrapper{overflow-x:auto}.table-card .table-responsive-wrapper{overflow-x:auto;overflow-y:hidden;border-radius:calc(var(--nly-radius-md, var(--radius-lg, 8px)) - 2px)}.table-card .el-table{width:100%}.table-card .pagination-container{margin-top:16px;display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--color-border, var(--nly-border, var(--color-gray-200)));flex-shrink:0}.table{width:100%;border-collapse:collapse;border-radius:var(--radius-md);overflow:hidden}.table th,.table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.table th{background-color:var(--color-primary-100);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.table tbody tr:hover{background-color:var(--color-primary-50)}.table tbody tr:last-child td{border-bottom:none}.table-striped tbody tr:nth-child(2n){background-color:var(--color-bg-hover)}.table-sm th,.table-sm td{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.table-lg th,.table-lg td{padding:var(--spacing-md) var(--spacing-lg)}.table-bordered{border:1px solid var(--color-border)}.table-bordered th,.table-bordered td{border-right:1px solid var(--color-border)}.table-bordered th:last-child,.table-bordered td:last-child{border-right:none}@media screen and (max-width: 768px){.table-card{height:auto;min-height:auto;padding:12px}.table-responsive-wrapper{overflow-x:auto}}:root{--nly-shell-header-z-index: 100}.el-overlay,.el-overlay.is-message-box{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100vh!important;height:100dvh!important}.el-overlay-dialog{display:flex;align-items:center;justify-content:center}.surface-app .list-page__overlays,.surface-app .list-page,.surface-app .list-page__main,.surface-app .page-body{overflow:visible}.el-dialog{border-radius:var(--radius-xl)!important;overflow:hidden!important;background:var(--dialog-bg)!important}.el-dialog__header{background:var(--dialog-header-bg)!important;padding:16px 20px!important;margin-right:0!important}.el-dialog__title{color:var(--dialog-header-text)!important;font-weight:600!important}.el-dialog__headerbtn .el-dialog__close{color:var(--dialog-header-text)!important}.el-dialog__body{padding:24px!important;background:var(--dialog-bg)!important}.el-dialog__footer{padding:16px 24px!important;border-top:1px solid var(--dialog-divider)!important;background:var(--dialog-bg)!important}.dialog-form{padding:0}.dialog-form-item{margin-bottom:16px;display:flex;flex-wrap:wrap}.dialog-form-item__label{font-weight:500;color:var(--text-color-secondary)}.dialog-form-item__content{flex:1;min-width:200px}.dialog-input,.dialog-select,.dialog-date-editor,.dialog-textarea,.dialog-cascader{width:100%}@media screen and (max-width: 1200px){.el-dialog{width:95%!important;margin:2vh auto!important;max-height:96vh;display:flex;flex-direction:column}.el-dialog__header{padding:12px!important;flex-shrink:0}.el-dialog__body{padding:12px!important;max-height:70vh;overflow-y:auto;flex:1}.dialog-form-item{margin-bottom:12px}}@media screen and (max-width: 768px){.el-dialog{width:98%!important;max-height:90vh}.el-dialog__header{padding:12px!important}.el-dialog__title{font-size:15px}.el-dialog__body{padding:12px!important}.el-dialog__footer{padding:12px!important;display:flex;gap:8px;flex-wrap:wrap}.el-dialog__footer .el-button{flex:1;min-width:80px}.dialog-form-item__label{float:none;display:block;text-align:left;padding:0 0 4px}.dialog-form-item__content{margin-left:0!important}}@media screen and (max-width: 480px){.el-dialog{width:98%!important;margin:1vh auto!important;max-height:98vh}.el-dialog__header,.el-dialog__body,.el-dialog__footer{padding:10px!important}}@media screen and (max-width: 375px){.el-dialog{width:100%!important;margin:0!important;border-radius:0!important;max-height:100vh;display:flex;flex-direction:column}.el-dialog__header{flex-shrink:0}.el-dialog__body{flex:1;overflow-y:auto}.el-dialog__footer{flex-shrink:0}}:root{--transition-fast: .15s ease;--transition-normal: .25s ease;--focus-ring-color: var(--primary-color);--focus-ring-width: 2px;--focus-ring-offset: 2px}.interactive-focus:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.el-button{transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.el-button:active:not(.is-disabled){transform:scale(.98)}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner{transition:box-shadow var(--transition-normal),border-color var(--transition-normal)}.el-input__wrapper:focus-within,.el-select__wrapper.is-focused{box-shadow:0 0 0 var(--focus-ring-width) color-mix(in srgb,var(--focus-ring-color) 25%,transparent)}.page-header,.search-card,.table-card,.action-bar{transition:box-shadow var(--transition-normal)}.page-header:hover,.search-card:hover,.table-card:hover{box-shadow:var(--shadow-md, var(--box-shadow-normal))}.calendar-section{width:350px;flex-shrink:0;background:var(--color-white);border-radius:8px;padding:20px;box-shadow:0 2px 12px #0000001a}.calendar-header-left,.calendar-header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.calendar-title{font-size:18px;font-weight:700;color:var(--text-color, var(--text-primary));min-width:120px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-grid{border:1px solid var(--color-gray-200);border-radius:4px;overflow:hidden;margin-bottom:20px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--color-gray-100);border-bottom:1px solid var(--color-gray-200);gap:0;margin-bottom:0}.weekday{padding:10px 0;text-align:center;font-size:14px;color:var(--text-color-secondary, var(--text-secondary));font-weight:500}.calendar-day{position:relative;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .3s;border-radius:4px;border-right:1px solid var(--color-gray-200);border-bottom:1px solid var(--color-gray-200)}.calendar-day:hover{background-color:var(--color-primary-50)}.calendar-day.other-month{color:var(--color-text-placeholder)}.calendar-day.today{background-color:var(--primary-color);color:#fff;font-weight:700}.calendar-day.selected{background-color:var(--color-success-500);color:var(--color-white)}.calendar-day.has-event,.calendar-day.has-patient{background-color:var(--color-success-50)}.calendar-day.today.has-patient{background-color:var(--primary-color);color:#fff}.event-badge,.patient-badge{position:absolute;bottom:2px;right:2px;background-color:var(--color-success-500);color:var(--color-white);font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.calendar-legend{display:flex;gap:20px;font-size:12px;color:var(--text-color-light, var(--text-secondary));margin-top:15px}.today-dot{background-color:var(--primary-color)}.selected-dot,.event-dot,.patient-dot{background-color:var(--color-success-500)}.calendar-card{background:var(--background-light);border-radius:var(--radius-md);padding:16px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.date-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.date-tab{min-width:60px;padding:8px 12px;text-align:center;border-radius:var(--radius-sm);cursor:pointer;background:var(--background-secondary);transition:all .3s}.date-tab:hover{background:var(--primary-light)}.date-tab.active{background:var(--primary-color);color:#fff}.date-weekday{font-size:12px;color:var(--text-secondary)}.date-tab.active .date-weekday{color:#fffc}.date-day{font-size:18px;font-weight:600;margin-top:4px}@media (max-width: 1200px){.calendar-section{width:100%}}.ai-chat-layout{display:flex;gap:var(--spacing-5);height:calc(100vh - 180px);min-height:500px}.ai-chat-layout__config{width:320px;flex-shrink:0}.ai-chat-layout__config-card{height:100%}.ai-chat-layout__config-card .el-card__body{overflow-y:auto;max-height:calc(100vh - 260px)}.ai-chat-panel{flex:1;display:flex;flex-direction:column;background:var(--color-bg-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.ai-chat-panel__messages{flex:1;overflow-y:auto;padding:var(--spacing-5)}.ai-chat-panel__empty{display:flex;justify-content:center;align-items:center;height:100%}.ai-chat-message{display:flex;margin-bottom:var(--spacing-5);gap:var(--spacing-3)}.ai-chat-message--user{flex-direction:row-reverse}.ai-chat-message__avatar{flex-shrink:0}.ai-chat-avatar--user{background-color:var(--nly-primary)!important}.ai-chat-avatar--assistant{background-color:var(--success-color)!important}.ai-chat-message__body{max-width:70%;padding:12px 16px;border-radius:var(--radius-md);background:var(--color-gray-100)}.ai-chat-message--user .ai-chat-message__body{background:var(--nly-primary);color:var(--color-white)}.ai-chat-message--assistant .ai-chat-message__body{background:var(--color-gray-100)}.ai-chat-message__body--thinking{border:1px dashed var(--color-text-placeholder)}.ai-chat-message__thinking{display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-text-secondary)}.ai-chat-message__cursor{display:inline-block;animation:ai-chat-blink 1s step-end infinite;color:var(--success-color);margin-left:2px}@keyframes ai-chat-blink{50%{opacity:0}}.ai-chat-message__role{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:6px}.ai-chat-message--user .ai-chat-message__role{text-align:right;color:color-mix(in srgb,var(--color-white) 80%,transparent)}.ai-chat-message__text{line-height:1.6;white-space:pre-wrap;word-break:break-word}.ai-chat-message__images{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-2);flex-wrap:wrap}.ai-chat-message__image{width:100px;height:100px;border-radius:var(--radius-sm)}.ai-chat-message__time{font-size:11px;color:var(--color-text-placeholder);margin-top:6px;display:flex;align-items:center;gap:var(--spacing-2)}.ai-chat-message--user .ai-chat-message__time{justify-content:flex-end}.ai-chat-panel__input{border-top:1px solid var(--color-gray-200);padding:var(--spacing-4)}.ai-chat-panel__input-wrap{margin-bottom:var(--spacing-3)}.ai-chat-panel__input-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--spacing-3)}.ai-chat-panel__input-tip{color:var(--color-text-placeholder);font-size:var(--font-size-xs);margin-right:auto}.ai-chat-panel__url-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.ai-chat-panel__url-item{display:flex;gap:var(--spacing-2);align-items:center}.ai-chat-panel__header{display:flex;align-items:center;justify-content:space-between}@media screen and (max-width: 768px){.ai-chat-layout{flex-direction:column;height:auto}.ai-chat-layout__config{width:100%}.ai-chat-panel{min-height:400px}.ai-chat-message__body{max-width:85%}}.ai-chat-panel .is-loading{animation:ai-chat-rotate 1.5s linear infinite}@keyframes ai-chat-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.detail-dialog .el-dialog__body{padding:var(--spacing-4) var(--spacing-5)!important}.detail-dialog__body{min-height:120px}.detail-dialog__body--loading{position:relative;min-height:360px}.detail-dialog__body .detail-page{gap:var(--spacing-3)}.detail-dialog .el-divider{clear:both;margin:var(--spacing-3) 0}.detail-dialog .detail-image-wrapper{display:inline-flex;flex-direction:column;align-items:center;cursor:pointer}.detail-dialog .detail-prescription-image{max-width:200px;max-height:200px;border-radius:var(--radius-sm);border:1px solid var(--color-gray-200)}.detail-dialog .preview-tip{font-size:11px;color:var(--primary-color);margin-top:4px}.detail-dialog .detail-section-title{margin:var(--spacing-3) 0 var(--spacing-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.detail-dialog .empty-visit-history{padding:var(--spacing-4) 0}.detail-dialog .detail-dialog__full-width{width:100%}:root{--nly-shell-action-size: 36px;--nly-shell-action-size-sm: 32px;--nly-user-avatar-size: 34px;--nly-user-menu-trigger-min-height: 40px}.nly-shell-toolbar{display:flex;align-items:center;gap:var(--ux-gap-inline, var(--spacing-2))}.nly-shell-toolbar:before{content:"";width:1px;height:22px;margin:0 var(--spacing-1);background:var(--nly-surface-border, var(--border-color));opacity:.85}.nly-shell-action{display:inline-flex;align-items:center;justify-content:center;width:var(--nly-shell-action-size);height:var(--nly-shell-action-size);padding:0;border:1px solid transparent;border-radius:var(--radius-normal, 8px);background:transparent;color:var(--nly-text-secondary, var(--text-color-secondary));cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.nly-shell-action:hover{background:var(--nly-accent-subtle, color-mix(in srgb, var(--primary-color) 7%, #fff));color:var(--primary-color);border-color:color-mix(in srgb,var(--primary-color) 12%,transparent)}.nly-shell-action--active,.nly-shell-action:active{background:color-mix(in srgb,var(--primary-color) 12%,transparent);color:var(--primary-color)}.nly-theme-switch{display:inline-flex;align-items:center;gap:var(--spacing-2);min-height:var(--nly-shell-action-size);padding:0 var(--spacing-3);border:1px solid var(--nly-surface-border, var(--border-color));border-radius:var(--radius-full, 999px);background:var(--nly-surface-elevated, var(--header-bg-color));cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.nly-theme-switch:hover{background:var(--nly-accent-subtle);border-color:color-mix(in srgb,var(--primary-color) 18%,var(--nly-surface-border))}.nly-theme-switch__label{font-size:var(--ux-type-caption-size, var(--font-size-xs));font-weight:var(--font-weight-medium);color:var(--nly-text-secondary, var(--text-color-secondary));white-space:nowrap;max-width:7em;overflow:hidden;text-overflow:ellipsis}.nly-theme-switch .el-icon{color:var(--primary-color)}.nly-user-menu-trigger{display:inline-flex;align-items:center;gap:var(--spacing-3);min-height:var(--nly-user-menu-trigger-min-height);padding:4px 10px 4px 4px;margin-left:var(--spacing-1);border:1px solid var(--nly-surface-border, var(--border-color));border-radius:var(--radius-full, 999px);background:var(--nly-surface-elevated, var(--header-bg-color));cursor:pointer;outline:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.nly-user-menu-trigger:hover,.nly-user-menu-trigger.is-open{background:var(--nly-accent-subtle);border-color:color-mix(in srgb,var(--primary-color) 22%,var(--nly-surface-border));box-shadow:0 2px 8px color-mix(in srgb,var(--primary-color) 8%,transparent)}.nly-user-menu-avatar{position:relative;flex-shrink:0;width:var(--nly-user-avatar-size);height:var(--nly-user-avatar-size);border-radius:50%;background:var(--nly-gradient-brand, var(--primary-color));display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--nly-surface-elevated, #fff),0 0 0 3px color-mix(in srgb,var(--primary-color) 35%,transparent)}.nly-user-menu-avatar__text{color:var(--nly-text-on-primary, var(--button-text-color));font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;-webkit-user-select:none;user-select:none}.nly-user-menu-body{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:140px}.nly-user-menu-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--user-info-text, var(--nly-text-primary, var(--text-color)));line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.nly-user-menu-meta{display:inline-flex;align-items:center;gap:6px;max-width:100%}.nly-user-menu-role{display:inline-flex;align-items:center;padding:1px 7px;border-radius:var(--radius-full, 999px);font-size:11px;font-weight:var(--font-weight-medium);line-height:1.4;color:var(--user-role-text, var(--primary-color));background:var(--user-role-bg, color-mix(in srgb, var(--primary-color) 10%, transparent));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:88px}.nly-user-menu-position{font-size:11px;color:var(--nly-text-muted, var(--text-color-secondary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}.nly-user-menu-chevron{flex-shrink:0;font-size:12px;color:var(--nly-text-muted);transition:transform .2s ease,color .2s ease}.nly-user-menu-trigger.is-open .nly-user-menu-chevron{transform:rotate(180deg);color:var(--primary-color)}.nly-user-menu-popper.el-popper{padding:0!important;border:1px solid var(--nly-surface-border, var(--border-color))!important;border-radius:var(--nly-radius-md, 12px)!important;box-shadow:var(--nly-shadow-md, 0 8px 24px rgba(23, 128, 111, .12))!important;overflow:hidden;min-width:220px}.nly-user-menu-panel__hero{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 8%,var(--nly-surface-elevated, #fff)) 0%,var(--nly-surface-elevated, #fff) 100%);border-bottom:1px solid var(--nly-surface-border)}.nly-user-menu-panel__avatar{flex-shrink:0;width:42px;height:42px;border-radius:50%;background:var(--nly-gradient-brand);display:flex;align-items:center;justify-content:center;color:var(--nly-text-on-primary, #fff);font-size:16px;font-weight:var(--font-weight-semibold)}.nly-user-menu-panel__info{min-width:0;flex:1}.nly-user-menu-panel__name{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--nly-text-primary);line-height:1.3}.nly-user-menu-panel__role{margin-top:2px;font-size:var(--font-size-xs);color:var(--primary-color);font-weight:var(--font-weight-medium)}.nly-user-menu-panel__account{margin-top:2px;font-size:var(--font-size-xs);color:var(--nly-text-muted)}.nly-user-menu-dropdown.el-dropdown-menu{padding:var(--spacing-2) 0!important;border:none!important;box-shadow:none!important;background:var(--nly-surface-elevated, #fff)!important}.nly-user-menu-dropdown .el-dropdown-menu__item{display:flex;align-items:center;gap:var(--spacing-2);padding:10px var(--spacing-4)!important;font-size:var(--font-size-sm);line-height:1.4}.nly-user-menu-dropdown .el-dropdown-menu__item .el-icon{font-size:16px;color:var(--nly-text-muted)}.nly-user-menu-dropdown .el-dropdown-menu__item:not(.is-disabled):hover{background:var(--nly-accent-subtle)!important;color:var(--primary-color)!important}.nly-user-menu-dropdown .el-dropdown-menu__item:not(.is-disabled):hover .el-icon{color:var(--primary-color)}.nly-user-menu-dropdown .el-dropdown-menu__item.nly-user-menu-dropdown__logout:not(.is-disabled):hover{color:var(--danger-color)!important}.nly-user-menu-dropdown .el-dropdown-menu__item.nly-user-menu-dropdown__logout:not(.is-disabled):hover .el-icon{color:var(--danger-color)}@media screen and (min-width: 1200px) and (max-width: 1280px){:root{--nly-shell-action-size: 32px;--nly-user-avatar-size: 28px;--nly-user-menu-trigger-min-height: 34px}.nly-user-menu-body{max-width:110px}.nly-user-menu-name{font-size:12px}.nly-theme-switch__label{display:none}.nly-theme-switch{width:var(--nly-shell-action-size);padding:0;justify-content:center;border-radius:var(--radius-normal)}}@media screen and (max-width: 768px){.nly-shell-toolbar:before{display:none}.nly-user-menu-body{display:none}.nly-user-menu-trigger{padding:3px;border-radius:50%}.nly-user-menu-chevron{display:none}.nly-user-menu-avatar{width:32px;height:32px}}.page-container{background:transparent;min-height:100%;box-sizing:border-box;width:100%;display:block}.empty-container{padding:var(--spacing-6);background:transparent;min-height:100%;box-sizing:border-box;width:100%;display:block}.page-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-4);margin-bottom:var(--spacing-6);padding:var(--spacing-4) var(--spacing-5);background:var(--color-bg-card, var(--el-bg-color, #ffffff));border-radius:var(--radius-lg, var(--border-radius-normal));box-shadow:var(--shadow-sm, var(--box-shadow-small));border:1px solid var(--color-border, var(--border-color))}.page-header__main{flex:1;min-width:0}.page-header__actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.page-title{font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-semibold, 600);color:var(--primary-color);display:flex;align-items:center;gap:var(--spacing-2);margin:0}.page-title:before{content:"";width:4px;height:1em;background:var(--primary-color);border-radius:var(--radius-xs, 2px);flex-shrink:0}.page-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted, var(--text-color-secondary));margin:var(--spacing-1) 0 0}.page-body{display:flex;flex-direction:column;gap:var(--ux-gap-section, var(--spacing-4))}.page-layout{display:flex;height:calc(100vh - 100px);gap:var(--ux-master-detail-gap, var(--ux-gap-section, var(--spacing-4)))}.page-content{flex:1;display:flex;flex-direction:column;gap:var(--ux-gap-section, var(--spacing-4));min-width:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border, var(--border-color))}.section-title{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--primary-color);margin:0}.section-title .el-icon{color:var(--icon-color, var(--primary-color))}.empty-state{padding:var(--spacing-15, 60px) 0;text-align:center}.pagination-container{display:flex;justify-content:flex-end;align-items:center;margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.table-card--loading{position:relative;min-height:200px}@media screen and (min-width: 1200px) and (max-width: 1280px){.page-container{padding:8px 8px 8px 6px}.page-header{padding:6px 8px;margin-bottom:6px}.page-title{font-size:13px;gap:4px}.page-title:before{width:3px}.page-subtitle{font-size:11px}}@media (max-width: 1200px){.page-container{padding:8px 8px 8px 6px}}@media (max-width: 768px){.page-container{padding:6px 6px 6px 5px}.page-header{flex-direction:column;align-items:flex-start}.page-title{font-size:var(--font-size-md)}.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}}.detail-shell{display:flex;flex-direction:column;gap:var(--spacing-4)}.detail-shell__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-card, var(--el-bg-color, #ffffff));border-radius:var(--radius-lg, var(--border-radius-normal));border:1px solid var(--color-border, var(--border-color));box-shadow:var(--shadow-sm, var(--box-shadow-small))}.detail-shell--compact .detail-shell__header{padding:var(--spacing-2) var(--spacing-3);box-shadow:none;border:none;background:transparent}.detail-shell__leading{display:flex;align-items:flex-start;gap:var(--spacing-3);flex:1;min-width:0}.detail-shell__back{flex-shrink:0;padding-left:0;font-size:var(--font-size-sm)}.detail-shell__main{flex:1;min-width:0}.detail-shell__title{margin:0;font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, var(--text-color))}.detail-shell--compact .detail-shell__title{font-size:var(--font-size-md, 16px)}.detail-shell__subtitle{margin:var(--spacing-1) 0 0;font-size:var(--font-size-sm, 14px);color:var(--color-text-muted, var(--text-color-secondary))}.detail-shell__actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.detail-shell__body{display:flex;flex-direction:column;gap:var(--spacing-4)}.detail-shell__body--loading{min-height:160px;position:relative}.detail-card{border-radius:var(--radius-md, 8px)}.detail-card__header{display:flex;align-items:center;margin-bottom:var(--spacing-3)}.detail-card__title{font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, var(--text-color))}.detail-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3)}.detail-info-item{font-size:var(--font-size-sm, 13px);color:var(--color-text-secondary, var(--text-color-secondary))}.detail-info-label{color:var(--color-text-muted, var(--text-color-light))}@media (max-width: 768px){.detail-shell__header{flex-direction:column;align-items:stretch}.detail-info-grid{grid-template-columns:1fr}}.list-page{display:flex;flex-direction:column;gap:var(--ux-gap-section, var(--spacing-4));min-width:0}.list-page--with-aside{flex-direction:row;align-items:stretch;min-height:calc(100vh - 220px)}.list-page__aside{flex-shrink:0;min-width:0}.list-page__main{flex:1;display:flex;flex-direction:column;gap:var(--ux-gap-section, var(--spacing-4));min-width:0}.list-page__extra{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.list-page__extra .current-area{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);background:color-mix(in srgb,var(--primary-color) 8%,var(--color-bg-card));color:var(--primary-color)}.list-page__table .pagination-container{margin-top:0}.list-page__overlays{position:relative;z-index:0}.page-breadcrumb{margin-bottom:var(--ux-gap-inline, var(--spacing-2))}.page-breadcrumb :deep(.el-breadcrumb__inner),.page-breadcrumb :deep(.el-breadcrumb__inner a){font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.page-breadcrumb :deep(.el-breadcrumb__inner a:hover){color:var(--primary-color)}.page-breadcrumb :deep(.el-breadcrumb__item:last-child .el-breadcrumb__inner),.page-breadcrumb :deep(.el-breadcrumb__item:last-child .el-breadcrumb__inner span){color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.page-breadcrumb :deep(.el-breadcrumb__separator){color:var(--color-text-muted)}.form-page__body{display:flex;flex-direction:column;gap:var(--spacing-4)}.form-card{background:var(--color-bg-card, var(--white));border-radius:var(--radius-lg);padding:var(--spacing-5);box-shadow:var(--shadow-sm);border:1px solid var(--color-border, var(--border-color))}@media (max-width: 1200px){.list-page--with-aside{flex-direction:column;min-height:auto}}@media (max-width: 768px){.list-page__extra{flex-wrap:wrap}}.calendar-page{display:flex;gap:var(--spacing-4);align-items:stretch;min-height:calc(100vh - 220px);position:relative}.calendar-page--stacked{flex-direction:column;min-height:auto}.calendar-page__aside{flex-shrink:0;width:350px;min-width:280px}.calendar-page--collapsed .calendar-page__aside{display:none}.calendar-page__toggle{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:2}.calendar-page__main{flex:1;display:flex;flex-direction:column;gap:var(--spacing-4);min-width:0}.calendar-page__prefix{margin-bottom:var(--spacing-2)}@media (max-width: 1200px){.calendar-page{flex-direction:column;min-height:auto}.calendar-page__aside{width:100%}}.dashboard-page{display:flex;flex-direction:column;gap:var(--ux-gap-section, var(--spacing-4))}.dashboard-page__prefix{flex-shrink:0}.dashboard-page__filters{margin-bottom:0}.dashboard-page__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--ux-gap-section, var(--spacing-4))}.dashboard-page__body{display:flex;flex-direction:column;gap:var(--ux-gap-section, var(--spacing-4));min-width:0}.dashboard-page__body--loading{position:relative;min-height:240px}.dashboard-page__panel{background:var(--color-bg-card, var(--white));border-radius:var(--radius-lg);padding:var(--ux-card-padding, var(--spacing-5));border:1px solid var(--color-border, var(--border-color));box-shadow:none}.workspace-page__tabs :deep(.el-tabs__header){margin-bottom:var(--spacing-4)}.detail-page__breadcrumb{margin-bottom:var(--spacing-2)}.detail-page{display:flex;flex-direction:column;gap:var(--spacing-4)}.detail-page .sub-text{color:var(--color-text-muted, var(--text-color-light));font-size:var(--font-size-xs, 12px);margin-top:2px}.detail-page .area-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--main-content-bg)}.header{height:var(--nly-app-header-height, 56px);background:var(--header-bg-color);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-5);box-shadow:none;z-index:100;border-bottom:1px solid var(--nly-surface-border, var(--border-color));transition:border-color .2s ease}.header-left{display:flex;align-items:center;gap:var(--spacing-5)}.header-center{flex:1;display:flex;align-items:center;justify-content:flex-start;padding:0 var(--spacing-6)}.breadcrumb-container{padding:0;border-bottom:none;margin:0}.home-container .el-breadcrumb{font-size:15px;font-weight:500}.home-container .el-breadcrumb__inner{color:var(--text-color);font-weight:600;transition:all .3s ease}.home-container .el-breadcrumb__inner a{color:var(--text-color);font-weight:500;text-decoration:none;transition:all .3s ease;opacity:.85}.home-container .el-breadcrumb__inner a:hover{color:var(--primary-color);opacity:1;text-decoration:underline}.home-container .el-breadcrumb__separator{color:var(--text-color-placeholder);margin:0 8px;font-weight:400}.header-right{display:flex;align-items:center;gap:var(--spacing-2)}.home-container .content{flex:1;padding:0;overflow-y:auto;position:relative;background:var(--content-bg);transition:all .3s ease}.home-container .content::-webkit-scrollbar{width:8px}.home-container .content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px;transition:background .3s}.home-container .content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb)}.home-container .content::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}@media screen and (min-width: 1200px) and (max-width: 1280px){.header{height:48px;padding:0 8px}.header-left{gap:8px}.header-center{padding:0 8px}.home-container .el-breadcrumb{font-size:12px}.header-right{gap:4px}}@media screen and (max-width: 1200px){.header{padding:0 var(--spacing-4)}}@media screen and (max-width: 1024px){.header{padding:0 var(--spacing-4)}.header-right{gap:12px}}@media screen and (max-width: 768px){.header{padding:0 12px;height:56px}.header-left{gap:12px}.header-center{padding:0 10px}.home-container .content{padding:0!important}.mobile-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg);z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.mobile-overlay.show{opacity:1;visibility:visible}.collapse-btn{display:none!important}.mobile-menu-btn{display:flex!important;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-color-hover);border-radius:var(--radius-normal);cursor:pointer;margin-right:12px;color:var(--text-color)}.mobile-menu-btn:hover{background:var(--border-color)}.header-left{display:flex;align-items:center}.main-content{width:100%}.header-right{gap:8px}.home-container .el-breadcrumb{font-size:12px}.home-container .content{padding:0}}.mobile-overlay,.mobile-menu-btn{display:none}.home-container{display:flex;height:100vh;overflow:hidden}.home-container .collapse-btn{width:24px;height:60px;background:var(--sidebar-bg-gradient);border-radius:0 8px 8px 0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--menu-text, var(--color-white));box-shadow:2px 0 8px var(--header-shadow);z-index:100;align-self:center}.home-container .collapse-btn:hover{background:var(--primary-color);width:28px;transform:translate(2px)}.home-container .context-menu{position:fixed;background:var(--context-menu-bg, var(--color-bg-card));border:1px solid var(--context-menu-border, var(--color-border));border-radius:var(--radius-normal, var(--radius-md));box-shadow:var(--box-shadow-medium, var(--shadow-md));z-index:10000;min-width:140px;overflow:hidden}.home-container .context-menu .menu-item{padding:8px 16px;cursor:pointer;font-size:14px;color:var(--context-menu-text, var(--color-text-primary));transition:all .2s ease}.home-container .context-menu .menu-item:hover{background-color:var(--context-menu-hover-bg, var(--color-bg-hover));color:var(--context-menu-hover-text, var(--primary-color))}.home-container .context-menu .menu-item:not(:last-child){border-bottom:1px solid var(--border-color-light)}.home-sidebar{width:var(--layout-sidebar-width, 256px);background:var(--sidebar-bg-gradient);padding-top:var(--spacing-4);transition:width var(--transition-normal, .3s ease);overflow-y:auto;overflow-x:hidden;box-shadow:2px 0 8px #0000001a;position:relative}.home-sidebar.collapsed{width:70px}.home-sidebar.collapsed .menu-header,.home-sidebar.collapsed .sidebar-menu li a{justify-content:center;padding:12px 0;margin:2px 8px}.home-sidebar.collapsed .menu-icon{margin-right:0}.home-sidebar .sidebar-logo{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-4);margin:var(--spacing-4);border-radius:var(--radius-lg)}.home-sidebar .logo-icon{width:60px;height:60px;margin-bottom:8px;object-fit:contain;border-radius:var(--radius-md)}.home-sidebar .logo-text{color:var(--menu-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);text-align:center;white-space:nowrap}.home-sidebar .sidebar-menu{list-style:none;padding:var(--spacing-4) 0;margin:0}.home-sidebar .sidebar-menu li{margin:0;position:relative}.home-sidebar .sidebar-menu li a,.home-sidebar .menu-header{display:flex;align-items:center;padding:var(--spacing-3) var(--spacing-6);color:var(--menu-text);text-decoration:none;transition:all var(--transition-normal, .3s ease);margin:var(--spacing-1) var(--spacing-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;position:relative;overflow:hidden}.home-sidebar .sidebar-menu li a:before,.home-sidebar .menu-header:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--primary-color);transform:scaleY(0);transition:transform var(--transition-normal, .3s ease);border-radius:0 8px 8px 0}.home-sidebar .sidebar-menu li a:hover,.home-sidebar .menu-header:hover{background:var(--menu-hover-bg);color:var(--menu-hover-text);transform:none}.home-sidebar .sidebar-menu li a:hover:before,.home-sidebar .menu-header:hover:before{transform:scaleY(1)}.home-sidebar .sidebar-menu li.active a,.home-sidebar .menu-header.active{background:var(--menu-active-bg);color:var(--menu-active-text);font-weight:var(--font-weight-medium);box-shadow:none}.home-sidebar .sidebar-menu li.active a:before,.home-sidebar .menu-header.active:before{transform:scaleY(1)}.home-sidebar .menu-icon{width:20px;height:20px;margin-right:var(--spacing-3);display:flex;align-items:center;justify-content:center;color:var(--menu-text);transition:all var(--transition-normal, .3s ease)}.home-sidebar .sidebar-menu li a:hover .menu-icon,.home-sidebar .sidebar-menu li.active a .menu-icon,.home-sidebar .menu-header:hover .menu-icon{color:var(--menu-hover-text);transform:scale(1.05)}.home-sidebar .menu-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-sidebar .sub-menu{list-style:none;padding:var(--spacing-2) 0;margin:0 var(--spacing-4);background:rgba(255,255,255,.05);border-radius:0 var(--radius-md) var(--radius-md) 0}.home-sidebar .sub-menu li a{padding:var(--spacing-2) var(--spacing-4) var(--spacing-2) var(--spacing-10);font-size:var(--font-size-xs);margin:var(--spacing-1) 0}.home-sidebar .sub-menu li a:before{content:"";position:absolute;left:24px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--primary-color);opacity:.6}.home-sidebar .sub-menu li a:hover{transform:none}.home-sidebar .sub-menu li.active a:before{opacity:1;transform:translateY(-50%) scale(1.2)}.home-sidebar .arrow-icon{margin-left:auto;transition:transform var(--transition-normal, .3s ease);color:var(--menu-text);opacity:.7}.home-sidebar .arrow-icon.rotate{transform:rotate(180deg);opacity:1}.home-sidebar .mobile-menu-header{display:none}.home-sidebar::-webkit-scrollbar{width:6px}.home-sidebar::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.home-sidebar::-webkit-scrollbar-track{background:transparent}@media screen and (min-width: 1200px) and (max-width: 1280px){.home-sidebar{width:180px}.home-sidebar .logo-icon{width:20px;height:20px}.home-sidebar .logo-text{font-size:var(--font-size-xs)}.home-sidebar .sidebar-menu li a,.home-sidebar .menu-header{padding:7px 12px;font-size:var(--font-size-xs)}}@media (max-width: 768px){.home-sidebar{position:fixed;left:calc(-1 * var(--layout-sidebar-width, 256px));top:0;bottom:0;width:260px;z-index:1001;transition:left var(--transition-normal, .3s ease)}.home-sidebar.mobile-show{left:0}.home-sidebar .mobile-menu-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:var(--menu-text);border-bottom:1px solid var(--border-color-light)}.home-sidebar .mobile-close-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--menu-hover-bg);border-radius:20px;cursor:pointer;color:var(--menu-text);font-size:var(--font-size-sm)}}.home-tag-bar .context-menu{position:fixed;background:var(--context-menu-bg, var(--color-bg-card));border:1px solid var(--context-menu-border, var(--color-border));border-radius:var(--radius-sm, var(--radius-md));box-shadow:var(--shadow-md);z-index:10000;min-width:140px;overflow:hidden}.home-tag-bar .context-menu .menu-item{padding:var(--spacing-2, 8px) var(--spacing-4, 16px);cursor:pointer;font-size:var(--font-size-normal, 14px);color:var(--context-menu-text, var(--color-text-primary))}.home-tag-bar .context-menu .menu-item:hover{background:var(--context-menu-hover-bg, var(--color-bg-hover));color:var(--context-menu-hover-text, var(--primary-color))}.tag-view{height:var(--layout-tag-view-height, 40px)!important;min-height:var(--layout-tag-view-height, 40px)!important;background:var(--tag-view-bg, var(--nly-surface-elevated, var(--color-bg-card)));border-bottom:1px solid var(--nly-surface-border, var(--color-border));display:flex;align-items:center;padding:0 var(--spacing-4)!important;gap:var(--spacing-1)!important;overflow-x:auto;overflow-y:hidden;box-shadow:none;line-height:var(--line-height-normal)}.tag-view::-webkit-scrollbar{height:4px}.tag-view::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--nly-primary) 25%,transparent);border-radius:var(--radius-full)}.tag-view::-webkit-scrollbar-track{background:transparent}.tag-item{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3)!important;font-size:var(--font-size-sm)!important;line-height:1.4;min-height:28px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease;background:transparent;color:var(--nly-text-secondary, var(--color-text-secondary));white-space:nowrap;border:1px solid transparent;border-radius:var(--radius-sm);flex-shrink:0}.tag-item:hover{color:var(--nly-text-primary);background:var(--nly-accent-subtle)}.tag-item.active{background:var(--nly-accent-subtle);color:var(--nly-primary, var(--primary-color));border-color:color-mix(in srgb,var(--nly-primary) 22%,transparent);font-weight:var(--font-weight-medium);box-shadow:none}.tag-item.active:before{display:none}.tag-close{font-size:var(--font-size-xs);opacity:.45;transition:opacity .15s ease;display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:var(--radius-xs)}.tag-close:hover{opacity:1;background:color-mix(in srgb,var(--nly-primary) 10%,transparent);transform:none}.tag-item.active .tag-close:hover{background:color-mix(in srgb,var(--nly-primary) 15%,transparent)}@media screen and (min-width: 1200px) and (max-width: 1280px){.tag-view{height:32px!important;min-height:32px!important;padding:0 var(--spacing-2)!important}.tag-item{padding:2px var(--spacing-2)!important;font-size:var(--font-size-xs)!important;min-height:24px}}@media screen and (max-width: 768px){.tag-view{padding:0 var(--spacing-2)!important}.tag-item{padding:var(--spacing-1) var(--spacing-2)!important;font-size:var(--font-size-xs)!important}}@media screen and (min-width: 1200px) and (max-width: 1280px){.home-sidebar .logo-icon{width:20px;height:20px}.home-sidebar .logo-text{font-size:var(--font-size-xs)}.home-sidebar .sidebar-menu li a,.home-sidebar .menu-header{padding:7px 12px;font-size:var(--font-size-xs)}.home-dashboard .welcome-card{padding:16px 22px;margin-bottom:14px}.home-dashboard .stat-value{font-size:var(--font-size-xl)}.detail-dialog .el-descriptions,.detail-dialog .el-descriptions-item__label,.detail-dialog .el-descriptions-item__content{font-size:var(--font-size-sm)}.performance-board .list-panel{width:var(--nly-shell-list-panel-width);min-width:var(--nly-shell-list-panel-min-width)}}@media screen and (max-height: 800px){.calendar-page,.list-page--with-aside{min-height:auto}.performance-board .board-layout{height:var(--nly-performance-board-height);min-height:0}.table-scroll{max-height:var(--nly-table-scroll-max-height)}.el-dialog{max-height:var(--nly-dialog-max-height);display:flex;flex-direction:column;margin-top:var(--nly-dialog-margin-block)!important;margin-bottom:var(--nly-dialog-margin-block)!important}.el-dialog__header,.el-dialog__footer{flex-shrink:0}.el-dialog__body{flex:1;min-height:0;max-height:var(--nly-dialog-body-max-height);overflow-y:auto}.detail-dialog .el-dialog__body,.doctor-dialog .el-dialog__body,.doctor-detail-dialog .el-dialog__body{max-height:var(--nly-dialog-detail-body-max-height)}.nly-form-dialog .el-dialog__body{max-height:var(--nly-dialog-form-body-max-height)}.home-dashboard .welcome-card{padding:14px 20px;margin-bottom:12px}.home-dashboard .greeting-text{font-size:var(--font-size-lg)}.home-dashboard .stat-row{margin-bottom:12px}.home-dashboard .stat-card{padding:12px 14px}.home-dashboard .stat-value{font-size:var(--font-size-xl)}.home-dashboard .main-row{gap:12px}.home-dashboard .quick-grid{gap:8px}.doctor-detail-container{max-height:var(--nly-detail-container-max-height)}.performance-board .chart-container{height:var(--nly-performance-chart-height)}}@media screen and (min-width: 1200px) and (max-width: 1280px) and (max-height: 800px){.surface-app .content-inner{padding:var(--spacing-3) var(--spacing-4)}.calendar-page{gap:var(--spacing-2)}.calendar-page__aside,.calendar-page .calendar-section,.calendar-section{width:var(--nly-shell-calendar-aside-width);min-width:var(--nly-shell-calendar-aside-min-width);max-width:var(--nly-shell-calendar-aside-max-width);padding:var(--spacing-3)}.calendar-page__main{min-width:0}.calendar-page .calendar-day{height:32px;font-size:var(--font-size-xs)}.calendar-page .calendar-header{margin-bottom:var(--spacing-2)}.performance-board .list-panel{width:var(--nly-shell-list-panel-width);min-width:var(--nly-shell-list-panel-min-width)}.performance-board .board-layout{gap:var(--spacing-2)}.list-page--with-aside .list-page__aside{max-width:220px}.table-responsive-wrapper .el-table{min-width:var(--nly-table-min-width)}.el-dialog{width:var(--nly-dialog-width-percent)!important;max-height:var(--nly-dialog-max-height)}.el-dialog__body{max-height:var(--nly-dialog-body-max-height)}.detail-dialog .el-dialog__body{max-height:var(--nly-dialog-detail-body-max-height)}}.auth-shell-bg{background:var(--nly-gradient-login-bg)}.platform-shell-bg{background:var(--nly-gradient-platform-bg)}.auth-card{background:rgba(255,255,255,.98);border-radius:var(--nly-radius-lg);box-shadow:var(--nly-shadow-lg);border:1px solid var(--nly-border-light)}.auth-card-accent-top:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--nly-gradient-brand);border-radius:var(--nly-radius-lg) var(--nly-radius-lg) 0 0}.auth-logo-icon{color:var(--nly-primary);background:color-mix(in srgb,var(--nly-primary) 10%,transparent);border-radius:50%}.auth-title{color:var(--nly-text-primary);font-weight:700}.auth-subtitle{color:var(--nly-text-secondary)}.auth-btn-primary{background:var(--nly-gradient-login-btn)!important;border:none!important;color:var(--nly-text-on-primary)!important;box-shadow:0 4px 16px #17806f59}.auth-btn-primary:hover{box-shadow:0 6px 20px #17806f73}.platform-header{background:var(--nly-bg-header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--nly-border);box-shadow:var(--nly-shadow-sm)}.platform-card{background:var(--nly-bg-card);border-radius:var(--nly-radius-lg);border:1px solid var(--nly-border-light);box-shadow:var(--nly-shadow-sm);transition:transform .25s ease,box-shadow .25s ease}.platform-card:hover{transform:translateY(-4px);box-shadow:var(--nly-shadow-md)}.platform-stat-card{background:var(--nly-bg-card);border-radius:var(--nly-radius-md);border:1px solid var(--nly-border-light)}.login-page{width:100vw;min-height:100vh;display:flex;flex-direction:row;overflow:hidden;position:relative;background:var(--color-primary-950, var(--nly-primary-darker))}.login-page__brand{flex:1;min-width:0}.login-page__panel{flex:0 0 480px;max-width:100%;display:flex;align-items:center;justify-content:center;padding:32px 24px;background:linear-gradient(180deg,var(--nly-bg-page) 0%,var(--color-white) 100%);box-shadow:-8px 0 32px color-mix(in srgb,var(--nly-primary-darker) 12%,transparent);position:relative;z-index:2}.login-page__content{position:relative;z-index:1;width:100%;max-width:420px}.login-page__card{width:100%;padding:40px;animation:login-fade-in-up .5s cubic-bezier(.16,1,.3,1);position:relative}@keyframes login-fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-page__header{text-align:center;margin-bottom:32px}.login-page__logo-wrap{margin-bottom:20px}.login-page__logo{width:72px;height:72px;object-fit:contain;border-radius:var(--nly-radius-lg);box-shadow:0 4px 16px color-mix(in srgb,var(--nly-primary) 15%,transparent);transition:transform .3s ease}.login-page__logo-wrap:hover .login-page__logo{transform:scale(1.05)}.login-page__title{margin:0 0 8px;font-size:clamp(22px,2.5vw,28px);font-weight:var(--font-weight-bold);background:var(--nly-gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:var(--letter-spacing-tight)}.login-page__subtitle{margin:0;font-size:14px;color:var(--nly-text-secondary);font-weight:400}.login-page__form{display:flex;flex-direction:column;gap:20px}.login-page__form .el-form-item{margin-bottom:0}.login-page__field{position:relative;width:100%}.login-page__captcha-row{display:flex;align-items:center;gap:12px}.login-page__captcha-input{flex:1;min-width:0}.login-page__captcha-img{width:110px;height:48px;border-radius:var(--nly-radius-sm);overflow:hidden;cursor:pointer;border:1px solid var(--color-gray-200);background:var(--color-gray-50);position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center}.login-page__captcha-img img{width:100%;height:100%;object-fit:cover}.login-page__captcha-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-gray-100);color:var(--color-text-muted);font-size:12px}.login-page__captcha-img:hover{border-color:var(--nly-primary);background:var(--nly-bg-card)}.login-page__form .el-input__wrapper,.login-page__form .el-select__wrapper{border-radius:10px;box-shadow:var(--nly-shadow-sm);transition:all .3s ease;background:var(--nly-bg-card);padding:0 16px;height:48px;width:100%;border:1px solid var(--color-gray-200)}.login-page__form .el-input__wrapper:hover,.login-page__form .el-select__wrapper:hover{border-color:var(--nly-primary);box-shadow:0 2px 12px color-mix(in srgb,var(--nly-primary) 15%,transparent)}.login-page__form .el-input__wrapper.is-focus,.login-page__form .el-select__wrapper.is-focus{border-color:var(--nly-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--nly-primary) 15%,transparent)}.login-page__form .el-input__prefix,.login-page__form .el-select__prefix{color:var(--nly-primary);font-size:16px;margin-right:10px}.login-page__form .el-input__input,.login-page__form .el-select__input{font-size:15px;color:var(--color-text-primary)}.login-page__row{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.login-page__checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.login-page__checkbox-text{font-size:13px;color:var(--nly-text-secondary)}.login-page__forgot-btn{font-size:13px;color:var(--nly-primary);padding:0}.login-page__submit-item{margin-top:8px;margin-bottom:0}.login-page__submit{width:100%;height:48px;border-radius:var(--nly-radius-md);font-size:16px;font-weight:600;letter-spacing:2px;transition:all .3s ease}.login-page__submit:hover{transform:translateY(-1px)}.login-page__footer{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-gray-200)}.login-page__footer-text{margin:0;font-size:12px;color:var(--color-text-muted)}@media screen and (max-width: 960px){.login-page{flex-direction:column}.login-page__brand{flex:none;width:100%}.login-page__panel{flex:1;width:100%;box-shadow:none;padding:24px 16px 32px}}@media screen and (max-width: 480px){.login-page__card{padding:28px 24px}.login-page__title{font-size:22px}.login-page__subtitle{font-size:13px}.login-page__form{gap:16px}.login-page__form .el-input__wrapper,.login-page__form .el-select__wrapper{height:44px;padding:0 14px}.login-page__captcha-row{flex-direction:column;align-items:stretch;gap:10px}.login-page__captcha-img{width:100%;height:52px}.login-page__submit{height:44px;font-size:15px}.login-page__footer{margin-top:20px;padding-top:16px}}.platform-center{min-height:100vh;display:flex;flex-direction:column}.platform-center .header-section{background:var(--nly-gradient-sidebar);padding:24px 48px;box-shadow:var(--nly-shadow-md)}.platform-center .header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.platform-center .logo-section{display:flex;align-items:center;gap:20px}.platform-center .logo-icon{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);padding:10px;border-radius:var(--nly-radius-lg)}.platform-center .logo-icon-img{width:56px;height:56px;object-fit:contain;border-radius:12px}.platform-center .logo-text h1{margin:0;font-size:clamp(24px,2.5vw,28px);font-weight:var(--font-weight-bold);color:var(--nly-text-on-primary);letter-spacing:var(--letter-spacing-tight)}.platform-center .logo-text .subtitle{margin:4px 0 0;font-size:14px;color:color-mix(in srgb,var(--nly-text-on-primary) 80%,transparent)}.platform-center .user-info-section{display:flex;align-items:center;gap:16px}.platform-center .user-avatar{width:48px;height:48px;border-radius:50%;background:var(--nly-gradient-brand);display:flex;align-items:center;justify-content:center;color:var(--nly-text-on-primary);font-size:20px;font-weight:600}.platform-center .user-details{display:flex;flex-direction:column}.platform-center .user-name{font-size:16px;font-weight:600;color:var(--nly-text-on-primary)}.platform-center .user-role{font-size:12px;color:color-mix(in srgb,var(--nly-text-on-primary) 70%,transparent)}.platform-center .logout-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:rgba(255,255,255,.15);border:none;border-radius:24px;color:var(--nly-text-on-primary);font-size:14px;cursor:pointer;transition:all .3s ease}.platform-center .logout-btn:hover{background:rgba(255,255,255,.25);transform:translateY(-2px)}.platform-center .main-content{flex:1;padding:48px;max-width:1400px;margin:0 auto;width:100%}.platform-center .section-header{margin-bottom:32px}.platform-center .section-header--compact{margin-bottom:24px}.platform-center .section-title{margin:0 0 8px;font-size:clamp(var(--font-size-xl),2vw,var(--font-size-2xl));font-weight:var(--font-weight-bold);color:var(--nly-text-primary);letter-spacing:var(--letter-spacing-tight);display:inline-flex;align-items:center;gap:10px}.platform-center .section-title:before{content:"";width:4px;height:1em;border-radius:var(--radius-full);background:var(--nly-gradient-brand)}.platform-center .section-desc{margin:0;font-size:14px;color:var(--nly-text-muted)}.platform-center .platform-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px;margin-bottom:56px}.platform-center .platform-card{background:var(--nly-bg-card);border-radius:20px;padding:32px;border:1px solid var(--nly-border-light);box-shadow:var(--nly-shadow-sm);cursor:pointer;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.platform-center .platform-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--nly-gradient-brand);transform:scaleX(0);transition:transform .4s cubic-bezier(.16,1,.3,1)}.platform-center .platform-card:hover:before{transform:scaleX(1)}.platform-center .platform-card:hover{transform:translateY(-6px);box-shadow:var(--nly-shadow-md),var(--nly-glow-soft);border-color:color-mix(in srgb,var(--nly-primary) 20%,var(--nly-border))}.platform-center .platform-card--coming-soon{background:linear-gradient(180deg,var(--nly-bg-card) 0%,color-mix(in srgb,var(--nly-bg-page) 60%,transparent) 100%)}.platform-center .platform-card--coming-soon:hover{transform:translateY(-4px)}.platform-center .coming-soon-badge{position:absolute;top:16px;right:16px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;color:var(--nly-secondary);background:color-mix(in srgb,var(--nly-secondary) 12%,transparent);border:1px solid color-mix(in srgb,var(--nly-secondary) 25%,transparent)}.platform-center .card-icon-wrapper{width:100px;height:100px;border-radius:24px;display:flex;align-items:center;justify-content:center;color:var(--nly-text-on-primary);margin-bottom:24px;transition:transform .3s ease;box-shadow:0 8px 24px #0000001f}.platform-center .platform-card:hover .card-icon-wrapper{transform:scale(1.08) rotate(3deg)}.platform-center .card-content{margin-bottom:24px}.platform-center .card-title{margin:0 0 12px;font-size:22px;font-weight:700;color:var(--nly-text-primary);line-height:1.35}.platform-center .card-description{margin:0 0 20px;font-size:15px;color:var(--nly-text-secondary);line-height:1.6}.platform-center .card-features{display:flex;flex-wrap:wrap;gap:10px}.platform-center .feature-tag{padding:6px 16px;background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-gray-200) 100%);border-radius:20px;font-size:13px;color:var(--color-gray-600);font-weight:500}.platform-center .card-action{display:flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--nly-primary);font-weight:600;font-size:15px;transition:all .3s ease}.platform-center .platform-card--coming-soon .card-action{color:var(--nly-text-muted)}.platform-center .platform-card:hover .card-action{gap:16px}.platform-center .arrow-icon{transition:transform .3s ease}.platform-center .platform-card:hover .arrow-icon{transform:translate(8px)}.platform-center .stats-section{padding-top:8px;border-top:1px solid var(--nly-border-light)}.platform-center .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.platform-center .stat-card{background:var(--nly-bg-card);border-radius:16px;padding:24px;display:flex;align-items:center;gap:20px;border:1px solid var(--nly-border-light);box-shadow:var(--nly-shadow-sm);transition:all .3s ease}.platform-center .stat-card:hover{transform:translateY(-4px);box-shadow:var(--nly-shadow-md)}.platform-center .stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--nly-text-on-primary);flex-shrink:0}.platform-center .stat-info{display:flex;flex-direction:column}.platform-center .stat-icon-1{background:var(--nly-gradient-stat-1)}.platform-center .stat-icon-2{background:var(--nly-gradient-stat-2)}.platform-center .stat-icon-3{background:var(--nly-gradient-stat-3)}.platform-center .stat-icon-4{background:var(--nly-gradient-stat-4)}.platform-center .stat-value{font-size:28px;font-weight:700;color:var(--nly-text-primary)}.platform-center .stat-label{font-size:14px;color:var(--nly-text-muted);margin-top:4px}.platform-center .footer-section{text-align:center;padding:24px;background:color-mix(in srgb,var(--nly-primary) 5%,transparent)}.platform-center .footer-section p{margin:0;font-size:14px;color:var(--color-text-muted)}@media screen and (max-width: 768px){.platform-center .header-section{padding:16px 20px}.platform-center .header-content{flex-direction:column;gap:20px;text-align:center}.platform-center .logo-section{flex-direction:column}.platform-center .logo-text h1{font-size:22px}.platform-center .user-info-section{width:100%;justify-content:center}.platform-center .main-content{padding:24px 16px}.platform-center .section-title{font-size:20px}.platform-center .platform-grid{grid-template-columns:1fr;gap:20px}.platform-center .platform-card{padding:24px}.platform-center .card-title{font-size:18px}.platform-center .card-description{font-size:14px}.platform-center .stats-grid{grid-template-columns:repeat(2,1fr);gap:16px}.platform-center .stat-card{padding:16px}.platform-center .stat-icon{width:48px;height:48px}.platform-center .stat-value{font-size:22px}}.home-dashboard{padding:0}.home-dashboard .welcome-card{display:flex;justify-content:space-between;align-items:center;padding:28px 32px;background:linear-gradient(135deg,color-mix(in srgb,var(--nly-primary, var(--primary-color)) 88%,black) 0%,color-mix(in srgb,var(--nly-primary-light, var(--primary-light)) 75%,var(--nly-primary)) 100%);border-radius:var(--nly-radius-lg, 12px);color:var(--color-white);margin-bottom:24px;box-shadow:var(--nly-shadow-md);position:relative;overflow:hidden}.home-dashboard .welcome-card:after{content:"";position:absolute;top:-40%;right:-5%;width:280px;height:280px;border-radius:50%;background:color-mix(in srgb,var(--color-white) 6%,transparent);pointer-events:none}.home-dashboard .welcome-left{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}.home-dashboard .welcome-greeting{display:flex;align-items:center;gap:0}.home-dashboard .greeting-emoji{display:none}.home-dashboard .greeting-text{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}.home-dashboard .welcome-sub{font-size:var(--font-size-sm);opacity:.88;color:color-mix(in srgb,var(--color-white) 90%,transparent)}.home-dashboard .welcome-right{display:flex;align-items:center;position:relative;z-index:1}.home-dashboard .weather-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);border-radius:30px;font-size:13px;color:var(--color-white)}.home-dashboard .stat-row{margin-bottom:16px}.home-dashboard .welcome-left{display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}.home-dashboard .welcome-badge{align-self:flex-start;margin-bottom:2px}.home-dashboard .stat-card{display:flex;align-items:center;gap:14px;padding:18px 20px 18px 22px;background:var(--color-bg-card, var(--el-bg-color));border-radius:var(--nly-radius-md, 10px);border:1px solid var(--nly-surface-border, color-mix(in srgb, var(--color-black) 4%, transparent));box-shadow:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer;margin-bottom:12px;position:relative;overflow:hidden}.home-dashboard .stat-card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--stat-accent, var(--nly-primary));opacity:.85}.home-dashboard .stat-card:hover{transform:translateY(-2px);box-shadow:var(--nly-shadow-sm);border-color:color-mix(in srgb,var(--stat-accent, var(--nly-primary)) 30%,transparent)}.home-dashboard .stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--stat-accent);flex-shrink:0}.home-dashboard .stat-info{display:flex;flex-direction:column;gap:4px;min-width:0}.home-dashboard .stat-value{font-size:22px;font-weight:700;color:var(--color-text-primary, var(--text-color));line-height:1.1;letter-spacing:.3px}.home-dashboard .stat-label{font-size:12px;color:var(--color-text-muted, var(--text-color-secondary))}.home-dashboard .main-row{margin-bottom:12px}.home-dashboard .panel-card{border-radius:var(--nly-radius-md, 10px)!important;margin-bottom:16px;border:1px solid var(--nly-surface-border)!important;box-shadow:none!important;overflow:hidden}.home-dashboard .panel-card .el-card__header{padding:14px 18px 12px;border-bottom:1px solid var(--nly-surface-border)}.home-dashboard .panel-card .el-card__body{padding:16px 18px 18px}.home-dashboard .panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-dashboard .panel-header-left{display:inline-flex;align-items:center;gap:10px}.home-dashboard .panel-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary, var(--text-color));display:inline-flex;align-items:center;gap:8px}.home-dashboard .panel-title:before{content:"";width:3px;height:14px;border-radius:var(--radius-full);background:var(--nly-accent-line, var(--nly-primary));flex-shrink:0}.home-dashboard .panel-sub{font-size:12px;color:var(--color-text-muted, var(--text-color-secondary))}.home-dashboard .quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-dashboard .quick-item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 10px 14px;border-radius:var(--nly-radius-md, 10px);background:var(--nly-accent-subtle);border:1px solid var(--nly-surface-border);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}.home-dashboard .quick-item:hover{background:color-mix(in srgb,var(--nly-primary) 6%,var(--color-bg-card));border-color:color-mix(in srgb,var(--nly-primary) 22%,transparent);transform:translateY(-2px);box-shadow:var(--nly-shadow-sm)}.home-dashboard .quick-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center}.home-dashboard .quick-label{font-size:13px;color:var(--color-text-primary, var(--text-color));font-weight:500}.home-dashboard .recent-list{display:flex;flex-direction:column;gap:8px}.home-dashboard .recent-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px;background:var(--color-bg-hover, var(--el-fill-color-light));cursor:pointer;transition:background .2s ease}.home-dashboard .recent-item:hover{background:color-mix(in srgb,var(--nly-primary) 6%,var(--color-bg-card));border-color:color-mix(in srgb,var(--nly-primary) 12%,transparent)}.home-dashboard .recent-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.home-dashboard .recent-main .el-tag{flex-shrink:0}.home-dashboard .recent-title{font-size:13px;font-weight:500;color:var(--color-text-primary, var(--text-color));flex:0 0 auto}.home-dashboard .recent-sub{font-size:12px;color:var(--color-text-muted, var(--text-color-secondary));flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-dashboard .recent-time{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-muted, var(--text-color-secondary));flex-shrink:0}.home-dashboard .notice-list{display:flex;flex-direction:column;gap:10px}.home-dashboard .notice-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;background:var(--color-bg-hover, var(--el-fill-color-light))}.home-dashboard .notice-text{font-size:13px;color:var(--color-text-primary, var(--text-color));line-height:1.4}.home-dashboard .today-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-dashboard .today-item{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:8px;background:var(--color-bg-hover, var(--el-fill-color-light));border:1px solid color-mix(in srgb,var(--color-black) 4%,transparent)}.home-dashboard .today-label{font-size:12px;color:var(--color-text-muted, var(--text-color-secondary))}.home-dashboard .today-value{font-size:16px;font-weight:600;color:var(--color-text-primary, var(--text-color))}@media (max-width: 768px){.home-dashboard .welcome-card{padding:18px 20px;flex-direction:column;gap:12px;text-align:center}.home-dashboard .greeting-text{font-size:18px}.home-dashboard .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-dashboard .stat-value{font-size:20px}}.performance-board .content-wrapper{min-height:calc(100vh - 160px)}.performance-board .board-layout{display:flex;gap:var(--ux-master-detail-gap, var(--ux-gap-section, var(--spacing-4)));height:calc(100vh - 200px);min-height:var(--ux-master-detail-min-height, 520px)}.performance-board .list-panel{width:var(--ux-master-panel-width, 340px);flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--nly-surface-elevated, var(--color-bg-card));border:1px solid var(--nly-surface-border, var(--color-border));border-radius:var(--nly-radius-md);box-shadow:none}.performance-board .list-panel :deep(.el-card){flex:1;display:flex;flex-direction:column;overflow:hidden;border:none;box-shadow:none;background:transparent}.performance-board .list-panel :deep(.el-card__header){padding:var(--spacing-3) var(--spacing-4)!important;border-bottom:1px solid var(--nly-surface-border)!important;background:var(--nly-accent-subtle)}.performance-board .list-panel :deep(.el-card__body){flex:1;overflow:hidden;padding:0!important}.performance-board .list-panel .card-header{margin-bottom:0;padding:0;border-bottom:none;min-height:auto}.performance-board .list-panel .card-header .el-input{width:148px;max-width:100%}.performance-board .detail-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--nly-surface-elevated);border:1px solid var(--nly-surface-border);border-radius:var(--nly-radius-md);box-shadow:none;min-width:0}.performance-board .detail-content{flex:1;overflow-y:auto;padding:var(--spacing-4) var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-4)}.performance-board .empty-detail{flex:1;display:flex;justify-content:center;align-items:center;background:var(--nly-surface-elevated);border:1px dashed color-mix(in srgb,var(--nly-primary) 18%,var(--nly-surface-border));border-radius:var(--nly-radius-md);box-shadow:none;min-height:320px}.performance-board .role-tabs :deep(.el-button){margin-left:0;border-radius:var(--radius-full);padding:6px 16px;font-size:var(--font-size-sm);border-color:var(--nly-surface-border)}.performance-board .role-tabs :deep(.el-button--primary){box-shadow:none}.performance-board .role-tabs :deep(.el-button-group){display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.performance-board .role-tabs :deep(.el-button-group > .el-button){margin-left:0}.performance-board .card-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--spacing-3);padding:0 0 var(--spacing-3);margin-bottom:var(--spacing-3);border-bottom:1px solid var(--nly-surface-border)}.performance-board .card-header span{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--nly-text-primary);display:inline-flex;align-items:center;gap:8px;line-height:var(--line-height-snug)}.performance-board .card-header span:before{content:"";width:3px;height:14px;border-radius:var(--radius-full);background:var(--nly-accent-line, var(--nly-primary));flex-shrink:0}.performance-board .no-border-card :deep(.el-card__header){padding:0!important;border-bottom:none!important;background:transparent!important}.performance-board .no-border-card :deep(.el-card__body){padding:0!important;background:transparent!important}.performance-board .search-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--spacing-2) var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-4);background:var(--nly-accent-subtle);border:1px solid color-mix(in srgb,var(--nly-primary) 10%,var(--nly-surface-border));border-radius:var(--nly-radius-md);box-sizing:border-box}.performance-board .search-form .el-form-item{margin-bottom:0;margin-right:0}.performance-board .search-form .el-form-item__label{font-weight:var(--font-weight-medium);line-height:1.4;padding:0 0 4px;font-size:var(--font-size-xs);color:var(--nly-text-muted)}.performance-board .search-form .el-select{width:80px}.performance-board .search-form .el-date-editor{max-width:100%}.performance-board .question-icon{color:var(--nly-primary);cursor:help;font-size:var(--font-size-md);vertical-align:middle}.performance-board .promoter-info-section{margin-bottom:var(--spacing-4)}.performance-board .promoter-info-section :deep(.el-descriptions){border-radius:var(--nly-radius-md);overflow:hidden}.performance-board .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.performance-board .stat-card{height:auto;min-height:84px;border-radius:var(--nly-radius-md);border:1px solid var(--nly-surface-border);box-shadow:none;overflow:hidden;position:relative;background:var(--nly-surface-elevated)}.performance-board .stat-card:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--nly-primary);opacity:.85}.performance-board .stat-card :deep(.el-card__body){padding:var(--spacing-4) var(--spacing-4) var(--spacing-4) var(--spacing-5)}.performance-board .stat-item{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:52px}.performance-board .stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--nly-primary);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.performance-board .stat-label{font-size:var(--font-size-xs);color:var(--nly-text-muted);line-height:var(--line-height-normal)}.performance-board .list-section,.performance-board .chart-section{margin-bottom:0}.performance-board .list-section>.el-card,.performance-board .chart-section>.el-card{border:1px solid var(--nly-surface-border);border-radius:var(--nly-radius-md);box-shadow:none;overflow:hidden}.performance-board .list-section>.el-card :deep(.el-card__header),.performance-board .chart-section>.el-card :deep(.el-card__header){padding:var(--spacing-3) var(--spacing-4);background:var(--nly-accent-subtle);border-bottom:1px solid var(--nly-surface-border)}.performance-board .list-section .card-header,.performance-board .chart-section .card-header{margin-bottom:0;padding-bottom:0;border-bottom:none}.performance-board .list-section .card-header span:before{display:none}.performance-board .chart-container{height:220px;padding:var(--spacing-4)}.performance-board .placeholder-chart{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;text-align:center;color:var(--nly-text-muted);background:var(--nly-accent-subtle);border:1px dashed color-mix(in srgb,var(--nly-primary) 15%,var(--nly-surface-border));border-radius:var(--nly-radius-md)}.performance-board .chart-icon{font-size:40px;margin-bottom:var(--spacing-2);color:color-mix(in srgb,var(--nly-primary) 45%,var(--nly-text-muted))}.performance-board .text-muted{color:var(--nly-text-muted)}.performance-board .table-scroll{max-height:calc(100vh - 320px);overflow-y:auto}.performance-board .detail-content .table-scroll{max-height:300px}.performance-board .list-panel .table-scroll{max-height:none;flex:1}.performance-board :deep(.el-table){margin-top:0;--el-table-border-color: var(--nly-surface-border)}.performance-board :deep(.el-table tbody tr){cursor:pointer}.performance-board :deep(.el-table tbody tr.selected-row){background-color:var(--table-row-current-bg, var(--nly-accent-subtle))!important}.performance-board .pagination-container{padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--nly-surface-border);background:var(--nly-accent-subtle)}@media (max-width: 1200px){.performance-board .board-layout{flex-direction:column;height:auto;min-height:auto}.performance-board .list-panel{width:100%;max-height:320px}.performance-board .detail-panel{min-height:480px}.performance-board .stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.performance-board .stats-grid{grid-template-columns:1fr}.performance-board .detail-content,.performance-board .search-form{padding:var(--spacing-3)}.performance-board .chart-container{height:180px}}@media screen and (min-width: 1200px) and (max-width: 1280px){.performance-board .board-layout{height:calc(100vh - 180px);gap:var(--ux-gap-section, var(--spacing-3))}.performance-board .list-panel{width:var(--ux-master-panel-width, 280px)}.performance-board .list-panel .card-header .el-input{width:120px}.performance-board .stat-value{font-size:var(--font-size-xl)}.performance-board .detail-content{padding:var(--spacing-3)}}.user-management-page.list-page-root{display:flex;flex-direction:column;flex:1;min-height:0}.user-management-page .user-mgmt-tree{position:relative;flex-shrink:0;width:var(--user-mgmt-tree-width, var(--ux-list-aside-width, 260px));display:flex;flex-direction:column;overflow:hidden;min-height:0;padding:var(--ux-gap-compact, var(--spacing-3));background:var(--nly-surface-elevated, var(--color-bg-card));border:1px solid var(--nly-surface-border, var(--color-border));border-radius:var(--nly-radius-md, var(--radius-lg));box-shadow:none;transition:width .2s ease}.user-management-page .user-mgmt-tree.is-collapsed{padding:var(--ux-gap-inline, var(--spacing-2)) var(--spacing-1)}.user-management-page .user-mgmt-tree__header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding-bottom:var(--ux-gap-inline, var(--spacing-2));margin-bottom:var(--ux-gap-compact, var(--spacing-3));border-bottom:1px solid var(--nly-surface-border, var(--border-color))}.user-management-page .user-mgmt-tree.is-collapsed .user-mgmt-tree__header{flex-direction:column;justify-content:flex-start;align-items:center;gap:var(--spacing-1);padding-bottom:0;margin-bottom:0;border-bottom:none}.user-management-page .user-mgmt-tree__title{font-size:var(--ux-type-section-title-size, var(--font-size-md));font-weight:var(--ux-type-section-title-weight, var(--font-weight-semibold));color:var(--nly-primary, var(--primary-color));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.user-management-page .user-mgmt-tree__collapsed-icon{display:flex;align-items:center;justify-content:center;width:100%;color:var(--nly-primary, var(--primary-color));font-size:var(--font-size-md)}.user-management-page .user-mgmt-tree__toolbar{display:flex;align-items:center;gap:var(--spacing-1);flex-shrink:0}.user-management-page .user-mgmt-tree.is-collapsed .user-mgmt-tree__toolbar{flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-1)}.user-management-page .user-mgmt-tree :deep(.el-tree){flex:1;overflow-y:auto;font-size:var(--ux-type-caption-size, var(--font-size-xs));min-height:0}.user-management-page .user-mgmt-tree :deep(.el-tree-node__content){height:var(--ux-control-height-sm, 28px);line-height:var(--ux-control-height-sm, 28px);font-size:var(--ux-type-caption-size, var(--font-size-xs))}.user-management-page .user-mgmt-tree.is-collapsed :deep(.el-button){padding:var(--spacing-1)}.user-management-page .user-mgmt-tree__resize{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;background:transparent;transition:background-color .2s}.user-management-page .user-mgmt-tree__resize:hover{background:var(--nly-primary, var(--primary-color))}.user-management-page .list-page__main{min-height:0}.user-management-page .list-page__table{flex:1;display:flex;flex-direction:column;min-height:0}.user-management-page .list-page__table .table-responsive-wrapper{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.user-management-page .list-page__table .table-responsive-wrapper :deep(.el-table){flex:1;min-height:0}.user-mgmt-dialog--form.el-dialog{width:var(--ux-dialog-width-sm, 480px);max-width:calc(100vw - var(--ux-content-padding, 24px) * 2)}.user-mgmt-dialog--import.el-dialog{width:var(--ux-dialog-width-xs, 400px);max-width:calc(100vw - var(--ux-content-padding, 24px) * 2)}.user-mgmt-dialog .el-select,.user-mgmt-upload,.user-mgmt-upload .el-upload-dragger{width:100%}@media (max-width: 768px){.user-management-page .user-mgmt-tree{width:100%!important;max-height:200px;overflow-y:auto}.user-management-page .user-mgmt-tree :deep(.el-tree){height:auto!important}.user-management-page .user-mgmt-tree__resize{display:none}}@media (max-width: 480px){.user-management-page .user-mgmt-tree{max-height:150px}}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);color:var(--text-color);background-color:var(--background-color);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-layout{display:flex;height:calc(100vh - 100px);gap:16px}.page-content{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0}.main-content{display:flex;gap:20px}.search-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-5);margin-bottom:var(--spacing-4);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.search-form{display:flex;flex-wrap:wrap;gap:var(--spacing-4);align-items:flex-end}.search-form .el-form-item{margin-bottom:0}.search-form .el-input,.search-form .el-select{width:200px}.search-buttons{display:flex;gap:8px;margin-left:auto}.action-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.action-buttons{display:flex;gap:var(--spacing-2)}.action-buttons .el-button{border-radius:var(--radius-sm)}.action-right{display:flex;gap:8px}.table-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-5);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.table-card :deep(.el-table){width:100%;margin-bottom:var(--spacing-4)}.calendar-section{width:350px;flex-shrink:0;background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-5);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.calendar-header{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}.calendar-title{font-size:18px;font-weight:700;color:var(--text-color);min-width:120px;text-align:center}.calendar-grid{border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:20px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--calendar-bg);border-bottom:1px solid var(--border-color);gap:0;margin-bottom:0}.weekday{padding:10px 0;text-align:center;font-size:14px;color:var(--calendar-weekday);font-weight:500}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.calendar-day{position:relative;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .3s;border-right:1px solid var(--border-color-light);border-bottom:1px solid var(--border-color-light)}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background-color:var(--calendar-hover)}.calendar-day.other-month{color:var(--calendar-other-month)}.calendar-day.today{background-color:var(--info-light);color:var(--white)}.calendar-day.selected{background-color:var(--success-color);color:var(--white)}.calendar-day.has-event,.calendar-day.has-patient{background-color:var(--primary-lighter)}.day-number{z-index:1}.event-badge,.patient-badge{position:absolute;bottom:2px;right:2px;background-color:var(--success-color);color:var(--white);font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.calendar-legend{display:flex;gap:20px;font-size:12px;color:var(--legend-text)}.legend-item{display:flex;align-items:center;gap:5px}.legend-dot{width:10px;height:10px;border-radius:50%}.today-dot{background-color:var(--info-light)}.selected-dot,.event-dot{background-color:var(--success-color)}.list-section{flex:1;min-width:0}.selected-date-info{margin-bottom:16px;padding:10px 20px;background:var(--calendar-bg);border-radius:var(--radius-sm);display:flex;align-items:center;gap:15px}.event-count{font-size:14px;color:var(--primary-color);font-weight:500}.tree-container{position:relative;flex-shrink:0;background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-4);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--border-color)}.tree-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-3);margin-bottom:var(--spacing-3);border-bottom:1px solid var(--border-color)}.tree-title{font-size:15px;font-weight:600;color:var(--primary-color)}.tree-toolbar{display:flex;gap:8px}.resize-handle{position:absolute;top:0;right:0;width:4px;height:100%;cursor:col-resize;background:transparent;transition:background-color .2s}.resize-handle:hover{background:var(--primary-color)}.detail-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.detail-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-4);margin-bottom:var(--spacing-4);border-bottom:1px solid var(--border-color)}.detail-title{font-size:16px;font-weight:600;color:var(--primary-color)}.detail-item{display:flex;padding:12px 0;border-bottom:1px dashed var(--border-color)}.detail-item:last-child{border-bottom:none}.detail-label{width:120px;color:var(--text-color-secondary);flex-shrink:0}.detail-value{flex:1;color:var(--text-color)}.status-tag{display:inline-flex;align-items:center;gap:4px}.status-dot{width:6px;height:6px;border-radius:50%}.status-dot.success{background-color:var(--primary-color)}.status-dot.warning{background-color:var(--warning-color)}.status-dot.danger{background-color:var(--danger-color)}.status-dot.info{background-color:var(--info-color)}.header-extra{display:flex;align-items:center;gap:16px}.current-area{display:flex;align-items:center;gap:4px;color:var(--primary-color);font-size:14px}.upload-area{width:100%}.upload-area :deep(.el-upload-dragger){width:100%}.patient-list-section{margin-top:20px;padding-top:15px;border-top:1px solid var(--border-color)}.section-title{font-size:14px;font-weight:500;color:var(--section-title);margin:0 0 10px}.no-patient-tip{margin-top:20px;padding:20px 0;text-align:center}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.card-header-title{font-size:15px;font-weight:600;color:var(--text-color)}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-color-light)}.list-empty i{font-size:48px;margin-bottom:16px;color:var(--empty-icon)}.form-required:before{content:"*";color:var(--danger-color);margin-right:4px}.el-table{border-radius:var(--radius-md);overflow:hidden;--el-table-current-row-bg-color: var(--table-row-current-bg, var(--primary-lighter));--el-table-current-row-hover-bg-color: var(--table-row-hover-bg, var(--bg-color-hover))}.el-table th.el-table__cell{background-color:var(--table-header-bg, var(--primary-lighter));color:var(--text-color);font-weight:600}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell,.el-table__body tr.el-table__row--striped td.el-table__cell,.el-table__body tr.el-table__row--striped td,.el-table--striped .el-table__body tr.el-table__row--striped td,.el-table__body tr td.el-table__cell{background-color:var(--table-row-bg, var(--el-bg-color))!important;background:var(--table-row-bg, var(--el-bg-color))!important}.el-table__body tr:hover>td.el-table__cell,.el-table__body tr:hover>td,.el-table__body tr.el-table__row--striped:hover>td.el-table__cell,.el-table__body tr.el-table__row--striped:hover>td{background-color:var(--table-row-hover-bg, var(--bg-color-hover))!important;background:var(--table-row-hover-bg, var(--bg-color-hover))!important}.el-table__body tr.current-row>td.el-table__cell,.el-table__body tr.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.current-row>td{background-color:var(--table-row-current-bg, var(--primary-lighter))!important;background:var(--table-row-current-bg, var(--primary-lighter))!important;color:var(--table-row-current-text, var(--text-color))!important}.el-table__body tr.current-row td .cell,.el-table__body tr.current-row td .cell *,.el-table__body tr.current-row td .el-tag{color:var(--table-row-current-text, var(--text-color))!important;--el-tag-text-color: var(--table-row-current-text, var(--text-color)) !important}.el-table__body tr.is-selection>td.el-table__cell,.el-table__body tr.is-selection>td{background-color:var(--table-row-selection-bg, var(--table-row-hover-bg))!important}.el-table__body tr.is-selection:hover>td.el-table__cell,.el-table__body tr.is-selection:hover>td{background-color:var(--table-row-selection-hover-bg, var(--primary-color))!important;background:var(--table-row-selection-hover-bg, var(--primary-color))!important;color:var(--table-row-selection-hover-text, var(--button-text-color, #ffffff))!important}.el-table__body tr.is-selection:hover td .cell,.el-table__body tr.is-selection:hover td .cell *{color:var(--table-row-selection-hover-text, var(--button-text-color, #ffffff))!important}.pagination-container{display:flex;justify-content:flex-end;padding:16px 0 0}.el-pagination{--el-pagination-button-bg-color: var(--white);--el-pagination-hover-color: var(--primary-color)}.el-pagination.is-background .el-pager li:not(.is-disabled).is-active{background-color:var(--text-color);color:var(--white)}.el-pagination.is-background .el-pager li:not(.is-disabled):hover{color:var(--primary-color)}.el-button--primary{--el-button-bg-color: var(--primary-color);--el-button-border-color: var(--primary-color);--el-button-text-color: var(--white);--el-button-hover-bg-color: var(--primary-light);--el-button-hover-border-color: var(--primary-light);--el-button-active-bg-color: var(--primary-dark);--el-button-active-border-color: var(--primary-dark)}.el-button--success{--el-button-bg-color: var(--success-color);--el-button-border-color: var(--success-color);--el-button-text-color: var(--white);--el-button-hover-bg-color: var(--success-light);--el-button-hover-border-color: var(--success-light);--el-button-active-bg-color: var(--success-dark);--el-button-active-border-color: var(--success-dark)}.el-button--warning{--el-button-bg-color: var(--warning-color);--el-button-border-color: var(--warning-color);--el-button-text-color: var(--white);--el-button-hover-bg-color: var(--warning-light);--el-button-hover-border-color: var(--warning-light);--el-button-active-bg-color: var(--warning-dark);--el-button-active-border-color: var(--warning-dark)}.el-button--danger{--el-button-bg-color: var(--danger-color);--el-button-border-color: var(--danger-color);--el-button-text-color: var(--white);--el-button-hover-bg-color: var(--danger-light);--el-button-hover-border-color: var(--danger-light);--el-button-active-bg-color: var(--danger-dark);--el-button-active-border-color: var(--danger-dark)}.el-button{border-radius:var(--radius-sm);font-weight:500}.el-button--primary.is-plain,.el-button--success.is-plain,.el-button--danger.is-plain{--el-button-bg-color: var(--primary-lighter);--el-button-text-color: var(--text-color);--el-button-border-color: var(--border-color)}.el-input__wrapper{border-radius:var(--radius-sm)}.el-input__wrapper:focus-within{box-shadow:0 0 0 2px var(--primary-lighter)}.el-select .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 2px var(--primary-lighter)}.el-form-item__label{font-weight:500;color:var(--text-color-secondary)}.el-tree{background:transparent}.el-tree-node__content:hover{background-color:var(--primary-lighter)}.el-tree-node.is-current>.el-tree-node__content{background-color:var(--primary-lighter);color:var(--primary-color)}.el-tag--success,.el-tag--warning,.el-tag--danger,.el-tag--info{--el-tag-bg-color: var(--primary-lighter);--el-tag-border-color: var(--border-color);--el-tag-text-color: var(--text-color)}.el-message--success{--el-message-bg-color: var(--primary-lighter);--el-message-border-color: var(--border-color)}.el-tabs__item.is-active{color:var(--primary-color)}.el-tabs__active-bar{background-color:var(--primary-color)}.el-checkbox__input.is-checked .el-checkbox__inner,.el-radio__input.is-checked .el-radio__inner,.el-switch.is-checked .el-switch__core{background-color:var(--primary-color);border-color:var(--primary-color)}.el-loading-spinner .circular{stroke:var(--primary-color)}.el-loading-spinner i{color:var(--primary-color)}.table-responsive-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.table-responsive-wrapper::-webkit-scrollbar{height:6px}.table-responsive-wrapper::-webkit-scrollbar-track{background:transparent}.table-responsive-wrapper::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:3px}.table-responsive-wrapper::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.table-responsive-wrapper .el-table{min-width:600px}@media screen and (min-width: 1200px) and (max-width: 1280px){:root{--font-size-base: 12px;--font-size-sm: 12px;--font-size-xs: 11px;--spacing-1: 2px;--spacing-2: 4px;--spacing-2\.5: 5px;--spacing-3: 6px;--spacing-4: 8px;--spacing-5: 10px;--spacing-6: 12px;--card-padding: 8px;--form-item-spacing: 8px;--layout-tag-view-height: 32px}body{font-size:12px!important;line-height:1.4}.page-container{padding:6px 8px}.page-header{padding:6px 8px;margin-bottom:6px}.page-title{font-size:13px;gap:4px}.page-title:before{width:3px;height:12px}.page-subtitle{font-size:11px}.section-header{margin-bottom:8px;padding-bottom:6px;gap:6px}.section-title{font-size:12px;gap:4px}.search-card{padding:8px 10px;margin-bottom:6px}.search-form{gap:6px}.search-form .el-input,.search-form .el-select{width:130px}.search-form .el-form-item__label{font-size:12px;padding-right:6px}.action-bar{padding:6px 8px;margin-bottom:6px}.action-buttons .el-button{font-size:12px;padding:4px 8px}.table-card{padding:8px 10px}.el-table{font-size:12px}.el-table .el-table__cell{padding:4px 5px}.el-table th.el-table__cell{padding:5px;font-size:12px}.el-pagination{font-size:12px;margin-top:6px}.el-pagination .el-pager li{min-width:22px;height:22px;line-height:22px;font-size:11px}.el-pagination .btn-prev,.el-pagination .btn-next{min-width:22px;height:22px}.el-button{font-size:12px;padding:4px 10px;border-radius:3px}.el-button--small{padding:3px 8px;font-size:11px}.el-input__inner{font-size:12px;padding:4px 8px}.el-select__input{font-size:12px}.el-form-item__label{font-size:12px;padding-right:6px}.el-form-item{margin-bottom:8px}.el-dialog{font-size:12px}.el-dialog__header,.el-dialog__body{padding:8px 10px}.el-dialog__footer{padding:6px 10px}.el-dialog__title{font-size:13px}.el-tag{font-size:11px;padding:1px 6px}.el-tabs__item{font-size:12px;padding:0 8px}.el-menu-item,.el-sub-menu__title,.el-tree{font-size:12px}.el-tree-node__content{height:28px;line-height:28px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}.stat-card{height:64px;padding:6px 8px}.stat-value{font-size:18px}.stat-label{font-size:11px}.tree-container{padding:8px}.tree-header{padding-bottom:6px;margin-bottom:6px}.tree-title{font-size:12px}.detail-card{padding:10px}.detail-header{padding-bottom:8px;margin-bottom:8px}.detail-title{font-size:13px}.detail-item{padding:6px 0}.detail-label{width:80px;font-size:12px}.detail-value{font-size:12px}.main-content,.page-layout,.page-content{gap:6px}.calendar-section{width:280px;padding:10px}.calendar-day{height:34px;font-size:12px}.board-layout{gap:6px;height:calc(100vh - 140px)}.list-panel{width:280px}.list-panel .el-input{width:130px}.detail-content{padding:10px}.table-scroll{max-height:calc(100vh - 300px)}.table-responsive-wrapper .el-table{min-width:560px}.home-sidebar{width:170px}.header{height:48px;padding:0 10px}.header-left{gap:8px}.header-center{padding:0 8px}.el-breadcrumb{font-size:12px}.header-right{gap:4px}.nly-shell-action,.mobile-menu-btn{width:28px;height:28px}}@media (max-width: 1200px){.main-content{flex-direction:column}.calendar-section{width:100%}}@media screen and (max-width: 768px){.user-dialog .el-dialog{width:95%!important;margin:2vh auto!important;display:flex;flex-direction:column;max-height:96vh}.user-dialog .el-dialog__header{padding:12px;flex-shrink:0}.user-dialog .el-dialog__body{padding:12px;max-height:70vh;overflow-y:auto;flex:1}.user-dialog .el-dialog__footer{padding:12px;flex-shrink:0;border-top:1px solid var(--dialog-divider)}.user-dialog .el-form{padding:0}.user-dialog .el-form-item{margin-bottom:16px;display:flex;flex-direction:row;align-items:center}.user-dialog .el-form-item__label{width:70px!important;font-size:13px;padding-right:8px;text-align:right;flex-shrink:0}.user-dialog .el-form-item__content{flex:1;line-height:32px}.user-dialog .el-form-item.is-required .el-form-item__label:before{margin-right:2px}.user-dialog .el-input,.user-dialog .el-select{width:100%}.import-dialog .el-dialog{width:95%!important;margin:2vh auto!important}.import-dialog .el-dialog__header,.import-dialog .el-dialog__body{padding:12px}}@media screen and (max-width: 480px){.user-dialog .el-dialog{width:98%!important;margin:1vh auto!important;max-height:98vh}.user-dialog .el-dialog__header{padding:10px}.user-dialog .el-dialog__body{padding:10px;max-height:75vh}.user-dialog .el-dialog__footer{padding:10px}.user-dialog .el-form-item__label{width:60px!important;font-size:12px}.import-dialog .el-dialog{width:98%!important;margin:1vh auto!important}.import-dialog .el-dialog__header,.import-dialog .el-dialog__body{padding:10px}}@media screen and (max-width: 768px){.doctor-dialog .el-dialog{width:95%!important;margin:2vh auto!important;top:0!important;display:flex;flex-direction:column;max-height:96vh}.doctor-dialog .el-dialog__header{padding:12px;flex-shrink:0}.doctor-dialog .el-dialog__body{padding:12px;max-height:70vh;overflow-y:auto;flex:1}.doctor-dialog .el-dialog__footer{padding:12px;flex-shrink:0;border-top:1px solid var(--dialog-divider)}.doctor-dialog .el-form{padding:0}.doctor-dialog .el-form-item{margin-bottom:12px}.doctor-dialog .el-form-item__label{width:90px!important;font-size:13px;padding-right:8px;text-align:right}.doctor-dialog .el-row{margin:0!important}.doctor-dialog .el-col{padding:0!important;width:100%!important;max-width:100%!important;flex:0 0 100%!important}.doctor-dialog .el-collapse-item__header{font-size:14px;padding:0 12px;height:44px;line-height:44px}.doctor-dialog .el-collapse-item__content{padding:12px}.doctor-detail-dialog .el-dialog{width:95%!important;margin:2vh auto!important;display:flex;flex-direction:column;max-height:96vh}.doctor-detail-dialog .el-dialog__header{padding:12px;flex-shrink:0}.doctor-detail-dialog .el-dialog__body{padding:12px;max-height:80vh;overflow-y:auto;flex:1}}@media screen and (max-width: 480px){.doctor-dialog .el-dialog{width:98%!important;margin:1vh auto!important;max-height:98vh}.doctor-dialog .el-dialog__header{padding:10px}.doctor-dialog .el-dialog__body{padding:10px;max-height:75vh}.doctor-dialog .el-dialog__footer{padding:10px}.doctor-dialog .el-form-item__label{width:80px!important;font-size:12px}.doctor-dialog .el-collapse-item__header{font-size:13px;padding:0 10px;height:40px;line-height:40px}.doctor-dialog .el-collapse-item__content{padding:10px}.doctor-dialog .el-radio-group{display:flex;flex-wrap:wrap;gap:8px}.doctor-dialog .el-radio{margin-right:0}.doctor-detail-dialog .el-dialog{width:98%!important;margin:1vh auto!important;max-height:98vh}.doctor-detail-dialog .el-dialog__header{padding:10px}.doctor-detail-dialog .el-dialog__body{padding:10px;max-height:85vh}}@media screen and (max-width: 768px){.patient-dialog .el-dialog{width:95%!important;margin:2vh auto!important;display:flex;flex-direction:column;max-height:96vh}.patient-dialog .el-dialog__header{padding:12px;flex-shrink:0}.patient-dialog .el-dialog__body{padding:12px;max-height:70vh;overflow-y:auto;flex:1}.patient-dialog .el-dialog__footer{padding:12px;flex-shrink:0;border-top:1px solid var(--dialog-divider)}.patient-dialog .el-form{padding:0}.patient-dialog .el-form-item{margin-bottom:16px;display:flex;flex-direction:row;align-items:center}.patient-dialog .el-form-item__label{width:80px!important;font-size:13px;padding-right:8px;text-align:right;flex-shrink:0;white-space:nowrap}.patient-dialog .el-form-item__content{flex:1;line-height:32px}.patient-dialog .el-input,.patient-dialog .el-select,.patient-dialog .el-textarea,.patient-dialog .el-date-editor{width:100%}.patient-detail-dialog .el-dialog{width:95%!important;margin:2vh auto!important;display:flex;flex-direction:column;max-height:96vh}.patient-detail-dialog .el-dialog__header{padding:12px;flex-shrink:0}.patient-detail-dialog .el-dialog__body{padding:12px;max-height:80vh;overflow-y:auto;flex:1}.patient-detail-dialog .el-descriptions{--el-descriptions-table-border: 1px solid var(--el-border-color-lighter)}.patient-detail-dialog .el-descriptions__body .el-descriptions__table{width:100%}.area-dialog .el-dialog{width:95%!important;margin:2vh auto!important;display:flex;flex-direction:column;max-height:96vh}.area-dialog .el-dialog__header{padding:12px;flex-shrink:0}.area-dialog .el-dialog__body{padding:12px;max-height:70vh;overflow-y:auto;flex:1}.area-dialog .el-dialog__footer{padding:12px;flex-shrink:0;border-top:1px solid var(--dialog-divider)}.area-dialog .el-form{padding:0}.area-dialog .el-form-item{margin-bottom:16px;display:flex;flex-direction:row;align-items:center}.area-dialog .el-form-item__label{width:80px!important;font-size:13px;padding-right:8px;text-align:right;flex-shrink:0;white-space:nowrap}.area-dialog .el-form-item__content{flex:1;line-height:32px}.area-dialog .el-input,.area-dialog .el-select{width:100%}.area-detail-dialog .el-dialog{width:95%!important;margin:2vh auto!important;display:flex;flex-direction:column;max-height:96vh}.area-detail-dialog .el-dialog__header{padding:12px;flex-shrink:0}.area-detail-dialog .el-dialog__body{padding:12px;max-height:80vh;overflow-y:auto;flex:1}.import-dialog .el-dialog{width:95%!important;margin:2vh auto!important}.import-dialog .el-dialog__header,.import-dialog .el-dialog__body{padding:12px}.detail-dialog .el-dialog,.edit-dialog .el-dialog{width:95%!important;margin:2vh auto!important}.detail-dialog .el-dialog__body,.edit-dialog .el-dialog__body{padding:12px;max-height:70vh;overflow-y:auto}.edit-dialog .el-form-item{margin-bottom:16px}.edit-dialog .el-form-item__label{font-size:13px}}@media screen and (max-width: 480px){.patient-dialog .el-dialog{width:98%!important;margin:1vh auto!important;max-height:98vh}.patient-dialog .el-dialog__header{padding:10px}.patient-dialog .el-dialog__body{padding:10px;max-height:75vh}.patient-dialog .el-dialog__footer{padding:10px}.patient-dialog .el-form-item__label{width:70px!important;font-size:12px}.patient-detail-dialog .el-dialog{width:98%!important;margin:1vh auto!important;max-height:98vh}.patient-detail-dialog .el-dialog__header{padding:10px}.patient-detail-dialog .el-dialog__body{padding:10px;max-height:85vh}.patient-detail-dialog .el-descriptions__label,.patient-detail-dialog .el-descriptions__content{font-size:12px;padding:8px 10px}.area-dialog .el-dialog{width:98%!important;margin:1vh auto!important;max-height:98vh}.area-dialog .el-dialog__header{padding:10px}.area-dialog .el-dialog__body{padding:10px;max-height:75vh}.area-dialog .el-dialog__footer{padding:10px}.area-dialog .el-form-item__label{width:70px!important;font-size:12px;white-space:nowrap}.area-detail-dialog .el-dialog{width:98%!important;margin:1vh auto!important;max-height:98vh}.area-detail-dialog .el-dialog__header{padding:10px}.area-detail-dialog .el-dialog__body{padding:10px;max-height:85vh}.import-dialog .el-dialog{width:98%!important;margin:1vh auto!important}.import-dialog .el-dialog__header,.import-dialog .el-dialog__body{padding:10px}.detail-dialog .el-dialog,.edit-dialog .el-dialog{width:98%!important;margin:1vh auto!important}.detail-dialog .el-dialog__body,.edit-dialog .el-dialog__body{padding:10px;max-height:75vh;overflow-y:auto}.edit-dialog .el-form-item{margin-bottom:12px}.edit-dialog .el-form-item__label{font-size:12px}}:root{--primary-500: var(--primary-color);--primary-color: var(--nly-primary, #17806f);--text-primary: var(--nly-text-primary, var(--text-color, #1a2e2a));--text-regular: var(--nly-text-secondary, var(--text-color-secondary, #4a635e));--text-secondary: var(--nly-text-muted, var(--text-color-light, #7a9490));--text-placeholder: var(--text-color-light, #7a9490);--text-disabled: var(--text-color-light, #7a9490);--bg-base: var(--nly-bg-card, var(--white, #ffffff));--bg-page: var(--nly-bg-page, var(--background-color, #f0f7f5));--bg-page-alt: var(--background-light, #fbf8f2);--bg-header: var(--nly-bg-card, var(--white, #ffffff));--bg-sidebar: transparent;--bg-sidebar-sub: transparent;--bg-card: var(--nly-bg-card, var(--white, #ffffff));--bg-hover: var(--color-bg-hover, var(--nly-accent-subtle, #eef7f4));--bg-active: var(--nly-accent-subtle, #eef7f4);--border-color: var(--nly-border, #d4e8e3);--border-light: var(--border-color-light, #e8f3ef);--border-lighter: var(--border-color-light, #e8f3ef);--border-dark: var(--nly-border, #d4e8e3);--border-active: var(--primary-color);--shadow-xs: var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, .05));--shadow-sm: var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .06));--shadow-base: var(--shadow-md, 0 2px 8px rgba(0, 0, 0, .08));--shadow-md: var(--shadow-md, 0 4px 16px rgba(0, 0, 0, .08));--shadow-lg: var(--shadow-lg, 0 8px 24px rgba(0, 0, 0, .08));--shadow-xl: var(--shadow-xl, 0 12px 32px rgba(0, 0, 0, .1))}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Microsoft YaHei,sans-serif;font-size:14px;color:var(--text-primary, #1a2e2a);background-color:var(--bg-page, #f0f7f5);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary-color, #17806f);text-decoration:none}ul,ol{list-style:none}img{max-width:100%;vertical-align:middle;border:0}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{display:flex;flex-wrap:wrap}.flex-column{display:flex;flex-direction:column}.flex-1{flex:1;min-width:0;min-height:0}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--primary-color, #17806f)}.text-success{color:#22c55e}.text-warning{color:#f59e0b}.text-danger{color:#ef4444}.text-info{color:#3b82f6}.text-regular{color:#4a635e}.text-secondary{color:#7a9490}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mt-8{margin-top:8px}.mb-8{margin-bottom:8px}.ml-8{margin-left:8px}.mr-8{margin-right:8px}.mx-8{margin-left:8px;margin-right:8px}.my-8{margin-top:8px;margin-bottom:8px}.pt-8{padding-top:8px}.pb-8{padding-bottom:8px}.pl-8{padding-left:8px}.pr-8{padding-right:8px}.px-8{padding-left:8px;padding-right:8px}.py-8{padding-top:8px;padding-bottom:8px}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.ml-16{margin-left:16px}.mr-16{margin-right:16px}.mx-16{margin-left:16px;margin-right:16px}.my-16{margin-top:16px;margin-bottom:16px}.pt-16{padding-top:16px}.pb-16{padding-bottom:16px}.pl-16{padding-left:16px}.pr-16{padding-right:16px}.px-16{padding-left:16px;padding-right:16px}.py-16{padding-top:16px;padding-bottom:16px}.mt-24{margin-top:24px}.mb-24{margin-bottom:24px}.ml-24{margin-left:24px}.mr-24{margin-right:24px}.mx-24{margin-left:24px;margin-right:24px}.my-24{margin-top:24px;margin-bottom:24px}.pt-24{padding-top:24px}.pb-24{padding-bottom:24px}.pl-24{padding-left:24px}.pr-24{padding-right:24px}.px-24{padding-left:24px;padding-right:24px}.py-24{padding-top:24px;padding-bottom:24px}.mt-32{margin-top:32px}.mb-32{margin-bottom:32px}.ml-32{margin-left:32px}.mr-32{margin-right:32px}.mx-32{margin-left:32px;margin-right:32px}.my-32{margin-top:32px;margin-bottom:32px}.pt-32{padding-top:32px}.pb-32{padding-bottom:32px}.pl-32{padding-left:32px}.pr-32{padding-right:32px}.px-32{padding-left:32px;padding-right:32px}.py-32{padding-top:32px;padding-bottom:32px}.mt-40{margin-top:40px}.mb-40{margin-bottom:40px}.ml-40{margin-left:40px}.mr-40{margin-right:40px}.mx-40{margin-left:40px;margin-right:40px}.my-40{margin-top:40px;margin-bottom:40px}.pt-40{padding-top:40px}.pb-40{padding-bottom:40px}.pl-40{padding-left:40px}.pr-40{padding-right:40px}.px-40{padding-left:40px;padding-right:40px}.py-40{padding-top:40px;padding-bottom:40px}.mt-48{margin-top:48px}.mb-48{margin-bottom:48px}.ml-48{margin-left:48px}.mr-48{margin-right:48px}.mx-48{margin-left:48px;margin-right:48px}.my-48{margin-top:48px;margin-bottom:48px}.pt-48{padding-top:48px}.pb-48{padding-bottom:48px}.pl-48{padding-left:48px}.pr-48{padding-right:48px}.px-48{padding-left:48px;padding-right:48px}.py-48{padding-top:48px;padding-bottom:48px}.mt-56{margin-top:56px}.mb-56{margin-bottom:56px}.ml-56{margin-left:56px}.mr-56{margin-right:56px}.mx-56{margin-left:56px;margin-right:56px}.my-56{margin-top:56px;margin-bottom:56px}.pt-56{padding-top:56px}.pb-56{padding-bottom:56px}.pl-56{padding-left:56px}.pr-56{padding-right:56px}.px-56{padding-left:56px;padding-right:56px}.py-56{padding-top:56px;padding-bottom:56px}.mt-64{margin-top:64px}.mb-64{margin-bottom:64px}.ml-64{margin-left:64px}.mr-64{margin-right:64px}.mx-64{margin-left:64px;margin-right:64px}.my-64{margin-top:64px;margin-bottom:64px}.pt-64{padding-top:64px}.pb-64{padding-bottom:64px}.pl-64{padding-left:64px}.pr-64{padding-right:64px}.px-64{padding-left:64px;padding-right:64px}.py-64{padding-top:64px;padding-bottom:64px}.mt-72{margin-top:72px}.mb-72{margin-bottom:72px}.ml-72{margin-left:72px}.mr-72{margin-right:72px}.mx-72{margin-left:72px;margin-right:72px}.my-72{margin-top:72px;margin-bottom:72px}.pt-72{padding-top:72px}.pb-72{padding-bottom:72px}.pl-72{padding-left:72px}.pr-72{padding-right:72px}.px-72{padding-left:72px;padding-right:72px}.py-72{padding-top:72px;padding-bottom:72px}.mt-80{margin-top:80px}.mb-80{margin-bottom:80px}.ml-80{margin-left:80px}.mr-80{margin-right:80px}.mx-80{margin-left:80px;margin-right:80px}.my-80{margin-top:80px;margin-bottom:80px}.pt-80{padding-top:80px}.pb-80{padding-bottom:80px}.pl-80{padding-left:80px}.pr-80{padding-right:80px}.px-80{padding-left:80px;padding-right:80px}.py-80{padding-top:80px;padding-bottom:80px}.mt-88{margin-top:88px}.mb-88{margin-bottom:88px}.ml-88{margin-left:88px}.mr-88{margin-right:88px}.mx-88{margin-left:88px;margin-right:88px}.my-88{margin-top:88px;margin-bottom:88px}.pt-88{padding-top:88px}.pb-88{padding-bottom:88px}.pl-88{padding-left:88px}.pr-88{padding-right:88px}.px-88{padding-left:88px;padding-right:88px}.py-88{padding-top:88px;padding-bottom:88px}.mt-96{margin-top:96px}.mb-96{margin-bottom:96px}.ml-96{margin-left:96px}.mr-96{margin-right:96px}.mx-96{margin-left:96px;margin-right:96px}.my-96{margin-top:96px;margin-bottom:96px}.pt-96{padding-top:96px}.pb-96{padding-bottom:96px}.pl-96{padding-left:96px}.pr-96{padding-right:96px}.px-96{padding-left:96px;padding-right:96px}.py-96{padding-top:96px;padding-bottom:96px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.thin-scrollbar::-webkit-scrollbar{width:6px;height:6px}.thin-scrollbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:3px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.25)}.thin-scrollbar::-webkit-scrollbar-track{background:transparent}.clearfix:after{display:table;clear:both;content:""}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@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 slideLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes flip{0%{transform:perspective(400px) rotateY(0)}to{transform:perspective(400px) rotateY(360deg)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes glow{0%,to{box-shadow:0 0 5px #17806f80}50%{box-shadow:0 0 20px #17806fcc}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes pageTransition{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-out{animation:fadeOut .3s ease-in}.animate-slide-up{animation:slideUp .3s ease-out}.animate-slide-down{animation:slideDown .3s ease-out}.animate-slide-left{animation:slideLeft .3s ease-out}.animate-slide-right{animation:slideRight .3s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-scale-out{animation:scaleOut .2s ease-in}.animate-bounce-in{animation:bounceIn .5s cubic-bezier(.34,1.56,.64,1)}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-spin{animation:spin 1s linear infinite}.animate-flip{animation:flip .6s ease-in-out}.page-transition{animation:pageTransition .3s ease-out}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}.slide-enter-active,.slide-leave-active{transition:all .3s ease}.slide-enter-from{opacity:0;transform:translate(20px)}.slide-leave-to{opacity:0;transform:translate(-20px)}.layout-container{display:flex;width:100%;height:100vh;overflow:hidden}.layout-sidebar{width:220px;background:var(--sidebar-bg-gradient, var(--nly-gradient-sidebar));transition:width .3s ease;overflow-x:hidden;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.layout-sidebar.is-collapse{width:64px}.layout-sidebar :deep(.el-menu){border-right:none!important;background:transparent!important}.layout-sidebar :deep(.el-menu-item),.layout-sidebar :deep(.el-sub-menu__title){color:var(--menu-text, rgba(255, 255, 255, .88))!important}.layout-sidebar :deep(.el-menu-item:hover),.layout-sidebar :deep(.el-sub-menu__title:hover){background:var(--menu-hover-bg, rgba(255, 255, 255, .08))!important}.layout-sidebar :deep(.el-menu-item.is-active){color:var(--menu-text-active, #ffffff)!important;background:var(--menu-active-bg, rgba(255, 255, 255, .12))!important}.layout-sidebar :deep(.el-sub-menu .el-menu){background:color-mix(in srgb,black 12%,transparent)!important}.layout-header{height:60px;background:var(--bg-header, #ffffff);border-bottom:1px solid var(--border-color, #e8f3ef);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0;box-shadow:none}.layout-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-page, #f0f7f5);overflow:hidden}.layout-content{flex:1;overflow-y:auto;padding:20px;background:var(--bg-page, #f0f7f5)}.page-container{background:var(--bg-card, #ffffff);border-radius:6px;padding:20px;border:1px solid var(--border-color, #e8f3ef);box-shadow:none;min-height:calc(100% - 40px)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color, #e8f3ef)}.page-title{font-size:20px;font-weight:600;color:var(--text-primary, #1a2e2a)}.search-box,.search-form{display:flex;flex-wrap:wrap;gap:8px 16px;padding:var(--ux-search-card-padding, 16px);background:var(--bg-card, #ffffff);border-radius:6px;border:1px solid var(--border-color, #e8f3ef);box-shadow:none;align-items:flex-end}.search-buttons{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.table-container{background:var(--bg-card, #ffffff);border-radius:6px;border:1px solid var(--border-color, #e8f3ef);box-shadow:none;padding:var(--ux-card-padding, 16px);margin-top:16px}.table-operations{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.pagination-container{display:flex;justify-content:flex-end;margin-top:20px;padding:16px 0}.card-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:16px}.stat-card{background:var(--bg-card, #ffffff);border-radius:6px;padding:16px 20px;box-shadow:var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02));transition:all .2s ease;cursor:default}.stat-card:hover{box-shadow:var(--shadow-base, 0 2px 8px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06))}.stat-card .stat-title{font-size:14px;color:var(--text-secondary, #7a9490);margin-bottom:8px}.stat-card .stat-value{font-size:28px;font-weight:600;color:var(--text-primary, #1a2e2a);line-height:1.2}.stat-card .stat-sub{font-size:12px;color:var(--text-secondary, #7a9490);margin-top:4px}.chart-container{width:100%;min-height:360px;background:var(--bg-card, #ffffff);border-radius:6px;padding:20px;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04));margin-bottom:16px}.form-container{padding:20px}.btn-group{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color, #e8f3ef);display:flex;justify-content:flex-end;gap:8px}.form-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px dashed var(--border-color, #e8f3ef)}.form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section .section-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.form-section .section-header .section-icon{font-size:18px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-page, #f0f7f5);border-radius:50%}.form-section .section-header .section-title{font-size:16px;font-weight:600;color:var(--text-primary, #1a2e2a)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary, #7a9490)}.empty-state .empty-icon{font-size:64px;color:var(--border-color, #d4e8e3);margin-bottom:16px}.empty-state .empty-text{font-size:14px}@media print{.layout-sidebar,.layout-header,.pagination-container,.table-operations,.search-box,.search-form,.layout-main>*:not(.layout-content){display:none!important}.layout-container,.layout-content,.page-container{padding:0;margin:0;background:var(--nly-bg-card, var(--color-white));box-shadow:none;height:auto;overflow:visible}}@media (max-width: 767px){.layout-container{flex-direction:column}.layout-sidebar{position:fixed;left:0;top:0;z-index:1000;height:100vh;transform:translate(-100%);transition:transform .3s ease;width:260px}.layout-sidebar.is-visible{transform:translate(0)}.layout-sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;display:none}.layout-sidebar-overlay.is-visible{display:block}.layout-main{width:100%;min-height:100vh}.layout-header{padding:0 12px;height:56px}.layout-content{padding:16px}.page-container{padding:16px;border-radius:4px}.page-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.search-box,.search-form{flex-direction:column;align-items:stretch;gap:12px;padding:12px}.search-buttons{margin-left:0;justify-content:flex-end}.card-container{grid-template-columns:1fr;gap:12px}.stat-card{padding:12px}.table-container{padding:8px;overflow-x:auto}.table-operations{flex-wrap:wrap;gap:8px}.pagination-container{justify-content:center}.btn-group{flex-direction:column;gap:8px}:deep(.el-form-item){margin-bottom:12px}:deep(.el-form-item__label){padding-right:8px}:deep(.el-dialog){margin:16px;width:calc(100% - 32px);max-width:100%}:deep(.el-table){min-width:600px}}@media (min-width: 768px) and (max-width: 991px){.layout-sidebar{width:180px}.layout-header{padding:0 20px}.layout-content,.page-container{padding:12px}.card-container{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.search-box,.search-form{gap:8px}}@media (min-width: 992px){.layout-sidebar{width:220px}}@media (min-width: 1200px){.card-container{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.mb-login-brand{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(32px,6vw,80px);color:var(--nly-text-on-primary, #fff)}.mb-login-brand__title{margin:0 0 12px;font-size:clamp(28px,4vw,40px);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}.mb-login-brand__subtitle{margin:0 0 32px;font-size:var(--font-size-md);opacity:.9;max-width:420px;line-height:var(--line-height-relaxed)}.mb-login-brand__features{display:flex;flex-direction:column;gap:12px}.mb-login-brand__feature{display:inline-flex;align-items:center;gap:10px;font-size:var(--font-size-sm);opacity:.92}.mb-login-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--ux-gap-inline);margin-bottom:var(--ux-gap-section);padding:4px;border-radius:var(--nly-radius-md);background:var(--nly-accent-subtle)}.mb-login-tab{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:var(--nly-radius-sm);font-size:var(--font-size-sm);color:var(--nly-text-secondary);cursor:pointer;transition:background .2s ease,color .2s ease}.mb-login-tab.is-active{background:var(--nly-bg-card);color:var(--nly-primary);font-weight:var(--font-weight-medium);box-shadow:var(--nly-shadow-sm)}.mb-login-tab .tab-icon{width:16px;height:16px}.login-page .login-page__card.auth-card{position:relative;overflow:hidden}.mb-login-code-row{display:flex;gap:var(--ux-gap-inline);width:100%}.mb-login-code-row .el-input{flex:1;min-width:0}.mb-login-code-btn{flex-shrink:0;min-width:108px}.login-page__footer-links{display:flex;justify-content:center;align-items:center;gap:var(--ux-gap-section);margin-top:var(--ux-gap-section);padding-top:var(--ux-gap-section);border-top:1px solid var(--nly-border-light);font-size:var(--font-size-sm);color:var(--nly-text-secondary)}.login-page__footer-links span{cursor:pointer;color:var(--nly-primary)}.login-page__footer-links span:hover{color:var(--nly-primary-dark)}@media (max-width: 960px){.login-page__brand.mb-login-brand{display:none}.login-page__panel{flex:1}}.mb-dashboard-page .stat-card,.mb-health-archive-page .dashboard-page__stats .stat-card{display:flex;align-items:center;gap:16px;padding:20px;border-radius:var(--nly-radius-md, 12px);background:var(--nly-bg-card);border:1px solid var(--nly-border);box-shadow:var(--nly-shadow-sm)}.mb-dashboard-page .stat-card__icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--nly-text-inverse, #fff);flex-shrink:0}.mb-dashboard-page .stat-card--primary .stat-card__icon{background:var(--nly-primary)}.mb-dashboard-page .stat-card--success .stat-card__icon{background:var(--nly-success)}.mb-dashboard-page .stat-card--warning .stat-card__icon{background:var(--nly-warning)}.mb-dashboard-page .stat-card--danger .stat-card__icon{background:var(--nly-danger)}.mb-dashboard-page .stat-card__value{font-size:24px;font-weight:700;color:var(--nly-text-primary)}.mb-dashboard-page .stat-card__label{font-size:13px;color:var(--nly-text-secondary);margin-top:4px}.mb-dashboard-page .dashboard-page__body .chart-row{margin-top:var(--ux-gap-section, var(--spacing-4))}.mb-dashboard-page .dashboard-page__panel{height:100%}.mb-dashboard-page .dashboard-page__panel .card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--nly-border)}.mb-dashboard-page .dashboard-page__panel .card-header h3{font-size:16px;font-weight:600;margin:0;color:var(--nly-text-primary)}.mb-dashboard-page .chart{width:100%;height:300px}.mb-health-archive-page .stat-card.cross-card{display:flex;justify-content:space-between;align-items:center}.mb-health-archive-page .stat-card .stat-main{display:flex;align-items:baseline;gap:12px}.mb-health-archive-page .stat-card .stat-value{font-size:28px;font-weight:600;color:var(--nly-text-primary)}.mb-health-archive-page .stat-card .stat-sub .percentage{font-size:16px;color:var(--nly-success);font-weight:500}.mb-health-archive-page .stat-card .stat-sub .change.up{color:var(--nly-success)}.mb-health-archive-page .stat-card .stat-sub .change.down{color:var(--nly-danger)}.mb-health-archive-page .stat-card .stat-label{margin-top:8px;font-size:14px;color:var(--nly-text-secondary)}.mb-health-archive-page .stat-card .stat-icon{color:var(--nly-success)}.mb-health-archive-page .section{background:var(--nly-bg-card);border-radius:var(--nly-radius-md, 8px);padding:20px;margin-bottom:20px;border:1px solid var(--nly-border)}.mb-health-archive-page .double-section{display:flex;gap:20px}.mb-health-archive-page .section.half{flex:1}.mb-health-archive-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--nly-border)}.mb-health-archive-page .section-title{font-size:16px;font-weight:600;color:var(--nly-text-primary)}.mb-health-archive-page .more-link{font-size:14px;color:var(--nly-primary);cursor:pointer}.mb-health-archive-page .more-link:hover{text-decoration:underline}.mb-health-archive-page .disease-tabs{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.mb-health-archive-page .disease-tab{padding:8px 16px;background:var(--nly-bg-page);border-radius:20px;font-size:14px;color:var(--nly-text-secondary);cursor:pointer;transition:all .3s}.mb-health-archive-page .disease-tab.active{background:var(--nly-primary);color:var(--nly-text-inverse, #fff)}.mb-health-archive-page .disease-tab:hover:not(.active){background:var(--nly-accent-subtle)}.mb-disease-distribution-page .back-btn{color:var(--nly-primary);font-size:14px;padding:0}.mb-disease-distribution-page .tabs-container{margin-bottom:var(--ux-gap-section, var(--spacing-4))}.mb-disease-distribution-page .tabs-container :deep(.el-tabs__header){margin-bottom:0}.mb-disease-distribution-page .search-actions{display:flex;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid var(--nly-border)}.mb-disease-distribution-page .pagination-container{display:flex;justify-content:flex-end;margin-top:16px}.mb-info-collection-page .search-bar{display:flex;align-items:center;gap:16px;margin-bottom:20px}.mb-info-collection-page .search-input{flex:1;max-width:450px}.mb-info-collection-page .pagination-wrapper{display:flex;justify-content:flex-end;padding:16px 0 0}.mb-info-collection-dialog.el-dialog{width:min(85vw,1100px);max-width:1100px}.mb-ai-config-page .config-container{max-width:1200px}.mb-ai-config-page .status-card{display:flex;gap:20px;background:var(--nly-bg-page);border-radius:var(--nly-radius-md, 8px);padding:20px;margin-bottom:20px;border:1px solid var(--nly-border)}.mb-ai-config-page .status-item{flex:1;text-align:center}.mb-ai-config-page .status-label{font-size:14px;color:var(--nly-text-secondary);margin-bottom:8px}.mb-ai-config-page .provider-section,.mb-ai-config-page .tips-section{margin-bottom:20px}.mb-ai-config-page .section-title{font-size:16px;font-weight:600;color:var(--nly-text-primary);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--nly-border)}.mb-ai-config-page .provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.mb-ai-config-page .provider-card.clickable:hover{border-color:var(--nly-primary)}.mb-ai-config-page .provider-name{font-weight:600;font-size:16px;color:var(--nly-text-primary);text-transform:capitalize}.mb-ai-config-page .provider-item .label{color:var(--nly-text-secondary);width:70px;flex-shrink:0}.mb-ai-config-page .provider-item .value{color:var(--nly-text-secondary)}.mb-ai-config-page .tips-content code{background:var(--nly-bg-page);color:var(--nly-primary)}.mb-ai-config-page .tips-content a{color:var(--nly-primary)}.mb-ai-chat-page .workspace-page__tabs{display:flex;flex-direction:column;padding:0;height:calc(100vh - 200px);min-height:480px;overflow:hidden}.mb-ai-chat-page .chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.mb-ai-chat-page .message-list{flex:1;overflow-y:auto;padding:20px 20px 10px}.mb-ai-chat-page .message-list::-webkit-scrollbar{width:6px}.mb-ai-chat-page .message-list::-webkit-scrollbar-thumb{background:var(--nly-border);border-radius:3px}.mb-ai-chat-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--nly-text-secondary)}.mb-ai-chat-page .empty-state .tip{color:var(--nly-text-muted)}.mb-ai-chat-page .message-item.user .message-bubble{background:var(--nly-primary);color:var(--nly-text-inverse, #fff)}.mb-ai-chat-page .message-item.error .message-bubble{background:color-mix(in srgb,var(--nly-danger) 8%,var(--nly-bg-card));color:var(--nly-danger)}.mb-ai-chat-page .message-item .message-avatar .el-avatar.user{background:var(--nly-success)}.mb-ai-chat-page .message-item .message-avatar .el-avatar.assistant{background:var(--nly-primary)}.mb-ai-chat-page .message-item .sender-name{color:var(--nly-text-secondary)}.mb-ai-chat-page .message-item .send-time{color:var(--nly-text-muted)}.mb-ai-chat-page .message-item .loading-text{color:var(--nly-text-secondary)}.mb-ai-chat-page .input-area{padding:16px 20px;background:var(--nly-bg-card);border-top:1px solid var(--nly-border)}.mb-ai-chat-page .input-actions .model-info{font-size:12px;color:var(--nly-text-secondary)}.mb-ai-chat-page .header-actions{display:flex;align-items:center;gap:12px}.surface-app.layout-container{min-height:100vh}.surface-app .layout-sidebar{background:var(--sidebar-bg-gradient, var(--nly-gradient-sidebar));border-right:1px solid color-mix(in srgb,var(--nly-primary) 20%,transparent)}.surface-app .layout-sidebar .logo{background:color-mix(in srgb,var(--nly-primary-darker) 85%,black);border-bottom-color:color-mix(in srgb,var(--nly-primary) 25%,transparent)}.surface-app .layout-sidebar .logo-icon{color:var(--nly-primary-light, var(--primary-light))}.surface-app .layout-main{background:var(--nly-bg-page, var(--bg-page))}.surface-app .layout-header{background:var(--nly-bg-card, var(--bg-header));border-bottom:1px solid var(--nly-surface-border, var(--border-color));box-shadow:none}.surface-app .layout-content{padding:var(--ux-content-padding, 20px);background:var(--nly-bg-page, var(--bg-page))}.surface-app .layout-content .page-container{border:1px solid var(--nly-surface-border, var(--border-color));box-shadow:none;border-radius:var(--nly-radius-md, 6px)}.surface-app .mb-sidebar-menu.el-menu{--el-menu-bg-color: transparent;--el-menu-text-color: var(--menu-text, rgba(255, 255, 255, .88));--el-menu-hover-bg-color: var(--menu-hover-bg, rgba(255, 255, 255, .08));--el-menu-active-color: var(--menu-text-active, #ffffff);border-right:none}.surface-app .mb-sidebar-menu .el-menu-item.is-active,.surface-app .mb-sidebar-menu .el-sub-menu.is-active>.el-sub-menu__title{color:var(--menu-text-active, #ffffff)!important;background:var(--menu-active-bg, rgba(255, 255, 255, .12))!important}.surface-app .mb-sidebar-menu .el-sub-menu .el-menu{background:color-mix(in srgb,black 12%,transparent)!important}.surface-app .header-left .collapse-icon:hover{color:var(--primary-color)}.mb-dialog--form.nly-form-dialog{width:var(--ux-dialog-width-sm, 480px);max-width:calc(100vw - 48px)}.mb-dialog--import.nly-form-dialog{width:var(--ux-dialog-width-xs, 400px);max-width:calc(100vw - 48px)}.mb-dialog .el-select{width:100%}.page-loading[data-v-2c77b94e]{display:flex;align-items:center;justify-content:center;color:var(--primary-color)}.page-loading--overlay[data-v-2c77b94e]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:var(--color-bg-overlay, rgba(255, 255, 255, .72));border-radius:inherit}.page-loading--inline[data-v-2c77b94e]{min-height:200px;width:100%;background:transparent}.page-loading__inner[data-v-2c77b94e]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3, 12px)}.page-loading__spinner[data-v-2c77b94e]{animation:page-loading-spin-2c77b94e 1s linear infinite}.page-loading__text[data-v-2c77b94e]{margin:0;font-size:var(--font-size-sm, 14px);color:var(--color-text-secondary, var(--text-color-secondary))}.page-loading__skeleton[data-v-2c77b94e]{width:min(480px,90vw);display:flex;flex-direction:column;gap:var(--spacing-2, 8px)}.page-loading__skeleton-row[data-v-2c77b94e]{height:14px;border-radius:var(--radius-sm, 4px);background:linear-gradient(90deg,var(--color-bg-hover, #f3f4f6) 25%,var(--color-border-light, #e5e7eb) 50%,var(--color-bg-hover, #f3f4f6) 75%);background-size:200% 100%;animation:page-loading-shimmer-2c77b94e 1.4s ease infinite}.page-loading__skeleton-row[data-v-2c77b94e]:nth-child(1){width:100%}.page-loading__skeleton-row[data-v-2c77b94e]:nth-child(2){width:85%}.page-loading__skeleton-row[data-v-2c77b94e]:nth-child(3){width:92%}.page-loading__skeleton-row[data-v-2c77b94e]:nth-child(4){width:70%}@keyframes page-loading-spin-2c77b94e{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes page-loading-shimmer-2c77b94e{0%{background-position:200% 0}to{background-position:-200% 0}}.active[data-v-648b574b]{color:var(--primary-color, #17806f)!important;font-weight:500}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{width:100%;height:100%}.theme-toggle-btn[data-v-1d09eaa7]{margin-left:8px;transition:all .2s ease}.theme-toggle-btn[data-v-1d09eaa7]:hover{transform:scale(1.05)}.theme-toggle-btn[data-v-1d09eaa7]:active{transform:scale(.95)}.skeleton-wrapper[data-v-8be0d955]{width:100%;padding:20px}.skeleton-content[data-v-8be0d955]{background:var(--bg-card, #ffffff);border-radius:6px;padding:20px}.skeleton-header[data-v-8be0d955]{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color, #e8f3ef)}.skeleton-avatar[data-v-8be0d955]{width:64px;height:64px;border-radius:50%;background:linear-gradient(90deg,var(--nly-bg-muted, var(--bg-page)) 25%,var(--nly-border-light, var(--border-color)) 50%,var(--nly-bg-muted, var(--bg-page)) 75%);background-size:200% 100%;animation:skeleton-loading-8be0d955 1.5s infinite}.skeleton-title[data-v-8be0d955]{flex:1;display:flex;flex-direction:column;gap:8px}.skeleton-line[data-v-8be0d955]{background:linear-gradient(90deg,var(--nly-bg-muted, var(--bg-page)) 25%,var(--nly-border-light, var(--border-color)) 50%,var(--nly-bg-muted, var(--bg-page)) 75%);background-size:200% 100%;animation:skeleton-loading-8be0d955 1.5s infinite;border-radius:4px}.skeleton-line.skeleton-line-lg[data-v-8be0d955]{height:24px;width:60%}.skeleton-line.skeleton-line-md[data-v-8be0d955]{height:16px;width:40%}.skeleton-line.skeleton-line-sm[data-v-8be0d955]{height:14px;width:30%;margin-bottom:12px}.skeleton-body[data-v-8be0d955]{display:flex;flex-direction:column;gap:24px}.skeleton-section .skeleton-line-sm[data-v-8be0d955]{margin-bottom:20px}.skeleton-grid[data-v-8be0d955]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.skeleton-card[data-v-8be0d955]{background:var(--bg-page, #f0f7f5);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px}.skeleton-image[data-v-8be0d955]{width:100%;height:120px;background:linear-gradient(90deg,var(--nly-bg-muted, var(--bg-page)) 25%,var(--nly-border-light, var(--border-color)) 50%,var(--nly-bg-muted, var(--bg-page)) 75%);background-size:200% 100%;animation:skeleton-loading-8be0d955 1.5s infinite;border-radius:4px}.skeleton-table[data-v-8be0d955]{background:var(--bg-page, #f0f7f5);border-radius:6px;overflow:hidden}.skeleton-row[data-v-8be0d955]{display:flex}.skeleton-row[data-v-8be0d955]:not(:last-child){border-bottom:1px solid var(--border-color, #e8f3ef)}.skeleton-cell[data-v-8be0d955]{flex:1;height:48px;display:flex;align-items:center;padding:0 16px}.skeleton-cell[data-v-8be0d955]:before{content:"";width:70%;height:14px;background:linear-gradient(90deg,var(--nly-bg-muted, var(--bg-page)) 25%,var(--nly-border-light, var(--border-color)) 50%,var(--nly-bg-muted, var(--bg-page)) 75%);background-size:200% 100%;animation:skeleton-loading-8be0d955 1.5s infinite;border-radius:4px}@keyframes skeleton-loading-8be0d955{0%{background-position:200% 0}to{background-position:-200% 0}}.lazy-image-wrapper[data-v-69020e49]{position:relative;overflow:hidden;background:var(--bg-page, #f0f7f5)}.lazy-image-placeholder[data-v-69020e49]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:var(--bg-page, #f0f7f5);transition:opacity .3s ease}.lazy-loading-spinner[data-v-69020e49]{width:40px;height:40px;border:4px solid rgba(23,128,111,.2);border-top-color:#17806f;border-radius:50%;animation:spin-69020e49 .8s linear infinite}.lazy-placeholder-text[data-v-69020e49]{font-size:13px;color:var(--text-placeholder, #7a9490)}.lazy-image[data-v-69020e49]{width:100%;height:auto;opacity:0;transition:opacity .3s ease}.lazy-image.is-loaded[data-v-69020e49]{opacity:1}.lazy-image.is-error[data-v-69020e49]{display:none}.lazy-image-error[data-v-69020e49]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(239,68,68,.05);gap:8px}.lazy-image-error .error-icon[data-v-69020e49]{font-size:32px;color:#ef4444}.lazy-image-error .error-text[data-v-69020e49]{font-size:13px;color:#ef4444}@keyframes spin-69020e49{to{transform:rotate(360deg)}}.lazy-container[data-v-4b9f98ad]{width:100%}
