html,body,#root,.xy-theme-root,.ant-app{height:100%;min-height:0;margin:0}.xy-theme-root{color:var(--xy-text);background:var(--xy-canvas)}body{overflow:hidden;background:Canvas;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}.ant-pro-layout,.ant-pro-basicLayout,.ant-pro-layout-container,.ant-layout{min-width:0;min-height:0}.ant-pro-layout,.ant-pro-basicLayout{height:100%;height:100dvh;overflow:hidden}.ant-pro-layout>.ant-layout{display:flex;height:100%;overflow:hidden}.ant-pro-layout-container,.ant-pro-layout-content,.ant-layout-content{min-width:0;min-height:0;overflow:hidden}.ant-pro-layout-container{display:flex;height:100%;flex:1 1;flex-direction:column}.ant-pro-layout-content,.ant-layout-content{display:flex;flex:1 1;flex-direction:column}.ant-pro-layout .ant-pro-sider,.ant-layout-sider{border-inline-end:1px solid var(--xy-border)}.ant-pro-layout .ant-pro-sider-menu,.ant-pro-layout .ant-layout-sider-children{background:var(--xy-surface)}.ant-pro-layout .ant-pro-fixed-header,.ant-pro-layout .ant-pro-layout-header{border-bottom:1px solid var(--xy-border);box-shadow:none}.ant-pro-layout .ant-menu-item-selected{font-weight:600}.workspace-shell{display:flex;flex:1 1 auto;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:var(--xy-canvas)}.workspace-scroll-region{flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.workspace-page{min-width:0;min-height:100%}.workspace-page .ant-pro-page-container-warp-page-header{position:sticky;top:0;z-index:4;background:color-mix(in srgb,var(--xy-canvas) 94%,transparent);border-bottom:1px solid var(--xy-border);backdrop-filter:blur(12px)}.workspace-page .ant-pro-page-container-children-container{min-width:0;padding:20px 24px 32px}.workspace-page .ant-pro-card,.workspace-page .ant-card{border-color:var(--xy-border);box-shadow:var(--xy-elevation-low)}.workspace-page .ant-pro-table .ant-pro-card{box-shadow:none}.workspace-page .ant-pro-table-search{position:sticky;top:0;z-index:3;background:var(--xy-surface);border-bottom:1px solid var(--xy-border)}.workspace-page .ant-pro-table-list-toolbar{position:sticky;top:0;z-index:3;background:var(--xy-surface)}.workspace-page .ant-table-wrapper{min-width:0}.workspace-page .ant-table-container{border-radius:var(--xy-radius-md)}.workspace-page .ant-table-thead>tr>th{color:var(--xy-text);font-weight:600}.ant-modal .ant-modal-content{display:flex;max-height:calc(100dvh - 40px);flex-direction:column;border:1px solid var(--xy-border);box-shadow:var(--xy-elevation-high)}.ant-modal .ant-modal-header,.ant-modal .ant-modal-footer{flex:none}.ant-modal .ant-modal-body{min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.ant-drawer .ant-drawer-content{background:var(--xy-surface)}.ant-drawer .ant-drawer-header{border-bottom-color:var(--xy-border)}.ant-drawer .ant-drawer-body{overflow-y:auto;overscroll-behavior-y:contain}.console-label{color:var(--xy-muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:1.5px;white-space:nowrap}.feedback{margin-bottom:16px;overflow-wrap:anywhere}.security-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px}.stable-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.section-note{margin-top:24px;margin-bottom:0!important;font-size:12px}.management-note{text-align:center}.patient-imaging-table{margin-top:20px}.imaging-upload-summary{display:grid;gap:10px;margin-top:20px}.patient-summary-card{margin-bottom:20px}.patient-summary-card .ant-statistic{min-width:92px}.patient-management-tabs .ant-card-body{padding-top:8px}.patient-tab-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.login-page,.invitation-page{height:100vh;height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;background:var(--xy-canvas)}.login-page{display:flex;flex-direction:column;padding:32px 6vw 24px}.login-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:var(--xy-text);font-size:28px}.brand>span:last-child{color:var(--xy-muted);font-size:14px;margin-left:8px}.login-content{flex:1 1;width:100%;max-width:1120px;margin:40px auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,448px);gap:clamp(40px,7vw,80px);align-items:center}.login-intro h1.ant-typography{color:var(--xy-text);font-size:40px;line-height:1.35;margin:20px 0;letter-spacing:.5px}.login-intro>.ant-typography{max-width:400px;line-height:1.9}.intro-rule{border-top:1px solid var(--xy-border);padding-top:24px;margin-top:36px;display:flex;gap:12px;font-size:14px}.login-form-panel{padding:36px;border:1px solid var(--xy-border);border-radius:var(--xy-radius-lg);box-shadow:var(--xy-elevation-medium)}.login-form-panel h3.ant-typography{margin:0 0 8px}.login-form-panel .ant-btn-primary{min-height:48px}.login-note{font-size:12px;line-height:1.8;margin-top:24px;margin-bottom:0!important}.otp-send{display:flex;align-items:center;gap:12px;margin:-8px 0 20px;flex-wrap:wrap}.otp-send .ant-typography{font-size:12px}.login-footer{color:var(--xy-muted);text-align:center;font-size:12px}.invitation-page{display:grid;align-content:center;padding:32px 20px}.invitation-page>.ant-card{width:min(660px,100%);margin:0 auto;border-color:var(--xy-border);box-shadow:var(--xy-elevation-medium)}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--xy-focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 900px){.workspace-page .ant-pro-page-container-warp-page-header{position:static;backdrop-filter:none}.workspace-page .ant-pro-page-container-children-container{padding:16px}.login-content{grid-template-columns:minmax(0,448px);justify-content:center;gap:32px;margin:32px auto}.login-intro{display:none}.security-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 520px){.login-page{padding:20px 16px}.login-header .console-label{display:none}.login-form-panel{padding:24px}.login-content{margin:24px auto}.workspace-page .ant-pro-page-container-warp-page-header .ant-page-header-heading{align-items:flex-start}}
