:root{--opd-bg: #f3f5f9;--opd-primary: #1b5fd9;--opd-primary-hover: #3b78e8;--opd-primary-active: #1550c0;--opd-sider: #e4ecf9;--opd-card: #ffffff;--opd-line: #e7ecf4;--opd-line-soft: #f0f3f8;--opd-th-bg: #f7f9fc;--opd-zebra: #fafbfd;--opd-t1: #1b2432;--opd-t2: #5a6b87;--opd-t3: #8a97ac;--opd-success: #12936a;--opd-warning: #d98200;--opd-danger: #dc3e42;--opd-shadow-l1: 0 1px 2px rgba(16, 32, 64, .04), 0 1px 3px rgba(16, 32, 64, .06);--opd-shadow-l2: 0 10px 28px rgba(16, 32, 64, .14)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--opd-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.num{font-variant-numeric:tabular-nums}.app-table .ant-table-thead>tr>th{font-size:11.5px;font-weight:600;letter-spacing:.03em}.app-table .ant-table-tbody>tr>td{font-variant-numeric:tabular-nums}.app-table .ant-table-tbody>tr:nth-child(2n)>td{background:var(--opd-zebra)}.app-table .ant-table-tbody>tr.ant-table-summary>td{background:var(--opd-th-bg);font-weight:600}.audit-detail-table .ant-table-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audit-detail-table .ant-table-cell:after{content:"";display:block}.audit-view-toggle .ant-segmented{background:#f4f6fb;border:1px solid #e8ecf3;border-radius:8px;padding:3px}.audit-view-toggle .ant-segmented-item{color:#6b7688;font-weight:500;border-radius:6px;transition:color .2s,background .2s}.audit-view-toggle .ant-segmented-item:hover:not(.ant-segmented-item-selected){color:#3d4a5c}.audit-view-toggle .ant-segmented-item-selected{box-shadow:0 1px 3px #0f172a1a}.audit-view-toggle .ant-segmented-item:nth-child(1).ant-segmented-item-selected{background:#e8f1ff}.audit-view-toggle .ant-segmented-item:nth-child(1).ant-segmented-item-selected .ant-segmented-item-label{color:var(--opd-primary);font-weight:600}.audit-view-toggle .ant-segmented-item:nth-child(2).ant-segmented-item-selected{background:#e3f7f4}.audit-view-toggle .ant-segmented-item:nth-child(2).ant-segmented-item-selected .ant-segmented-item-label{color:#0d9488;font-weight:600}.rank-table .ant-table-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-table .ant-table-cell:after{content:"";display:block}.diag-table .ant-table-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:8px;padding-right:8px}.diag-table .ant-table-cell:after{content:"";display:block}.report-detail-table .ant-table-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-detail-table .ant-table-cell:after{content:"";display:block}.pickup-table .ant-table-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pickup-table .ant-table-cell:after{content:"";display:block}.refundfee-dim-table .ant-table-cell,.refundfee-detail-table .ant-table-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.refundfee-dim-table .ant-table-cell:after,.refundfee-detail-table .ant-table-cell:after{content:"";display:block}.reopen-changed-row>td{background:#fff7e6!important}.reopen-changed-row>td:first-child{box-shadow:inset 3px 0 #d98200}.refundfee-dim-table th:nth-child(n+2):nth-child(-n+4),.refundfee-dim-table td:nth-child(n+2):nth-child(-n+4){background:#e6f4ff}.refundfee-dim-table th:nth-child(n+5):nth-child(-n+7),.refundfee-dim-table td:nth-child(n+5):nth-child(-n+7){background:#fff7e6}@media (min-width: 992px){.refund-combo-row{height:540px}.refund-combo-row>.ant-col{height:100%}}.login-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background-color:#0a2f8f;background-image:radial-gradient(rgba(4,22,58,.12) 1.2px,transparent 1.2px),radial-gradient(900px 520px at 15% 6%,rgba(255,255,255,.18),transparent 60%),radial-gradient(760px 460px at 88% 94%,rgba(15,158,150,.34),transparent 64%),linear-gradient(135deg,#0a2f8f,#1769e0 42%,#0f9e96);background-size:22px 22px,auto,auto,auto;background-repeat:repeat,no-repeat,no-repeat,no-repeat}.login-card{width:400px;padding:36px 36px 28px;border-radius:14px;background:#fffffffa;box-shadow:0 18px 50px #00000047}.login-brand{text-align:center;margin-bottom:26px}.login-brand h1{margin:12px 0 4px;font-size:21px;font-weight:600;color:#16233d}.login-brand p{margin:0;font-size:13px;color:#8a94a6}.app-sider{border-right:1px solid var(--opd-line)}.app-logo{flex:0 0 auto;height:60px;margin:10px 12px 4px;display:flex;align-items:center;gap:10px;overflow:hidden}.app-logo-badge{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:linear-gradient(135deg,#1b5fd9,#2c74ec);border:1px solid rgba(27,95,217,.3);box-shadow:0 3px 10px #1b5fd947;display:flex;align-items:center;justify-content:center}.app-logo-badge svg{width:19px;height:19px;display:block}.app-logo-text{font-size:14.5px;font-weight:650;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--opd-t1)}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.app-sider .app-menu-scroll{flex:1;min-height:0;overflow-y:auto;position:relative;padding:4px 10px 12px}.app-menu-pill{position:absolute;top:0;left:0;z-index:0;opacity:0;pointer-events:none;border-radius:9px;background:#0f172a14;transition:transform .38s cubic-bezier(.34,1.56,.64,1),width .38s cubic-bezier(.34,1.56,.64,1),height .38s cubic-bezier(.34,1.56,.64,1),opacity .16s ease;will-change:transform,width,height}.app-sider .ant-menu .ant-menu-item-selected{background:linear-gradient(90deg,#1b5fd9,#2c74ec)!important;box-shadow:0 4px 14px #1b5fd94d}.app-sider .ant-menu .ant-menu-item-selected:hover{background:linear-gradient(90deg,#2c74ec,#3b78e8)!important}.app-sider .ant-menu-item{position:relative;z-index:1;width:100%!important;margin-inline:0!important;padding-left:10px!important;padding-right:10px!important;border-radius:9px;color:var(--opd-t2);transition:background .16s ease,color .16s ease}.app-sider .ant-menu-item:not(.ant-menu-item-selected):hover{color:var(--opd-t1)!important;background-color:transparent!important}.app-sider .ant-menu-item-selected,.app-sider .ant-menu-item-selected a{color:#fff!important;font-weight:600}.app-sider .ant-menu-item .anticon{font-size:16px;opacity:.85}.app-sider .ant-menu-item-selected .anticon{opacity:1;color:#fff}.app-sider .ant-menu-submenu-title{height:34px!important;line-height:34px!important;width:100%!important;margin-inline:0!important;padding-left:10px!important;padding-right:26px!important;border-radius:8px;color:var(--opd-t2);font-size:11.5px;font-weight:650;letter-spacing:.06em;transition:background .16s ease,color .16s ease}.app-sider .ant-menu-submenu-title:hover{background:#0f172a14!important;color:var(--opd-t1)}.app-sider .ant-menu-submenu-selected>.ant-menu-submenu-title{color:var(--opd-primary)}.app-sider .ant-menu-submenu-open>.ant-menu-submenu-title{color:var(--opd-t1)}.app-sider .ant-menu-submenu-arrow{color:var(--opd-t3);transition:transform .3s cubic-bezier(.4,0,.2,1),color .16s ease}.app-sider .ant-menu-submenu-open>.ant-menu-submenu-title .ant-menu-submenu-arrow{color:var(--opd-primary)}.app-sider .ant-menu-sub.ant-menu-inline{background:transparent!important}.app-sider .ant-menu-sub.ant-menu-inline>.ant-menu-item{padding-left:10px!important}.app-sider .ant-menu-submenu-open .ant-menu-sub .ant-menu-item{animation:opd-menu-item-in .32s cubic-bezier(.4,0,.2,1) both}.app-sider .ant-menu-submenu-open .ant-menu-sub .ant-menu-item:nth-child(2){animation-delay:.04s}.app-sider .ant-menu-submenu-open .ant-menu-sub .ant-menu-item:nth-child(3){animation-delay:.08s}.app-sider .ant-menu-submenu-open .ant-menu-sub .ant-menu-item:nth-child(4){animation-delay:.12s}.app-sider .ant-menu-submenu-open .ant-menu-sub .ant-menu-item:nth-child(5){animation-delay:.16s}.app-sider .ant-menu-submenu-open .ant-menu-sub .ant-menu-item:nth-child(6){animation-delay:.2s}@keyframes opd-menu-item-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.app-footer{flex:0 0 auto;padding:12px 14px 14px;border-top:1px solid var(--opd-line);color:var(--opd-t3);font-size:11px;line-height:17px;text-align:center;word-break:break-all}.app-footer-line+.app-footer-line{margin-top:4px}.app-loading-mask{position:fixed;right:0;bottom:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffffb8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:app-loading-mask-in .18s ease-out}.app-loading-mask-text{font-size:13px;color:#5b6472}@keyframes app-loading-mask-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.app-loading-mask{animation:none}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.page-header-main{flex:1;min-width:0}.page-header-extra{flex:none;display:flex;align-items:center;gap:8px}.page-header h2{margin:0 0 4px;font-size:21px;font-weight:650;letter-spacing:-.01em;color:var(--opd-t1)}.page-header p{margin:0;font-size:13px;color:var(--opd-t3)}.kpi-card{height:100%;min-height:88px}.kpi-card .ant-card-body{height:100%;display:flex;flex-direction:column;justify-content:center;gap:2px}.kpi-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.kpi-value{font-size:24px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.kpi-suffix{font-size:13px;font-weight:400;color:#8a94a6;margin-left:4px}.kpi-label{font-size:13px;color:#8a94a6;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.kpi-hint{font-size:12px;color:#8a94a6;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.kpi-more{font-size:12px;color:var(--opd-primary);white-space:nowrap;flex:none}.kpi-card.kpi-hero{min-height:112px;position:relative;overflow:hidden}.kpi-card.kpi-hero:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:2px;background:var(--kpi-accent, var(--opd-primary))}.kpi-card.kpi-hero .ant-card-body{height:100%;display:flex;flex-direction:column;justify-content:center;gap:6px;padding-left:18px!important}.kpi-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.kpi-hero-head .kpi-label{font-size:12.5px;padding-top:2px}.kpi-hero-icon{width:26px;height:26px;flex:0 0 26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px}.kpi-hero-value{font-size:31px;font-weight:650;line-height:1.12;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.kpi-hero-foot{display:flex;align-items:center;gap:8px;min-width:0;font-size:11.5px;color:var(--opd-t3)}.kpi-trend{flex:none;font-weight:600;font-variant-numeric:tabular-nums}.kpi-trend.up{color:var(--opd-success)}.kpi-trend.down{color:var(--opd-danger)}.kpi-hero-foot .kpi-hint{text-align:left}.metric-group{height:100%}.metric-group .ant-card-body{padding:12px 16px 14px}.metric-group-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.metric-group-bar{width:3px;height:14px;border-radius:2px;background:var(--mg-accent, var(--opd-primary))}.metric-group-title{font-size:14px;font-weight:600;color:var(--opd-t1)}.metric-group-count{margin-left:auto;font-size:11.5px;color:var(--opd-t3)}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px}.metric-item{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.metric-item-label{display:flex;align-items:center;min-width:0;font-size:12.5px;color:var(--opd-t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-item-label:before{content:"";flex:0 0 5px;width:5px;height:5px;border-radius:50%;margin-right:6px;background:var(--mi-accent, #c7d0df)}.metric-item-value{flex:none;font-size:13px;font-weight:600;color:var(--opd-t1);font-variant-numeric:tabular-nums;white-space:nowrap}.metric-unit{margin-left:2px;font-size:11px;font-weight:500;color:var(--opd-t3)}.metric-item-value.accent-success{color:var(--opd-success)}.metric-item-value.accent-warning{color:var(--opd-warning)}.metric-item-value.accent-danger{color:var(--opd-danger)}.chart-empty{height:320px;display:flex;align-items:center;justify-content:center;color:#b6bdc9;font-size:13px}.patient-tabs .ant-tabs-nav:before{border-bottom:none}.patient-tabs .ant-tabs-ink-bar{display:none}.patient-tabs .ant-tabs-nav-list{gap:8px}.patient-tabs .ant-tabs-tab{margin:0!important;padding:6px 18px;border:1px solid #e3e8f0;border-radius:18px;background:#f2f4f8;font-size:14px;font-weight:500;color:#47506b;transition:all .2s ease}.patient-tabs .ant-tabs-tab:hover{color:var(--opd-primary);border-color:#bcd7ff}.patient-tabs .ant-tabs-tab-active{background:linear-gradient(135deg,#1b5fd9,#2c74ec);border-color:transparent;box-shadow:0 2px 8px #1b5fd959}.patient-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#fff!important;text-shadow:none}.rx-item-row-hit>td.ant-table-cell{background:#e6f4ff!important}.rx-item-row-hit>td.ant-table-cell:first-child{box-shadow:inset 3px 0 0 0 var(--opd-primary)}.ant-table-wrapper .ant-table-tbody>tr.drill-parent-row{position:sticky!important;top:39px!important;z-index:3!important}.ant-table-wrapper .ant-table-tbody>tr.drill-parent-row>td.ant-table-cell{background:#fff!important}.ant-table-wrapper .ant-table-tbody>tr.drill-parent-row>td.ant-table-cell:first-child{box-shadow:inset 3px 0 0 0 var(--opd-primary)}.rx-patient-box{border:1px solid #cfd9e6;border-left:4px solid var(--opd-primary);border-radius:8px;background:#f7f9fc;padding:12px 16px;margin-bottom:16px}.rx-patient-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.rx-patient-name{font-size:17px;font-weight:600;color:#1f2733}.rx-patient-id{font-size:13px;color:#5b6472}.rx-patient-meta{margin-top:8px;font-size:12px;color:#5b6472}.rx-visit-block{border:1px solid #e6ebf2;border-radius:8px;background:#fff;padding:10px 12px;margin-bottom:14px}.rx-visit-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#5b6472;margin-bottom:4px}.rx-visit-title{font-size:13px;font-weight:600;color:#1f2733}.rx-visit-diag{font-size:12px;color:#5b6472;margin-bottom:8px}
