@layer properties{@supports((-webkit-hyphens:none)and (not (margin-trim:inline)))or ((-moz-orient:inline)and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;height:100%;margin:0;padding:0}#root{background-color:#f5f5f5;height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports(not (-webkit-appearance:-apple-pay-button))or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports(color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.m-2{margin:calc(2*var(--spacing))}.\!my-4{margin-block:calc(4*var(--spacing))!important}.\!mb-0{margin-bottom:calc(0*var(--spacing))!important}.\!mb-2{margin-bottom:calc(2*var(--spacing))!important}.mb-3{margin-bottom:calc(3*var(--spacing))}.mb-4{margin-bottom:calc(4*var(--spacing))}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.list-item{display:list-item}.h-\[480px\]{height:480px}.max-h-\[100px\]{max-height:100px}.min-h-0{min-height:calc(0*var(--spacing))}.w-full{width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-2{gap:calc(2*var(--spacing))}.overflow-y-auto{overflow-y:auto}.border{border-style:var(--tw-border-style);border-width:1px}.text-left{text-align:left}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0#0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0#0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0#0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0#0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0#0000}.toast-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;pointer-events:none}.toast{padding:12px 20px;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.12);min-width:180px;max-width:320px;text-align:center;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.toast-content{display:flex;align-items:center;justify-content:center}.toast-message{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:.02em}.toast-error{background:rgba(255,102,102,.85);color:white}.toast-success{background:rgba(103,194,58,.85);color:white}.toast-warning{background:rgba(250,189,71,.85);color:white}.toast-info{background:rgba(64,158,255,.85);color:white}.notification-modal{.ant-modal-header{border-bottom:1px solid#f0f0f0;padding:16px 24px}.ant-modal-body{padding:0;max-height:600px;overflow:visible}.ant-modal-footer{border-top:1px solid#f0f0f0;padding:12px 24px;text-align:center}}.notification-modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;font-weight:500;width:100%}.toggle-mode-btn{color:#1890ff;font-size:12px}.toggle-mode-btn:hover{background-color:#f0f8ff}.notification-modal-content{display:flex;flex-direction:column;height:100%}.notification-actions{padding:16px 24px;border-bottom:1px solid#f0f0f0;background:#fafafa;display:flex;justify-content:space-between;align-items:center}.notification-list-container{flex:1;max-height:400px;overflow-y:auto;padding:16px 24px;position:relative}.loading-more{text-align:center;padding:16px;border-top:1px solid#f0f0f0;background:#fafafa}.notification-list .ant-list-item{padding:16px;border-bottom:1px solid#f0f0f0;transition:all.3s ease;border-radius:8px;margin-bottom:8px}.notification-list .ant-list-item:hover{background:#fafafa;box-shadow:0 2px 8px rgba(0,0,0,.1)}.notification-list .ant-list-item:last-child{border-bottom:none}.notification-item.unread{background:#f6ffed;border-radius:8px}.notification-item.unread:hover{background:#f0f9e8;box-shadow:0 2px 8px rgba(82,196,26,.2)}.notification-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f5f5f5;border-radius:50%;font-size:16px}.notification-avatar .unread-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;background:#ff4d4f;border-radius:50%;border:2px solid#fff}.notification-title{display:flex;align-items:center;gap:8px;margin-bottom:4px}.notification-type{font-size:12px}.notification-content .notification-text{margin-bottom:8px;color:#666;line-height:1.5}.loading-more{text-align:center;padding:16px 0;border-top:1px solid#f0f0f0;margin-top:16px}.notification-meta{margin-top:8px}.notification-meta .ant-typography{font-size:12px}.notification-list .ant-list-item-action{margin-left:16px}.notification-list .ant-list-item-action .ant-btn{border:1px solid#52c41a;border-radius:4px;transition:all.3s ease}.notification-list .ant-list-item-action .ant-btn:hover{background:#52c41a;color:#fff!important}.notification-time{color:#999}.notification-sender{color:#666}.notification-read-time{color:#52c41a}.notification-empty{padding:40px 0}.notification-empty .ant-empty-description{color:#999}@media(max-width:768px){.notification-modal .ant-modal{width:95%!important;margin:10px}.notification-modal .ant-modal-body{max-height:70vh}.notification-actions{padding:12px 16px;flex-direction:column;gap:8px;align-items:flex-start}.notification-tabs{padding:0 16px}.notification-list-container{padding:0 16px 16px}.notification-item:hover{margin:0 -12px;padding:16px 12px}}.notification-list-container::-webkit-scrollbar{width:6px}.notification-list-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.notification-list-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.notification-list-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.notification-item{animation:fadeIn.3s ease-in-out}.ant-tag{border-radius:10px;font-size:11px;padding:2px 6px;line-height:1.2}.notification-list .ant-pagination{margin-top:16px;text-align:center}.notification-list .ant-pagination .ant-pagination-item{border-radius:4px}.notification-list .ant-pagination .ant-pagination-item-active{border-color:#1890ff}.ant-badge .ant-badge-count{font-size:10px;min-width:16px;height:16px;line-height:16px;padding:0 4px}.app-header{height:64px;background:#fff;border-bottom:1px solid#f0f0f0;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.header-left{display:flex;align-items:center;gap:12px}.hospital-name{margin:0;font-size:20px;font-weight:600;color:#4facfe;letter-spacing:.5px}.mobile-menu-btn{width:40px;height:40px;align-items:center;justify-content:center;margin-right:12px;display:none}@media(min-width:769px){.mobile-menu-btn{display:none!important}}@media(max-width:768px){.mobile-menu-btn:not(.hidden){display:flex!important}}.mobile-menu-btn .anticon{font-size:18px;color:#000}.disease-info{display:flex;align-items:center;gap:12px;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all.2s ease;background:rgba(255,255,255,.1)}.disease-info:hover{background-color:#f5f5f5!important;border-color:#e8e8e8!important;transform:translatey(-1px)!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important}.disease-info:active{transform:translatey(0)!important;box-shadow:0 1px 4px rgba(0,0,0,.1)!important}.ant-dropdown-open .disease-info,.ant-dropdown-trigger-open .disease-info{background:transparent!important;border-color:transparent!important;box-shadow:none!important;transform:none!important}.ant-dropdown-open .disease-info:hover,.ant-dropdown-trigger-open .disease-info:hover{background-color:#f5f5f5!important;border-color:#e8e8e8!important;transform:translatey(-1px)!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important}.disease-name{font-size:16px;color:#333;font-weight:500}.disease-switch-icon{font-size:12px;color:#999;margin-left:auto;transition:all.3s ease}.disease-info:hover .disease-switch-icon{color:#666;transform:rotate(180deg)}.header-right{display:flex;align-items:center;gap:20px}.user-info{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all.3s ease;min-width:120px;border:1px solid transparent;background:transparent!important;box-shadow:none!important;transform:none!important}.user-info:hover{background-color:#f5f5f5!important;border-color:#e8e8e8!important;transform:translatey(-1px)!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important}.user-info:active{transform:translatey(0)!important;box-shadow:0 1px 4px rgba(0,0,0,.1)!important}.ant-dropdown-open .user-info,.ant-dropdown-trigger-open .user-info{background:transparent!important;border-color:transparent!important;box-shadow:none!important;transform:none!important}.ant-dropdown-open .user-info:hover,.ant-dropdown-trigger-open .user-info:hover{background-color:#f5f5f5!important;border-color:#e8e8e8!important;transform:translatey(-1px)!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important}.user-avatar{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);border:2px solid#fff;box-shadow:0 2px 8px rgba(79,172,254,.3);color:#fff;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center}.user-name{font-size:16px;color:#333;font-weight:500}.user-dropdown-icon{font-size:12px;color:#999;margin-left:auto;transition:transform.3s ease;transform:rotate(180deg)}.user-info:hover .user-dropdown-icon{transform:rotate(0);color:#666}.notification-btn{padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid transparent;transition:all.3s ease}.notification-btn:hover{background-color:#f5f5f5;border-color:#e8e8e8;transform:translatey(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.notification-btn:active{transform:translatey(0);box-shadow:0 1px 4px rgba(0,0,0,.1)}.notification-btn .anticon{font-size:18px!important;color:#666;transition:color.3s ease}.notification-btn:hover .anticon{color:#333}.header-right .ant-badge .notification-btn .anticon,.header-right .ant-badge .notification-btn .anticon-bell{font-size:18px!important}.app-header .disease-info,.app-header .user-info{background:transparent!important;border-color:transparent!important;box-shadow:none!important;transform:none!important}.app-header .disease-info:hover,.app-header .user-info:hover{background-color:#f5f5f5!important;border-color:#e8e8e8!important;transform:translatey(-1px)!important;box-shadow:0 2px 8px rgba(0,0,0,.1)!important}.header-right .ant-badge{position:relative}.header-right .ant-badge .ant-badge-count{right:4px;top:4px;min-width:16px;height:16px;line-height:16px;font-size:10px;padding:0 4px;border-radius:8px;box-shadow:0 0 0 1px#fff}@media(max-width:768px){.app-header{padding:0 16px;height:56px}.hospital-name{font-size:18px}.header-right{gap:12px}.mobile-menu-btn:not(.hidden){display:flex!important}}@media(max-width:576px){.app-header{padding:0 12px}.mobile-menu-btn{width:36px;height:36px;margin-right:8px}.mobile-menu-btn .anticon{font-size:16px}.disease-info{padding:6px 12px;min-width:100px}.disease-name{font-size:14px}.disease-switch-icon{font-size:12px}.user-name,.user-dropdown-icon{display:none}.user-info{padding:6px 12px;min-width:auto}.notification-btn{width:36px;height:36px}.header-right .ant-badge .ant-badge-count{right:3px;top:3px;min-width:14px;height:14px;line-height:14px;font-size:9px}}.change-password-modal .ant-modal-header{border-bottom:1px solid#f0f0f0;padding:16px 24px}.change-password-modal .ant-modal-title{font-size:16px;font-weight:600;color:#333}.change-password-modal .ant-form-item-label>label{font-weight:500;color:#333}.change-password-modal .ant-input-affix-wrapper{border-radius:6px;border:1px solid#d9d9d9;transition:all.3s ease}.change-password-modal .ant-input-affix-wrapper:hover{border-color:#4facfe}.change-password-modal .ant-input-affix-wrapper-focused{border-color:#4facfe;box-shadow:0 0 0 2px rgba(79,172,254,.2)}.change-password-modal .ant-input-prefix{color:#999}.change-password-modal .ant-btn-primary{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);border:none;border-radius:6px;font-weight:500}.change-password-modal .ant-btn-primary:hover{background:linear-gradient(135deg,#3d8bfe 0%,#00d4fe 100%);transform:translatey(-1px);box-shadow:0 4px 12px rgba(79,172,254,.3)}.ai-recognize-modal-content{padding:20px 0}.ai-recognize-steps{margin:24px 0}.step-content{margin-bottom:24px}.step-title{margin-bottom:16px}.step-description{color:#666;font-size:14px;margin-top:8px}.ai-recognize-header{margin-bottom:24px}.ai-recognize-description{color:#666;font-size:14px}.ai-recognize-upload-area{border:2px dashed#d9d9d9;border-radius:8px;padding:24px;background-color:#fafafa;margin-bottom:16px;transition:border-color.3s ease}.ai-recognize-upload-area:hover{border-color:#1890ff}.ai-recognize-upload-area.drag-over{border-color:#52c41a;background-color:#f6ffed;border-style:solid;border-width:2px}.ai-recognize-uploading{display:flex;flex-direction:column;align-items:center;gap:16px}.uploading-text{color:#666;font-size:16px}.ai-recognize-uploaded{display:flex;flex-direction:column;align-items:center;gap:12px}.success-icon{width:60px;height:60px;border-radius:50%;background-color:#52c41a;color:white;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.file-name{font-size:16px;font-weight:500;color:#333}.file-info{color:#666;font-size:14px}.reupload-btn{color:#1890ff;padding:0}.ai-recognize-upload-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:40px 20px;min-height:200px}.upload-description{color:#999;font-size:12px;margin-top:4px}.upload-icon{font-size:48px;opacity:.6}.upload-text{color:#666;font-size:16px;text-align:center;line-height:1.5}.ai-recognize-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:40px 20px;min-height:200px}.select-file-btn{padding:8px 24px;height:auto;margin-top:8px}.ai-recognize-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid#f0f0f0;margin-top:24px}.next-btn,.prev-btn,.cancel-btn,.confirm-btn{padding:8px 24px;height:auto}.confirm-btn:disabled{opacity:.6;cursor:not-allowed}.ai-recognize-qrcode-area{padding:20px 0}.qrcode-card{border:1px solid#f0f0f0;border-radius:8px;background:#fafafa}.qrcode-header{text-align:center;margin-bottom:24px}.qrcode-description{color:#666;font-size:14px;margin-top:8px}.qrcode-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:250px;margin-bottom:24px;position:relative}.qrcode-display{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative}.qrcode-loading{display:flex;flex-direction:column;align-items:center;gap:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.qrcode-image{width:200px;height:200px;border:1px solid#d9d9d9;border-radius:8px;background:white;box-shadow:0 2px 8px rgba(0,0,0,.1)}.qrcode-canvas{border:1px solid#d9d9d9;border-radius:8px;background:white;box-shadow:0 2px 8px rgba(0,0,0,.1)}.qrcode-info{text-align:center}.qrcode-loading{display:flex;flex-direction:column;align-items:center;gap:16px}.loading-text{color:#666;font-size:14px}.uploaded-images-list{margin-top:20px;border:1px solid#e8e8e8;border-radius:6px;background:white}.list-header{padding:12px 16px;background:#f5f5f5;border-bottom:1px solid#e8e8e8;font-weight:500;color:#333}.uploaded-image-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid#f0f0f0}.image-actions{display:flex;gap:4px}.uploaded-image-item:last-child{border-bottom:none}.image-info{flex:1}.file-name{font-weight:500;color:#333;margin-bottom:4px}.file-details{font-size:12px;color:#666}.uploaded-medical-item{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid#f0f0f0}.medical-image-actions{display:flex;gap:4px;margin-top:8px}.uploaded-medical-item:last-child{border-bottom:none}.medical-image-info{flex:1}.medical-fields{margin-top:12px;display:flex;flex-direction:column;gap:8px}.field-row{display:flex;align-items:center;gap:8px}.field-label{min-width:70px;font-size:12px;color:#666}.ai-recognize-tabs{margin-top:16px}.ai-recognize-tabs .ant-tabs-tab{padding:12px 20px;font-weight:500}.ai-recognize-tabs .ant-tabs-content-holder{padding-top:16px}.pc-upload-content{min-height:400px}.miniprogram-upload-content{min-height:400px;display:flex;justify-content:center;align-items:flex-start;padding-top:20px}.qr-code-card{width:100%;max-width:500px;text-align:center;box-shadow:0 4px 12px rgba(0,0,0,.1);border-radius:12px}.qr-code-section{padding:20px}.qr-code-header{display:flex;align-items:center;justify-content:center;margin-bottom:16px}.qr-code-description{color:#666;font-size:14px;margin-bottom:24px;line-height:1.6}.qr-code-container{display:flex;justify-content:center;align-items:center;margin:24px 0;min-height:200px}.qr-code-canvas{border:1px solid#e8e8e8;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.qr-code-loading{display:flex;flex-direction:column;align-items:center;color:#666}.qr-code-tips{background-color:#f6f8fa;border-radius:8px;padding:16px;margin-top:20px;text-align:left}.qr-code-tips .ant-typography{margin:0;line-height:1.8}.ai-recognize-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid#f0f0f0}.close-btn{min-width:80px}@media(max-width:768px){.ai-recognize-modal-content{padding:16px 0}.ai-recognize-upload-area{padding:16px}.uploaded-image-item{flex-direction:column;align-items:flex-start}.image-info{margin-left:0;margin-top:8px}.medical-fields{grid-template-columns:1fr}.qr-code-card{margin:0 16px}.qr-code-section{padding:16px}.ai-recognize-tabs .ant-tabs-tab{padding:8px 12px;font-size:14px}.params-list{grid-template-columns:1fr}.qrcode-image{width:160px;height:160px}.field-row{flex-direction:column;align-items:flex-start;gap:4px}.field-label{min-width:auto}}.sidebar{width:180px;height:100vh;background:#fff;display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;border-right:1px solid#f0f0f0;box-shadow:0 1px 3px rgba(0,0,0,5%);overflow:hidden;border-radius:0 0 12px 0;transition:all.2s ease}.sidebar-header{height:64px;display:flex;align-items:center;justify-content:center;padding:0 16px;border-bottom:1px solid#f0f0f0;flex-shrink:0;background:#fff}.logo{display:flex;align-items:center;gap:8px;color:#4facfe;font-size:16px;transition:color.2s ease}.logo-icon{font-size:20px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;transition:all.2s ease}.logo-text{white-space:nowrap;font-weight:600;letter-spacing:.5px}.sidebar-menu{flex:1;overflow-y:auto;padding:8px 4px;display:flex;flex-direction:column;align-items:stretch;background:#fff}.sidebar-menu::-webkit-scrollbar{width:0;background:transparent}.sidebar-menu::-webkit-scrollbar-thumb{background:transparent}.sidebar-menu::-webkit-scrollbar-thumb:hover{background:transparent}@media(max-width:1024px){.sidebar{width:160px}}@media(max-width:768px){.sidebar{width:200px;transform:translatex(-100%);transition:transform.3s ease}.sidebar.mobile-open{transform:translatex(0)}}@media(max-width:576px){.sidebar{width:240px}.sidebar-header{padding:0 12px}}.main-layout{display:flex;flex-direction:column;min-height:100vh;background-color:#f5f5f5}.layout-container{display:flex;flex:1;margin-top:48px}.main-content{flex:1;display:flex;flex-direction:column;background:#f5f5f5}.main-content.with-sidebar{margin-left:180px}.main-content.without-sidebar{margin-left:0}.page-content{flex:1;background:#f5f5f5;padding:0;margin:0}.main-layout .app-header{height:64px;background:#fff;border-bottom:1px solid#f0f0f0;padding:0 24px;display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:1000}.main-layout.with-sidebar .app-header{margin-left:180px}@media(max-width:1024px){.main-content.with-sidebar,.main-layout.with-sidebar .app-header{margin-left:160px}}@media(max-width:768px){.main-content.with-sidebar,.main-layout.with-sidebar .app-header{margin-left:0}}.root-layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%}.home-page{min-height:calc(100vh - 64px);background:#f5f5f5;padding:24px}.stats-overview{margin-bottom:24px}.home-container{max-width:1400px;margin:0 auto}.top-section{margin-bottom:24px}.department-info-card{border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,8%);border:none;height:100%}.department-info-card .ant-card-body{padding:28px}.department-title{color:#1a1a1a!important;margin-bottom:16px!important;font-weight:600!important;font-size:24px!important;line-height:1.2}.department-meta{display:flex;flex-direction:column;gap:12px;color:#666;font-size:14px;margin-top:0;line-height:1.6}.department-meta>div{display:flex;align-items:flex-start;gap:8px;min-width:0;text-align:left}.department-meta>div strong{color:#333;font-weight:500;white-space:nowrap;min-width:80px;flex-shrink:0;text-align:left}.department-meta>div span{color:#666;word-break:break-word;flex:1;text-align:left}.stat-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none;transition:all.3s ease;text-align:center;height:100%}.stat-card:hover{transform:translatey(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1)}.stat-card .ant-card-body{padding:20px}.stat-card .ant-statistic-title{font-size:14px;color:#64748b;margin-bottom:8px}.stat-card .ant-statistic-content{margin-bottom:12px}.stat-link{color:#4facfe!important;padding:0!important;font-size:12px}.stat-link:hover{color:#2196f3!important}.charts-row{margin-bottom:24px}.chart-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none}.chart-card .ant-card-head{border-bottom:1px solid#f0f0f0}.chart-card .ant-card-head-title{font-weight:600;color:#2c3e50;font-size:16px}.chart-container{height:300px;padding:16px 0;width:100%}@media(max-width:992px){.top-section .ant-col:first-child{margin-bottom:24px}}@media(max-width:768px){.home-page,.department-info-card .ant-card-body{padding:16px}.department-meta{flex-direction:column;gap:8px}.department-meta>div{flex-direction:column;align-items:flex-start;gap:4px}.department-meta>div strong{min-width:auto}.top-section,.charts-row{margin-bottom:16px}.chart-container{height:250px;padding:8px 0}.stat-card .ant-card-body{padding:16px}.stat-card .ant-statistic-content-value,.department-title{font-size:20px!important}}.not-found-page{min-height:calc(100vh - 64px);background:#f5f5f5;display:flex;align-items:center;justify-content:center;padding:24px}.not-found-container{text-align:center;max-width:500px;padding:24px;background:white;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%)}.error-code{font-size:8rem;font-weight:700;color:#61dafb;margin-bottom:1rem;line-height:1}.not-found-container h1{color:#282c34;font-size:2rem;margin-bottom:1rem}.not-found-container p{color:#666;font-size:1.1rem;margin-bottom:2rem;line-height:1.6}.not-found-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.back-home-btn,.about-link{display:inline-block;padding:.75rem 1.5rem;text-decoration:none;border-radius:6px;font-weight:500;transition:all.3s ease}.back-home-btn{background-color:#61dafb;color:#282c34}.back-home-btn:hover{background-color:#21a0c4;transform:translatey(-2px)}.about-link{background-color:transparent;color:#61dafb;border:2px solid#61dafb}.about-link:hover{background-color:#61dafb;color:#282c34}@media(max-width:480px){.error-code{font-size:6rem}.not-found-container h1{font-size:1.5rem}.not-found-actions{flex-direction:column}.not-found-page{padding:1rem}}.login-page{min-height:100vh;background:#a8edea;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden}.login-background{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.bg-decoration{position:absolute;font-size:120px;color:rgba(255,255,255,.3);animation:float 6s ease-in-out infinite}.bg-decoration-1{top:10%;left:10%;animation-delay:0s;color:rgba(255,255,255,.25)}.bg-decoration-2{bottom:8%;right:15%;animation-delay:3s;color:rgba(255,255,255,.2)}.medical-grid{position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.1)1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1)1px,transparent 1px);background-size:50px 50px}@keyframes float{0%,to{transform:translatey(0)rotate(0)}50%{transform:translatey(-20px)rotate(5deg)}}.login-container{display:flex;max-width:1200px;width:90%;background:#fff;border-radius:20px;box-shadow:0 25px 50px rgba(0,0,0,.15);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;z-index:1;transition:all.3s cubic-bezier(.4,0,.2,1)}.login-left{flex:1;padding:60px 40px;background:linear-gradient(135deg,#6bb6ff 0%,#7a8cff 100%);color:white;display:flex;flex-direction:column;justify-content:center}.brand-section{margin-bottom:60px}.brand-icon{font-size:48px;margin-bottom:20px;color:rgba(255,255,255,.95);display:inline-block;padding:16px;background:rgba(255,255,255,.95);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all.3s ease}.brand-icon:hover{transform:translatey(-2px);box-shadow:0 12px 32px rgba(0,0,0,.2)}.brand-title{color:white!important;margin-bottom:16px!important;font-weight:400;text-shadow:0 2px 8px rgba(0,0,0,.3);font-size:28px!important;line-height:1.3!important}.brand-subtitle{color:rgba(255,255,255,.95)!important;font-size:16px;line-height:1.7;text-shadow:0 1px 4px rgba(0,0,0,.2)}.features-section{display:flex;flex-direction:column;gap:30px}.feature-item{display:flex;align-items:flex-start;gap:20px}.feature-icon{width:50px;height:50px;min-width:50px;background:rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;transition:all.3s ease;margin-top:2px}.feature-icon:hover{background:rgba(255,255,255,.3);transform:translatey(-2px)}.feature-content{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;flex:1}.feature-content h5{color:white!important;margin-bottom:6px!important;font-weight:500!important;font-size:16px!important;text-shadow:0 1px 4px rgba(0,0,0,.2);line-height:1.4!important;margin-left:0!important;margin-right:0!important}.feature-content .ant-typography{color:rgba(255,255,255,.9)!important;font-size:14px!important;line-height:1.6!important;text-shadow:0 1px 2px rgba(0,0,0,.1)}.login-right{flex:1;padding:60px 40px;display:flex;flex-direction:column;justify-content:center;background:white}.login-form-container{max-width:400px;margin:0 auto;width:100%;transition:all.3s cubic-bezier(.4,0,.2,1)}.form-header{text-align:center;margin-bottom:40px}.form-header h3{margin-bottom:8px!important;color:#5a6c7d}.form-header .ant-typography{color:#8b9aa8!important}.login-form{animation:slideInUp.4s cubic-bezier(.4,0,.2,1)}.login-options{display:flex;justify-content:flex-end;margin-bottom:16px}.forgot-password{color:#4facfe;font-size:14px}.forgot-password:hover{color:#00f2fe}.login-form .ant-btn-primary{background:#4facfe!important;border:1px solid#4facfe!important;color:white!important;height:44px;font-size:16px;font-weight:500;border-radius:8px;transition:all.3s ease}.login-form .ant-btn-primary:hover:not(:disabled){background:#1890ff!important;border-color:#1890ff!important;color:white!important;transform:translatey(-1px);box-shadow:0 4px 12px rgba(79,172,254,.3)}.login-form .ant-btn-primary:disabled{background:#d9d9d9!important;border-color:#d9d9d9!important;color:rgba(0,0,0,.25)!important;cursor:not-allowed;transform:none;box-shadow:none}.login-form .ant-btn-primary:disabled:hover{background:#d9d9d9!important;border-color:#d9d9d9!important;color:rgba(0,0,0,.25)!important;transform:none;box-shadow:none}.ant-checkbox-checked .ant-checkbox-inner{background-color:#4facfe;border-color:#4facfe}.ant-checkbox:hover .ant-checkbox-inner{border-color:#4facfe}.ant-input-prefix .anticon,.ant-input-password-prefix .anticon{color:#b8c5d1}.ant-input:focus,.ant-input-password:focus,.ant-input:focus-within{border-color:#4facfe;box-shadow:0 0 0 2px rgba(79,172,254,.2)}.login-footer{position:absolute;bottom:20px;display:flex;align-items:center;color:rgba(255,255,255,.8);font-size:12px;z-index:1}.login-footer .ant-typography{color:rgba(255,255,255,.8)!important}.login-footer a{color:rgba(255,255,255,.9)!important}.login-footer a:hover{color:white!important}@media(max-width:768px){.login-container{flex-direction:column;width:95%;margin:20px 0}.login-left{padding:40px 30px;text-align:center}.login-right{padding:40px 30px}.features-section{flex-direction:row;justify-content:space-around;gap:20px}.feature-item{flex-direction:column;text-align:center;gap:10px}.brand-title{font-size:20px!important}.login-footer{position:relative;bottom:auto;margin-top:20px;flex-direction:column;gap:10px}}@keyframes slideInUp{0%{opacity:0;transform:translatey(20px)}to{opacity:1;transform:translatey(0)}}.department-page{min-height:calc(100vh - 64px);background:#f5f5f5;display:flex;flex-direction:column;padding:24px}.department-container{flex:1;max-width:1400px;width:100%;margin:0 auto;background:white;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);overflow:hidden}.department-header{display:flex;justify-content:space-between;align-items:flex-start;padding:32px 40px;border-bottom:1px solid#f0f0f0}.header-title h2{margin-bottom:8px!important;color:#2c3e50!important;font-weight:500}.header-title .ant-typography{color:#64748b!important;font-size:16px;line-height:1.7}.header-actions{display:flex;align-items:center}.department-content{padding:40px;background:white}.empty-state{display:flex;justify-content:center;align-items:center;min-height:400px;background:#f8fafc;border-radius:12px;border:2px dashed#d1d5db}.empty-content{text-align:center;max-width:300px}.empty-content h3{margin:16px 0 8px!important}@media(max-width:768px){.department-page{padding:16px}.department-container{margin:0}.department-header{flex-direction:column;gap:20px;align-items:stretch;padding:24px 20px}.header-actions{width:100%}.header-actions .ant-space{flex-direction:column;width:100%}.header-actions .ant-input-search{width:100%!important}.department-content{padding:20px}}@media(min-width:1200px){.department-content .ant-row{display:flex;flex-wrap:wrap;align-items:flex-start}.department-content .ant-col{display:flex;margin-bottom:24px}}.ant-input-search-large{border-radius:8px;overflow:hidden;display:flex;align-items:center}.ant-input-search-large .ant-input-affix-wrapper{border-radius:8px 0 0 8px!important;border-right:none!important;height:40px!important;display:flex!important;align-items:center!important}.ant-input-search-large .ant-input{height:40px!important;font-size:14px!important;line-height:40px!important;padding:0 11px!important;border:none!important}.ant-input-search-large .ant-input-prefix{margin-right:8px!important;display:flex!important;align-items:center!important}.ant-input-search-large .ant-input:focus{border-color:#4facfe!important;box-shadow:0 0 0 2px rgba(79,172,254,.2)!important}.ant-input-search-large .ant-btn{border-radius:0 8px 8px 0!important;background:#f0f9ff!important;border:1px solid#4facfe!important;color:#4facfe!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important}.ant-input-search-large .ant-btn:hover{background:#e6f7ff!important;border-color:#1890ff!important;color:#1890ff!important}.ant-modal-content{border-radius:12px}.ant-modal-header{border-radius:12px 12px 0 0}.ant-btn-primary{border-radius:8px;font-weight:500;transition:all.3s cubic-bezier(.4,0,.2,1);background:#f0f9ff!important;border:1px solid#4facfe!important;color:#4facfe!important}.ant-btn-primary:hover{background:#e6f7ff!important;border-color:#1890ff!important;color:#1890ff!important;transform:translatey(-1px);box-shadow:0 2px 8px rgba(79,172,254,.2)}.ant-input:focus,.ant-input-password:focus,.ant-input:focus-within{border-color:#4facfe;box-shadow:0 0 0 2px rgba(79,172,254,.2)}.ant-picker:focus,.ant-picker:focus-within{border-color:#4facfe;box-shadow:0 0 0 2px rgba(79,172,254,.2)}.patients-page{min-height:calc(100vh - 64px);background:#f5f5f5;padding:24px}.patients-container{max-width:1400px;margin:0 auto}.page-header{margin-bottom:24px}.page-title{color:#2c3e50!important;margin-bottom:0!important;font-weight:600!important}.stats-row{margin-bottom:24px}.stat-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none;transition:all.3s ease;text-align:center}.stat-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translatey(-2px)}.table-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:16px}.table-title h4{margin:0;color:#2c3e50;font-weight:600}.table-actions{display:flex;align-items:center;gap:8px}.patients-page .ant-table-thead>tr>th{background:#fafafa;border-bottom:1px solid#f0f0f0;font-weight:600;color:#2c3e50;position:relative}.patients-page .ant-table-thead>tr>th:hover{background:#f0f0f0}.patients-page .ant-table-thead>tr>th:hover:after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:2px;background:#1890ff;opacity:.6;pointer-events:none}.patients-page .ant-table-tbody>tr:hover>td{background:#f8f9ff}.patients-page .ant-table-tbody>tr>td{border-bottom:1px solid#f5f5f5}.patients-page .ant-table-thead>tr>th .resize-handle{position:absolute;right:-5px;top:0;bottom:0;width:10px;cursor:col-resize;z-index:1}.patients-page .ant-table-thead>tr>th .resize-handle:hover{background:rgba(24,144,255,.1)}.patients-page .ant-table-cell-fix-right{background:#fafafa!important;box-shadow:-2px 0 8px rgba(0,0,0,6%)}.patients-page .ant-table-thead>tr>th.ant-table-cell-fix-right{background:#f5f5f5!important;box-shadow:-2px 0 8px rgba(0,0,0,.1)}.patients-page .ant-table-tbody>tr:hover>td.ant-table-cell-fix-right{background:#f0f7ff!important}@media(max-width:1200px){.patients-page{padding:16px}.table-actions{flex-wrap:wrap}}@media(max-width:768px){.patients-page{padding:12px}.table-header{flex-direction:column;align-items:stretch}.table-actions{justify-content:center}.stats-row .ant-col{margin-bottom:16px}}.patients-page .ant-modal-header{border-bottom:1px solid#f0f0f0;padding:16px 24px}.patients-page .ant-modal-title{color:#2c3e50;font-weight:600;font-size:16px}.patients-page .ant-drawer-header{border-bottom:1px solid#f0f0f0}.patients-page .ant-drawer-title{color:#2c3e50;font-weight:600}.patients-page .ant-form-item-label>label{color:#2c3e50;font-weight:500}.patients-page .ant-input,.patients-page .ant-select-selector,.patients-page .ant-picker{border-radius:6px;border-color:#d9d9d9}.patients-page .ant-input:hover,.patients-page .ant-select-selector:hover,.patients-page .ant-picker:hover{border-color:#4facfe}.patients-page .ant-input:focus,.patients-page .ant-select-focused .ant-select-selector,.patients-page .ant-picker-focused{border-color:#4facfe;box-shadow:0 0 0 2px rgba(79,172,254,.2)}.patients-page .ant-statistic-title{color:#666;font-size:14px;margin-bottom:8px}.patients-page .ant-tag{border-radius:12px;padding:2px 8px;font-size:12px;border:none}.patients-page .ant-drawer-body{padding:24px}.patients-page .ant-drawer-body .ant-form-item{margin-bottom:20px}.patients-page .ant-modal-body ul{margin:0;padding-left:20px}.patients-page .ant-modal-body ul li{margin-bottom:4px;color:#666}.followup-page{min-height:calc(100vh - 64px);background:#f5f5f5;padding:0}.followup-container{max-width:100%;margin:0;padding:24px;min-height:calc(100vh - 64px)}.page-header{margin-bottom:24px}.page-title{color:#2c3e50!important;margin-bottom:0!important;font-weight:600!important}.stats-row{margin-bottom:24px}.stat-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none;transition:all.3s ease;text-align:center}.stat-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translatey(-2px)}.stat-card .ant-statistic-title{color:#666;font-size:14px;margin-bottom:8px;font-weight:500}.filter-card{margin-bottom:24px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none}.filter-card .ant-card-body{padding:20px 24px}.filter-label{color:#333;font-size:14px;font-weight:500;white-space:nowrap;margin-right:8px}.filter-card .ant-input,.filter-card .ant-select-selector,.filter-card .ant-picker{border-radius:6px;border-color:#d9d9d9}.filter-card .ant-input:hover,.filter-card .ant-select-selector:hover,.filter-card .ant-picker:hover{border-color:#00b8a8}.filter-card .ant-input:focus,.filter-card .ant-select-focused .ant-select-selector,.filter-card .ant-picker-focused{border-color:#00b8a8;box-shadow:0 0 0 2px rgba(0,184,168,.2)}.filter-card .ant-btn{border-radius:6px;font-weight:500;min-width:80px}.filter-card .ant-btn:not(.ant-btn-primary):hover{border-color:#00b8a8;color:#00b8a8}.table-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:16px}.table-title h4{margin:0;color:#2c3e50;font-weight:600}.table-actions{display:flex;align-items:center;gap:8px}.followup-page .ant-table-thead>tr>th{background:#fafafa;border-bottom:1px solid#f0f0f0;font-weight:600;color:#2c3e50}.followup-page .ant-table-tbody>tr:hover>td{background:#f8f9ff}.followup-page .ant-table-tbody>tr>td{border-bottom:1px solid#f5f5f5}.table-card .ant-card-body{padding:24px}.empty-container{display:flex;justify-content:center;align-items:center;min-height:300px}.empty-container .ant-empty-description{color:#999;font-size:14px}.followup-page .ant-table-thead>tr>th{background:#fafafa;border-bottom:1px solid#f0f0f0;font-weight:600;color:#2c3e50;font-size:14px;padding:12px 16px}.followup-page .ant-table-tbody>tr:hover>td{background:#f8f9ff}.followup-page .ant-table-tbody>tr>td{border-bottom:1px solid#f5f5f5;padding:12px 16px}.followup-page .ant-tag{border-radius:12px;padding:2px 8px;font-size:12px;border:none;font-weight:500;margin:0}.followup-page .ant-pagination{margin-top:24px;text-align:center}.resize-handle{position:absolute;right:-5px;top:0;bottom:0;width:10px;cursor:col-resize;z-index:1}.resize-handle:hover{background-color:#1890ff;opacity:.3}.followup-page .ant-table-fixed-right{box-shadow:-2px 0 8px rgba(0,0,0,.15)}.followup-page .ant-btn-link{padding:4px 8px;height:auto;border-radius:4px;transition:all.3s ease}.followup-page .ant-btn-link:hover{background:rgba(24,144,255,.1);border-radius:4px;transform:translatey(-1px)}.followup-page .ant-btn-link.ant-btn-dangerous:hover{background:rgba(245,34,45,.1)}.followup-page .ant-btn-primary{background:#f0f9ff!important;border:1px solid#4facfe!important;color:#4facfe!important;border-radius:6px!important;box-shadow:none!important;transition:all.3s ease!important}.followup-page .ant-btn-primary:hover{background:#e6f7ff!important;border-color:#1890ff!important;color:#1890ff!important;transform:translatey(-1px)!important;box-shadow:0 2px 8px rgba(79,172,254,.2)!important}.followup-page .ant-btn:not(.ant-btn-primary){border-radius:6px;border-color:#d9d9d9;transition:all.3s ease}.followup-page .ant-btn:not(.ant-btn-primary):hover{border-color:#4facfe;color:#4facfe}.followup-page .ant-form-item-label>label{color:#2c3e50;font-weight:500}.followup-page .ant-input,.followup-page .ant-select-selector,.followup-page .ant-picker{border-radius:6px;border-color:#d9d9d9}.followup-page .ant-input:hover,.followup-page .ant-select-selector:hover,.followup-page .ant-picker:hover{border-color:#4facfe}.followup-page .ant-input:focus,.followup-page .ant-select-focused .ant-select-selector,.followup-page .ant-picker-focused{border-color:#4facfe;box-shadow:0 0 0 2px rgba(79,172,254,.2)}.followup-page .ant-tag{border-radius:12px;padding:2px 8px;font-size:12px;border:none}@media(max-width:1400px){.followup-container{padding:16px}}@media(max-width:1200px){.followup-container{padding:16px}.filter-card .ant-row{flex-wrap:wrap}.filter-card .ant-col{margin-bottom:12px}}@media(max-width:768px){.followup-container{padding:12px}.stats-row .ant-col{margin-bottom:16px}.filter-card .ant-row{flex-direction:column}.filter-card .ant-col{width:100%}.filter-card .ant-space{width:100%;justify-content:space-between}.filter-card .ant-picker,.filter-card .ant-select,.filter-card .ant-input{width:100%}.empty-container{min-height:200px}}@media(max-width:480px){.followup-container{padding:8px}.filter-card .ant-card-body,.table-card .ant-card-body{padding:16px}.stats-row,.filter-card{margin-bottom:16px}}.followup-page::-webkit-scrollbar{width:6px}.followup-page::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.followup-page::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.followup-page::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.followup-detail-page{height:100vh;background:#f5f5f5}.followup-detail-page .ant-form-item-label>label{color:#333;font-weight:500;font-size:15px}.followup-detail-page .ant-input,.followup-detail-page .ant-select-selector,.followup-detail-page .ant-picker{border-radius:6px;border-color:#d9d9d9;font-size:15px}.followup-detail-page .ant-input:focus,.followup-detail-page .ant-select-focused .ant-select-selector,.followup-detail-page .ant-picker-focused{border-color:#00b8a8;box-shadow:0 0 0 2px rgba(0,184,168,.2)}.followup-detail-page .ant-btn{border-radius:6px;font-size:15px;font-weight:500}.followup-detail-page .ant-typography{font-size:15px}.top-patient-info{height:60px;background:#fff;border-bottom:1px solid#e8e8e8;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.patient-info-left{display:flex;align-items:center;gap:12px}.patient-basic-info,.patient-info-right{display:flex;align-items:center}.left-panel{background:#fff;border-right:1px solid#e8e8e8;height:100%;overflow-y:auto;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,6%)}.disease-info-section{padding:20px;border-bottom:1px solid#f0f0f0}.section-title{margin-bottom:12px;font-size:16px;font-weight:600;color:#2c3e50}.disease-details{display:flex;flex-direction:column;gap:6px}.detail-item{font-size:15px;display:flex;align-items:center}.detail-item .ant-typography{font-size:15px}.followup-records-section{padding:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.records-list{display:flex;flex-direction:column;gap:4px}.record-item{padding:8px 12px;border-radius:4px;cursor:pointer;transition:all.2s ease;border:1px solid transparent}.record-item:hover{background:#f0f9ff}.record-item.active{background:#e6f7ff;border-color:#1890ff}.record-date{font-size:15px;color:#1890ff;font-weight:500}.record-type{font-size:15px;margin:2px 0}.record-status{margin-top:4px}.center-panel{background:#fff;border-right:1px solid#e8e8e8;height:100%;display:flex;flex-direction:column;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,6%);overflow:hidden}.form-scroll-container{background:#fafafa;border-radius:8px;margin:8px}.form-scroll-container .ant-card{margin-bottom:16px;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,8%)}.form-scroll-container .ant-card:last-child{margin-bottom:0}.content-header{padding:20px 24px;border-bottom:1px solid#f0f0f0;display:flex;justify-content:space-between;align-items:center;background:white;box-shadow:0 2px 8px rgba(0,0,0,6%)}.header-info,.action-buttons{display:flex;align-items:center}.form-content{flex:1;padding:24px;overflow-y:auto;background:white}.form-section{margin-bottom:24px}.form-section>.ant-typography{display:block;margin-bottom:16px;font-weight:600;font-size:16px;color:#2c3e50}.form-row{display:flex;flex-wrap:wrap;gap:16px}.form-item{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px}.form-item.full-width{flex:1 1 100%}.form-item .ant-typography{font-size:15px;color:#333;font-weight:500}.form-item .ant-input{font-size:15px}.form-footer{padding:24px;border-top:1px solid#f0f0f0;text-align:center;background:white}.right-panel{background:#fff;height:100%;display:flex;flex-direction:column;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,6%);overflow:hidden}.outline-header{padding:20px 24px;border-bottom:1px solid#f0f0f0;background:white;box-shadow:0 2px 8px rgba(0,0,0,6%)}.outline-header .ant-typography{font-size:16px;font-weight:600;color:#2c3e50;margin:0}.tree-content{flex:1;padding:16px;overflow-y:auto;background:white}.followup-tree{font-size:15px}.followup-tree .ant-tree-node-content-wrapper{font-size:15px;padding:4px 8px}.followup-tree .ant-tree-title{font-size:15px}.followup-tree .ant-tree-switcher{width:16px;height:16px;line-height:16px}.followup-tree .ant-tree-indent-unit{width:16px}.left-panel::-webkit-scrollbar,.form-content::-webkit-scrollbar,.tree-content::-webkit-scrollbar,.form-scroll-container::-webkit-scrollbar{width:6px}.left-panel::-webkit-scrollbar-track,.form-content::-webkit-scrollbar-track,.tree-content::-webkit-scrollbar-track,.form-scroll-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.left-panel::-webkit-scrollbar-thumb,.form-content::-webkit-scrollbar-thumb,.tree-content::-webkit-scrollbar-thumb,.form-scroll-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.left-panel::-webkit-scrollbar-thumb:hover,.form-content::-webkit-scrollbar-thumb:hover,.tree-content::-webkit-scrollbar-thumb:hover,.form-scroll-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media(max-width:1200px){.form-item{min-width:150px}.patient-basic-info{flex-direction:column;align-items:flex-start}}@media(max-width:768px){.top-patient-info{height:auto;min-height:60px;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 16px}.patient-info-left{width:100%}.patient-info-right{width:100%;justify-content:flex-start}.followup-detail-page .ant-col-6,.followup-detail-page .ant-col-12{flex:0 0 100%;max-width:100%;height:auto}.left-panel,.center-panel,.right-panel{height:auto;min-height:50vh}.form-row{flex-direction:column}.form-item{min-width:auto}}.list-field{border:1px solid#e8e8e8;border-radius:8px;background:white;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,6%)}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid#e8e8e8}.list-header span{font-weight:600;color:#2c3e50;font-size:16px}.required-star{color:#ff4d4f;margin-left:4px}.list-items{display:flex;flex-direction:column;gap:12px}.list-item{background:white;border:1px solid#e8e8e8;border-radius:6px;padding:16px;transition:all.2s ease}.list-item:hover{border-color:#00b8a8;box-shadow:0 2px 8px rgba(0,184,168,.1)}.list-item-content{display:flex;align-items:flex-start;gap:12px}.list-item-index{color:#666;font-weight:500;min-width:20px;margin-top:8px}.list-item-fields{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.list-item-field{display:flex;flex-direction:column}.list-item-field label{font-size:15px;color:#333;margin-bottom:4px;font-weight:500}.list-item-placeholder{text-align:center;color:#999;padding:24px;font-style:italic}.survey-field{border:1px solid#e8e8e8;border-radius:8px;background:white;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,6%)}.survey-title{font-weight:600;color:#2c3e50;font-size:18px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid#e8e8e8}.survey-question-item{background:white;border:1px solid#e8e8e8;border-radius:6px;padding:16px;margin-bottom:12px;transition:all.2s ease}.survey-question-item:hover{border-color:#00b8a8;box-shadow:0 2px 8px rgba(0,184,168,.1)}.survey-question-text{font-weight:500;color:#2c3e50;margin-bottom:8px;font-size:16px}.survey-question-desc{color:#666;font-size:14px;margin-bottom:12px;font-style:italic}.survey-answer{margin-top:8px}.survey-answer .ant-radio-group,.survey-answer .ant-checkbox-group{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}.survey-answer .ant-radio-wrapper,.survey-answer .ant-checkbox-wrapper{margin-right:0;padding:8px 12px;border:1px solid#e8e8e8;border-radius:4px;transition:all.2s ease}.survey-answer .ant-radio-wrapper:hover,.survey-answer .ant-checkbox-wrapper:hover{border-color:#00b8a8;background:#f0f9ff}.survey-answer .ant-radio-wrapper-checked,.survey-answer .ant-checkbox-wrapper-checked{border-color:#00b8a8;background:#e6f7ff}.survey-empty{text-align:center;color:#999;padding:24px;font-style:italic}.followup-detail-page .patient-info-left{display:flex;align-items:center;gap:12px}.followup-detail-page .patient-basic-info{display:flex;align-items:center}.followup-detail-page .patient-basic-info .ant-typography{font-size:18px;font-weight:600;color:#2c3e50;margin:0}@media(max-width:576px){.patient-basic-info{flex-direction:column;align-items:flex-start;gap:4px}.detail-item{flex-direction:column;align-items:flex-start}.list-item-fields{grid-template-columns:1fr}.survey-answer .ant-radio-group,.survey-answer .ant-checkbox-group{flex-direction:row;flex-wrap:wrap;gap:8px}}.search-results-page{min-height:calc(100vh - 64px);background:#f5f5f5;padding:0}.results-container{max-width:100%;margin:0;padding:24px;min-height:calc(100vh - 64px)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%)}.header-left{display:flex;align-items:center}.header-left .ant-btn{display:flex;align-items:center;color:#666;transition:all.3s ease}.header-left .ant-btn:hover{color:#4facfe;background:rgba(79,172,254,.1)}.header-actions .ant-btn{border-radius:6px;font-weight:500}.header-actions .ant-btn-primary{background:#f0f9ff!important;border:1px solid#4facfe!important;color:#4facfe!important;box-shadow:none!important}.header-actions .ant-btn-primary:hover{background:#e6f7ff!important;border-color:#1890ff!important;color:#1890ff!important;transform:translatey(-1px)!important;box-shadow:0 2px 8px rgba(79,172,254,.2)!important}.statistics-card{margin-bottom:24px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none}.statistics-card .ant-card-head-title{color:#2c3e50;font-weight:600;font-size:16px}.statistics-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fafafa;border-radius:8px;margin-bottom:12px;transition:all.3s ease}.statistics-item:hover{background:#f0fffe;border-left:4px solid#00b8a8}.statistics-label{display:flex;align-items:center;gap:8px}.statistics-count{font-size:12px;color:#999}.statistics-dates{display:flex;align-items:center}.statistics-dates .ant-input{border-radius:4px;border-color:#d9d9d9;font-size:12px}.statistics-dates .ant-input:focus{border-color:#00b8a8;box-shadow:0 0 0 2px rgba(0,184,168,.2)}.statistics-actions .ant-btn{border-radius:6px;font-weight:500;min-width:80px}.conditions-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none}.conditions-card .ant-card-head-title{color:#2c3e50;font-weight:600;font-size:16px}.conditions-list{display:flex;flex-direction:column;gap:16px}.condition-card{background:linear-gradient(135deg,#00b8a8 0%,#00a596 100%);border:none;border-radius:12px;color:white;box-shadow:0 4px 12px rgba(0,184,168,.3)}.condition-card .ant-card-body{padding:20px}.condition-title{color:white!important;margin-bottom:8px!important;font-size:16px!important;font-weight:600!important}.condition-description{color:rgba(255,255,255,.8)!important;font-size:14px;display:block;margin-bottom:12px}.condition-items{display:flex;flex-direction:column;gap:8px}.condition-item{color:rgba(255,255,255,.9);font-size:14px;padding:4px 0;border-left:3px solid rgba(255,255,255,.3);padding-left:12px}.chart-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none;height:-moz-fit-content;height:fit-content}.chart-card .ant-card-head-title{color:#2c3e50;font-weight:600;font-size:16px}.results-table-card{margin-top:24px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none}.results-table-card .ant-card-head-title{color:#2c3e50;font-weight:600;font-size:16px}.results-table-card .ant-card-extra{color:#666;font-size:14px}.search-results-page .ant-table-thead>tr>th{background:#fafafa;border-bottom:1px solid#f0f0f0;font-weight:600;color:#2c3e50;font-size:14px}.search-results-page .ant-table-tbody>tr:hover>td{background:#f8f9ff}.search-results-page .ant-table-tbody>tr>td{border-bottom:1px solid#f5f5f5;padding:12px 16px}.search-results-page .ant-tag{border-radius:12px;padding:2px 8px;font-size:12px;border:none;font-weight:500}.search-results-page .ant-btn-link{padding:4px 8px;height:auto;font-size:13px}.search-results-page .ant-btn-link:hover{background:rgba(24,144,255,.1);border-radius:4px}.search-results-page .ant-pagination{margin-top:24px;text-align:center}.search-results-page .ant-pagination-item-active{background:#00b8a8;border-color:#00b8a8}.search-results-page .ant-pagination-item-active a{color:white}.search-results-page .ant-empty{margin:60px 0}.search-results-page .ant-empty-description{color:#999;font-size:14px}.search-results-page .ant-spin-container{min-height:200px}#statistics-chart{display:flex;align-items:center;justify-content:center}@media(max-width:1400px){.results-container{padding:16px}}@media(max-width:1200px){.results-container{padding:16px}.page-header{flex-direction:column;gap:16px;align-items:stretch}.header-left{justify-content:center}.header-actions{align-self:center}}@media(max-width:768px){.results-container{padding:12px}.statistics-item{flex-direction:column;align-items:stretch;gap:8px}.statistics-dates{justify-content:center}.condition-items{gap:4px}.condition-item{font-size:12px}.header-actions .ant-space{justify-content:center;flex-wrap:wrap}.chart-card{margin-top:16px}#statistics-chart{height:300px!important}}.search-results-page::-webkit-scrollbar{width:6px}.search-results-page::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.search-results-page::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.search-results-page::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.medical-image-upload{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px rgba(0,0,0,6%);margin-bottom:24px}.upload-header{margin-bottom:24px;border-bottom:1px solid#f0f0f0;padding-bottom:16px}.upload-description{margin:0;color:#666;font-size:14px;line-height:1.5}.medical-image-upload .ant-form-item-label>label{color:#333;font-weight:500}.medical-image-upload .ant-upload-drag{border-radius:8px;border:2px dashed#d9d9d9;background:#fafafa;transition:all.3s ease}.medical-image-upload .ant-upload-drag:hover{border-color:#1890ff;background:#f0f8ff}.medical-image-upload .ant-upload-drag-icon{margin-bottom:16px}.medical-image-upload .ant-upload-drag-icon .anticon{font-size:48px;color:#1890ff}.medical-image-upload .ant-upload-text{margin:0 0 4px;color:#333;font-size:16px;font-weight:500}.medical-image-upload .ant-upload-hint{color:#666;font-size:14px}.medical-image-upload .ant-select,.medical-image-upload .ant-picker{border-radius:6px}.medical-image-upload .ant-btn{border-radius:6px;font-weight:500;height:40px}.medical-image-upload .ant-btn-primary{background:#1890ff;border-color:#1890ff}.medical-image-upload .ant-btn-primary:hover{background:#40a9ff;border-color:#40a9ff}@media(max-width:768px){.medical-image-upload{padding:16px;margin-bottom:16px}.upload-description{font-size:13px}.medical-image-upload .ant-form-item{margin-bottom:16px}.medical-image-upload .ant-space{width:100%}.medical-image-upload .ant-space .ant-btn{flex:1}}.patient-detail-page{min-height:calc(100vh - 64px);background:#f5f5f5;padding:0}.patient-detail-page .ant-spin-container{min-height:400px;display:flex;align-items:center;justify-content:center}.patient-detail-container{max-width:100%;margin:0;padding:0;min-height:calc(100vh - 64px);padding-top:120px}.patient-header{position:fixed;top:64px;left:180px;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;background:white;padding:20px 24px;border-bottom:1px solid#f0f0f0;box-shadow:0 2px 8px rgba(0,0,0,6%);min-height:80px}.patient-info-left{display:flex;align-items:center}.patient-basic-info{flex:1;min-width:0}.patient-info-content{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.patient-name{margin:0!important;color:#2c3e50;font-weight:600;font-size:20px!important;line-height:1.2;text-align:left}.patient-subtitle{color:#8c8c8c;font-size:15px;line-height:1.3}.patient-details{display:flex;gap:16px;margin-top:6px;flex-wrap:wrap}.patient-detail-item{color:#666;font-size:15px;background:#f8f9fa;padding:6px 12px;border-radius:6px;border:1px solid#e9ecef;line-height:1.2}.patient-info-right{display:flex;align-items:center;gap:20px}.patient-status{display:flex;gap:8px}.patient-status .ant-tag{font-size:13px;padding:6px 12px;font-weight:500;border-radius:6px;line-height:1.2}.header-actions{flex-shrink:0}.header-actions .ant-btn{border-radius:8px;font-size:15px;height:40px;padding:0 20px;font-weight:500;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all.3s ease}.content-wrapper{display:flex;gap:24px;height:calc(100vh - 200px);overflow:hidden;padding:0 16px}.main-content{flex:1;padding:0;margin:16px;overflow-y:auto;background:white;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,6%)}.form-card{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none;height:-moz-fit-content;height:fit-content;margin:16px 0;transition:all.3s ease}.form-card .ant-card-body{padding:0;margin:24px}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid#f0f0f0}.form-header .ant-typography{margin:0;color:#2c3e50;font-weight:600}.form-actions{display:flex;gap:8px}.form-actions .ant-btn{color:#00b8a8;border-color:transparent}.form-actions .ant-btn:disabled{color:#d9d9d9}.patient-detail-page .ant-form-item-label>label{color:#333;font-weight:500;font-size:14px}.form-section[id=basic-info]{min-height:60vh;padding-bottom:40px}.patient-detail-page .ant-input,.patient-detail-page .ant-select-selector,.patient-detail-page .ant-picker{border-radius:6px;border-color:#d9d9d9}.patient-detail-page .ant-input:focus,.patient-detail-page .ant-select-focused .ant-select-selector,.patient-detail-page .ant-picker-focused{border-color:#00b8a8;box-shadow:0 0 0 2px rgba(0,184,168,.2)}.patient-detail-page .ant-input:disabled,.patient-detail-page .ant-select-disabled .ant-select-selector{background:#fafafa;color:#333;border-color:#e8e8e8}.ant-divider-horizontal.ant-divider-with-text-left:before{width:5%}.patient-detail-page .ant-divider-inner-text{color:#2c3e50;font-weight:600;font-size:16px}.contact-section{margin:16px 0}.contact-table .ant-table-thead>tr>th{background:#fafafa;border-bottom:1px solid#f0f0f0;font-weight:600;color:#2c3e50;font-size:14px}.contact-table .ant-table-tbody>tr>td{border-bottom:1px solid#f5f5f5;padding:8px 16px}.contact-table .ant-input,.contact-table .ant-select-selector{border:1px solid#d9d9d9;border-radius:4px}.contact-table .ant-input:disabled,.contact-table .ant-select-disabled .ant-select-selector{background:#fafafa;border-color:#e8e8e8}.bottom-info{margin-top:24px;padding-top:16px;border-top:1px solid#f0f0f0}.form-footer{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid#f0f0f0}.form-footer .ant-btn{min-width:120px;height:40px;border-radius:6px;font-weight:500;font-size:16px}.right-navigation{width:280px;background:white;border-left:1px solid#f0f0f0;flex-shrink:0;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,6%)}.nav-card{height:100%;border-radius:8px;border:1px solid#e9ecef;box-shadow:0 2px 4px rgba(0,0,0,5%);background:#f8f9fa}.nav-card .ant-card-body{padding:24px;height:100%;background:transparent}.nav-title{color:#2c3e50!important;margin-bottom:16px!important;font-weight:600!important;font-size:16px!important}.nav-list{display:flex;flex-direction:column;gap:4px}.nav-item{padding:12px 16px;border-radius:6px;color:#666;font-size:14px;cursor:pointer;transition:all.3s cubic-bezier(.4,0,.2,1);transform:translatex(0);will-change:transform,background-color,color}.nav-item.active{background:#e6f7ff!important;color:#1890ff!important;font-weight:500!important;box-shadow:0 2px 8px rgba(24,144,255,.15)!important}.nav-item.edit{background:#f6ffed!important;color:#52c41a!important;box-shadow:0 2px 8px rgba(82,196,26,.15)!important}.patient-detail-page .ant-tag{border-radius:16px;padding:4px 12px;font-size:12px;border:none;font-weight:500;box-shadow:0 1px 3px rgba(0,0,0,.1)}.patient-status .ant-tag{font-size:13px;padding:6px 14px;font-weight:600}.patient-detail-page .ant-btn-dashed{border-color:#d9d9d9;color:#666;border-radius:6px}@media(max-width:1400px){.right-navigation{width:240px}.main-content{padding:16px}}@media(max-width:1200px){.content-wrapper{flex-direction:column;height:auto}.right-navigation{width:100%;border-left:none;border-top:1px solid#f0f0f0}.nav-card .ant-card-body{padding:16px;height:auto}.nav-list{flex-direction:row;flex-wrap:wrap;gap:8px}.nav-item{flex:0 0 auto;padding:8px 12px}}@media(max-width:768px){.patient-header{flex-direction:column;gap:12px;align-items:stretch}.patient-basic-info{flex-direction:column;gap:8px;align-items:flex-start}.patient-tags{justify-content:center}.header-actions{align-self:center}.main-content{padding:12px}.form-card .ant-card-body{padding:16px}.form-header{flex-direction:column;gap:12px;align-items:stretch}.form-actions{justify-content:center}.patient-detail-page .ant-row{margin-left:0!important;margin-right:0!important}.patient-detail-page .ant-col{padding-left:8px!important;padding-right:8px!important}}@media(max-width:480px){.patient-header{padding:12px 16px}.main-content{padding:8px}.form-card .ant-card-body{padding:12px}.patient-detail-page .ant-col{width:100%!important;padding-left:0!important;padding-right:0!important;margin-bottom:12px}.contact-table{font-size:12px}.contact-table .ant-table-tbody>tr>td{padding:4px 8px}}.main-content [id]{scroll-margin-top:20px}.main-content{scroll-behavior:smooth}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.main-content::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.main-content::-webkit-scrollbar-thumb:hover{background:#bfbfbf}.list-field{border:1px solid#e8e8e8;border-radius:8px;background:#fafafa;padding:16px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid#e8e8e8}.list-header span{font-weight:600;color:#2c3e50;font-size:14px}.required-star{color:#ff4d4f;margin-left:4px}.list-items{display:flex;flex-direction:column;gap:12px}.list-item{background:white;border:1px solid#e8e8e8;border-radius:6px;padding:16px;transition:all.2s ease}.list-item:hover{border-color:#00b8a8;box-shadow:0 2px 8px rgba(0,184,168,.1)}.list-item-content{display:flex;align-items:flex-start;gap:12px}.list-item-index{color:#666;font-weight:500;min-width:20px;margin-top:8px}.list-item-fields{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.list-item-field{display:flex;flex-direction:column}.list-item-field label{font-size:12px;color:#666;margin-bottom:4px;font-weight:500}.list-item-placeholder{text-align:center;color:#999;padding:24px;font-style:italic}.survey-field{border:1px solid#e8e8e8;border-radius:8px;background:#fafafa;padding:16px}.survey-title{font-weight:600;color:#2c3e50;font-size:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid#e8e8e8}.survey-question-item{background:white;border:1px solid#e8e8e8;border-radius:6px;padding:16px;margin-bottom:12px;transition:all.2s ease}.survey-question-item:hover{border-color:#00b8a8;box-shadow:0 2px 8px rgba(0,184,168,.1)}.survey-question-text{font-weight:500;color:#2c3e50;margin-bottom:8px;font-size:14px}.survey-question-desc{color:#666;font-size:12px;margin-bottom:12px;font-style:italic}.survey-answer{margin-top:8px}.survey-answer .ant-radio-group,.survey-answer .ant-checkbox-group{display:flex;flex-direction:column;gap:8px}.survey-answer .ant-radio-wrapper,.survey-answer .ant-checkbox-wrapper{margin-right:0;padding:8px 12px;border:1px solid#e8e8e8;border-radius:4px;transition:all.2s ease}.survey-answer .ant-radio-wrapper:hover,.survey-answer .ant-checkbox-wrapper:hover{border-color:#00b8a8;background:#f0f9ff}.survey-answer .ant-radio-wrapper-checked,.survey-answer .ant-checkbox-wrapper-checked{border-color:#00b8a8;background:#e6f7ff}.survey-empty{text-align:center;color:#999;padding:24px;font-style:italic}.medical-images-section{margin-top:24px}.medical-images-section .section-header{margin-bottom:16px}.medical-images-section .section-header .ant-typography{margin-bottom:0;color:#2c3e50;font-weight:600}.medical-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:16px}.medical-image-item{background:#fff;border:1px solid#e8e8e8;border-radius:8px;overflow:hidden;transition:all.3s ease;box-shadow:0 2px 4px rgba(0,0,0,6%)}.image-container{position:relative;width:100%;height:200px;background:#f8f9fa;display:flex;align-items:center;justify-content:center;overflow:hidden}.medical-image{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:transform.3s ease}.image-loading{display:flex;flex-direction:column;align-items:center;gap:8px;color:#999;font-size:14px}.image-info{padding:16px}.image-type{font-weight:600;color:#2c3e50;font-size:16px;margin-bottom:8px}.image-date{color:#666;font-size:14px;margin-bottom:8px}.image-description{color:#8c8c8c;font-size:13px;line-height:1.4;margin-top:8px;padding-top:8px;border-top:1px solid#f0f0f0}@media(max-width:768px){.medical-images-grid{grid-template-columns:1fr;gap:16px}.image-container{height:180px}.image-info{padding:12px}}.no-images-placeholder{display:flex;justify-content:center;align-items:center;min-height:200px;padding:40px 20px}.placeholder-content{text-align:center;color:#999}.placeholder-icon{font-size:48px;margin-bottom:16px;opacity:.6}.placeholder-text{font-size:16px;color:#666}.advanced-filter-page{min-height:calc(100vh - 64px);background:#f5f5f5;padding:24px}.advanced-filter-container{max-width:1400px;margin:0 auto}.page-header{margin-bottom:24px}.page-title{color:#2c3e50!important;margin-bottom:0!important;font-weight:600!important}.filter-config-card{margin-bottom:24px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none}.filter-config-card .ant-card-head{border-bottom:1px solid#f0f0f0}.filter-config-card .ant-card-head-title{color:#2c3e50;font-weight:600}.filter-conditions{padding:16px;background:#fafafa;border-radius:6px;margin-bottom:16px}.conditions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:16px}.conditions-list{display:flex;flex-direction:column;gap:12px}.condition-item{display:flex;align-items:center;gap:12px;padding:12px;background:white;border-radius:6px;border:1px solid#f0f0f0;transition:all.3s ease}.condition-item:hover{border-color:#4facfe;box-shadow:0 2px 8px rgba(79,172,254,.1)}.condition-row{margin-bottom:16px;padding:12px;background-color:white;border-radius:6px;border:1px solid#f0f0f0;transition:all.3s ease}.condition-row:hover{border-color:#4facfe;box-shadow:0 2px 8px rgba(79,172,254,.1)}.condition-row:last-child{margin-bottom:0}.filter-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:16px;padding-top:16px;border-top:1px solid#f0f0f0}.advanced-filter-page .ant-btn-primary{background:#f0f9ff!important;border:1px solid#4facfe!important;color:#4facfe!important;border-radius:6px!important;box-shadow:none!important;transition:all.3s ease!important}.advanced-filter-page .ant-btn-primary:hover{background:#e6f7ff!important;border-color:#1890ff!important;color:#1890ff!important;transform:translatey(-1px)!important;box-shadow:0 2px 8px rgba(79,172,254,.2)!important}.advanced-filter-page .ant-btn:not(.ant-btn-primary){border-radius:6px;border-color:#d9d9d9;transition:all.3s ease}.advanced-filter-page .ant-btn:not(.ant-btn-primary):hover{border-color:#4facfe;color:#4facfe}.patient-list-card{border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,6%);border:none;background-color:#fff}.patient-list-card .ant-card-head{border-bottom:1px solid#f0f0f0}.patient-list-card .ant-card-head-title{color:#2c3e50;font-weight:600}.pagination-wrapper{margin-top:24px;text-align:right;padding-top:16px;border-top:1px solid#f0f0f0}.patient-list-card .ant-table{border-radius:6px}.patient-list-card .ant-table-thead>tr>th{background:#fafafa;border-bottom:1px solid#f0f0f0;font-weight:600;color:#2c3e50}.patient-list-card .ant-table-tbody>tr>td{border-bottom:1px solid#f5f5f5}.advanced-filter-page .ant-btn-link{padding:4px 8px;height:auto}.advanced-filter-page .ant-btn-link:hover{background:rgba(24,144,255,.1);border-radius:4px}.advanced-filter-page .ant-btn-link.ant-btn-dangerous:hover{background:rgba(245,34,45,.1)}.advanced-filter-page .ant-form-item-label>label{color:#2c3e50;font-weight:500}.advanced-filter-page .ant-input,.advanced-filter-page .ant-select-selector,.advanced-filter-page .ant-picker{border-radius:6px;border-color:#d9d9d9}.advanced-filter-page .ant-input:hover,.advanced-filter-page .ant-select-selector:hover,.advanced-filter-page .ant-picker:hover{border-color:#4facfe}.advanced-filter-page .ant-input:focus,.advanced-filter-page .ant-select-focused .ant-select-selector,.advanced-filter-page .ant-picker-focused{border-color:#4facfe;box-shadow:0 0 0 2px rgba(79,172,254,.2)}.advanced-filter-page .ant-tag{border-radius:12px;padding:2px 8px;font-size:12px;border:none}.pagination-container{display:flex;justify-content:center;margin-top:24px}.loading-container{display:flex;justify-content:center;align-items:center;height:200px}.empty-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:200px;color:#999}.saved-templates{padding:16px 0}.template-list-simple{display:flex;flex-direction:column;gap:8px}.template-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border:1px solid#f0f0f0;border-radius:6px;cursor:pointer;transition:all.3s ease;background:white}.template-item:hover{border-color:#4facfe;box-shadow:0 2px 8px rgba(79,172,254,.1)}.template-item.selected{border-color:#4facfe;background:#f0f9ff;box-shadow:0 2px 8px rgba(79,172,254,.15)}.template-info{flex:1}.template-name{font-size:14px;font-weight:500;color:#2c3e50;margin-bottom:4px}.template-time{font-size:12px;color:#999}.template-actions{display:flex;align-items:center;gap:8px}@media(max-width:1200px){.advanced-filter-page{padding:16px}.filter-actions{flex-wrap:wrap}}@media(max-width:768px){.advanced-filter-page{padding:12px}.conditions-header,.filter-actions,.condition-item{flex-direction:column;align-items:stretch}.condition-row{padding:8px}.pagination-wrapper{text-align:center}}.filter-config-card .ant-spin-container{min-height:200px}.patient-list-card .ant-empty{margin:40px 0}.ant-tooltip{font-size:12px}.univariate-analysis{padding:24px;background:#f5f5f5;min-height:100vh}.analysis-header{margin-bottom:24px;background:white;padding:24px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,6%)}.analysis-header h3{margin-bottom:8px;color:#1890ff}.settings-card{height:-moz-fit-content;height:fit-content}.settings-card .ant-card-body{padding:20px}.results-card{min-height:600px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px}.analysis-results{padding:16px 0}.statistics-section,.distribution-section,.chart-section{margin-bottom:24px}.statistics-section .ant-row{margin-bottom:16px}.statistics-section .ant-card{text-align:center;border:1px solid#f0f0f0;box-shadow:0 1px 3px rgba(0,0,0,5%)}.chart-placeholder{display:flex;align-items:center;justify-content:center;min-height:200px;background:#fafafa;border:1px dashed#d9d9d9;border-radius:8px}.analysis-info{margin-top:16px}.analysis-info h5{margin-bottom:12px;color:#666}.analysis-info ul{margin:0;padding-left:16px}.analysis-info li{margin-bottom:4px;color:#666;font-size:13px}@media(max-width:1200px){.univariate-analysis .ant-col-8{flex:0 0 100%;max-width:100%;margin-bottom:24px}.univariate-analysis .ant-col-16{flex:0 0 100%;max-width:100%}}@media(max-width:768px){.univariate-analysis,.analysis-header{padding:16px}.statistics-section .ant-col-8{flex:0 0 50%;max-width:50%}}@media(max-width:576px){.statistics-section .ant-col-8{flex:0 0 100%;max-width:100%}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media(prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background-color:#282c34;padding:20px;color:white;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin)}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.export-field-modal{.basic-fields-section{.basic-fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:12px}.basic-field-item{padding:8px;border:1px solid#f0f0f0;border-radius:6px;background:#fafafa;transition:all.2s;&:hover{border-color:#d9d9d9;background:#f5f5f5}}}.template-fields-section{.ant-tree{.ant-tree-node-content-wrapper{padding:4px 8px;border-radius:4px;&:hover{background-color:#f5f5f5}}.ant-tree-node-selected{.ant-tree-node-content-wrapper{background-color:#e6f7ff}}}}.export-summary{background:#fafafa;padding:16px;border-radius:6px;border:1px solid#f0f0f0;.summary-content{display:flex;flex-direction:column;gap:8px;margin-top:12px}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid#f0f0f0;&:last-child{border-bottom:none}}}}@media(max-width:768px){.export-field-modal{.basic-fields-section{.basic-fields-grid{grid-template-columns:1fr}}}}.dark-theme{.export-field-modal{.basic-field-item{background:#1f1f1f;border-color:#303030;&:hover{background:#262626;border-color:#434343}}.export-summary{background:#1f1f1f;border-color:#303030;.summary-item{border-bottom-color:#303030}}}}.export-field-modal{.ant-tabs-content-holder{animation:fadeIn.3s ease-in-out}.export-summary{animation:slideUp.3s ease-in-out}}@keyframes fadeIn{0%{opacity:0;transform:translatey(10px)}to{opacity:1;transform:translatey(0)}}@keyframes slideUp{0%{opacity:0;transform:translatey(20px)}to{opacity:1;transform:translatey(0)}}.file-display{border:1px solid#e1e5e9;border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.1)}.file-display-header{padding:12px 16px;background:#f8f9fa;border-bottom:1px solid#e1e5e9;display:flex;justify-content:space-between;align-items:center}.file-display-header .file-name{font-weight:500;color:#333;font-size:14px}.file-display-header .expire-time{font-size:12px;color:#666}.file-display-content{padding:16px}.file-display-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#666}.loading-spinner{width:24px;height:24px;border:2px solid#f3f3f3;border-top:2px solid#007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-display-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.error-icon{font-size:32px;margin-bottom:12px}.error-message{color:#dc3545;margin-bottom:16px;font-size:14px}.retry-button{padding:8px 16px;background:#007bff;color:white;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color.2s}.retry-button:hover{background:#0056b3}.file-display-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#999}.empty-icon{font-size:32px;margin-bottom:12px}.empty-message{font-size:14px}.file-display-image{text-align:center}.file-display-image img{max-width:100%;max-height:400px;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.file-display-pdf{width:100%;height:500px}.file-display-pdf iframe{width:100%;height:100%;border:none;border-radius:4px}.file-display-video{text-align:center}.file-display-video video{max-width:100%;max-height:400px;border-radius:4px}.file-display-audio{text-align:center;padding:20px 0}.file-display-audio audio{width:100%;max-width:400px}.file-display-dcm{display:flex;align-items:center;padding:20px;background:linear-gradient(135deg,#e3f2fd 0%,#f3e5f5 100%);border-radius:8px;border:1px solid#e1e5e9}.dcm-icon{font-size:48px;margin-right:20px;opacity:.8}.dcm-info{flex:1}.dcm-title{font-size:18px;font-weight:600;color:#1976d2;margin-bottom:8px}.dcm-filename{font-size:14px;color:#666;margin-bottom:12px;word-break:break-all}.dcm-download a{display:inline-block;padding:8px 16px;background:#1976d2;color:white;text-decoration:none;border-radius:4px;font-size:14px;transition:background-color.2s}.dcm-download a:hover{background:#1565c0;text-decoration:none;color:white}.file-display-download{display:flex;align-items:center;padding:16px;background:#f8f9fa;border-radius:4px;border:1px solid#e1e5e9}.file-icon{font-size:32px;margin-right:16px}.file-info{flex:1}.file-info .file-name{font-weight:500;color:#333;margin-bottom:4px}.file-info .file-description{font-size:12px;color:#666}.download-button{padding:8px 16px;background:#28a745;color:white;text-decoration:none;border-radius:4px;font-size:14px;transition:background-color.2s}.download-button:hover{background:#218838;text-decoration:none;color:white}@media(max-width:768px){.file-display-header{flex-direction:column;align-items:flex-start;gap:8px}.file-display-content{padding:12px}.file-display-pdf{height:300px}.file-display-download{flex-direction:column;text-align:center;gap:12px}.file-icon{margin-right:0;margin-bottom:8px}}.search-filter-card{margin-bottom:16px}.search-filter-card .ant-card-body{padding:16px 24px}.search-filter-content{width:100%}.search-fields-row{margin:20px 0}.search-field-col{padding:0 12px}.search-field-col:first-child{padding-left:0}.search-field-col:last-child{padding-right:0}.search-field-empty{padding:0 12px}.search-field-item{display:flex;align-items:center;width:100%}.filter-label{font-weight:500;color:#262626;text-align:right;margin-right:12px;flex-shrink:0}.filter-control{flex:1;min-width:0}.filter-control .ant-input,.filter-control .ant-picker,.filter-control .ant-select,.filter-control .ant-picker-range{width:100%!important}.search-actions-row{margin-top:0}.search-actions-inline{margin-top:8px}