:root{font-family:"Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif;color:#183049;background:#f3f7fa;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.hidden{display:none!important}.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#123552;color:#e7f2f8;min-height:100vh;padding:26px 16px;display:flex;flex-direction:column}.identity{display:flex;align-items:center;gap:12px;padding:0 8px 32px;border-bottom:1px solid #35536b}.identity strong,.identity span{display:block}.identity strong{font-size:17px}.identity span{font-size:13px;color:#b8d2df;margin-top:4px}.brand-symbol{width:37px;height:37px;border-radius:10px;background:#117e91;color:white;display:grid;place-items:center;font-size:22px;font-weight:bold;flex:none}.sidebar nav{padding-top:22px;display:grid;gap:7px}.sidebar button{width:100%;background:none;border:0;color:inherit;text-align:left;border-radius:9px;padding:12px 14px;font-size:15px}.sidebar nav button:hover,.sidebar nav button.active{background:#235576;color:white}.sidebar nav span{font-size:20px;margin-right:11px}.sidebar-bottom{margin-top:auto;padding:12px 8px;color:#b8d2df;font-size:13px}.sidebar-bottom button{padding:9px 0}.topbar{height:70px;border-bottom:1px solid #dfebf0;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.breadcrumb{color:#6c8192;font-size:14px}.breadcrumb b{margin:0 8px;color:#b8cad2}.breadcrumb strong{color:#183049}.local-badge{color:#176c6b;background:#e9f6f2;padding:7px 10px;border-radius:20px;font-size:13px}.topbar #menu-toggle{display:none}.content{max-width:1440px;margin:auto;padding:31px 34px 70px}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:23px}.page-title h1{margin:0 0 6px;font-size:27px;letter-spacing:.2px}.muted{color:#688196;margin:0;font-size:14px}.actions{display:flex;gap:9px;flex-wrap:wrap}.primary,.secondary,.danger{border-radius:8px;padding:10px 16px;font-weight:600;border:1px solid transparent;font-size:14px}.primary{background:#087c91;color:white}.primary:hover{background:#066b7f}.secondary{background:white;border-color:#bdced7;color:#17425e}.secondary:hover{background:#edf7f9}.danger{background:#fff;border-color:#e2b5b5;color:#a84342}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:21px}.stat,.panel,.form-section,.export-card{background:white;border:1px solid #dfe9ee;border-radius:12px;box-shadow:0 3px 16px #173f5910}.stat{padding:18px 20px;border-top:3px solid #0e879a}.stat:nth-child(2){border-color:#4273a4}.stat:nth-child(3){border-color:#d3913e}.stat:nth-child(4){border-color:#549a82}.stat span{color:#667f91;font-size:13px}.stat strong{display:block;font-size:27px;margin-top:7px}.panel{padding:21px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.toolbar h2{margin:0;font-size:18px}.search{max-width:370px;width:100%;border:1px solid #cddbe2;border-radius:8px;padding:10px 12px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:900px}th{text-align:left;background:#eef4f7;color:#536a7c;font-size:13px;font-weight:600;padding:12px 13px;white-space:nowrap}td{padding:15px 13px;border-bottom:1px solid #e5edf1;font-size:14px;vertical-align:top}tbody tr:hover{background:#f8fbfc}.id{font-weight:700;color:#175474}.subid{padding-left:24px;color:#748798}.name{font-weight:700}.status{display:inline-flex;padding:3px 8px;border-radius:6px;font-size:12px;white-space:nowrap;background:#eaf5f0;color:#23705d}.status.draft{background:#fff3df;color:#966316}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.link-btn{background:none;border:0;color:#0c7488;padding:2px;font-size:13px}.link-btn:hover{text-decoration:underline}.empty{text-align:center;padding:55px 10px;color:#70879a}.empty strong{display:block;color:#28485f;margin-bottom:6px}.section-tabs{display:flex;gap:6px;overflow:auto;white-space:nowrap;margin-bottom:18px;padding-bottom:3px}.section-tabs button{border:1px solid #d8e5eb;background:white;color:#496578;padding:9px 12px;border-radius:7px;font-size:14px}.section-tabs button.active{background:#175b78;border-color:#175b78;color:white}.form-section{padding:24px;margin-bottom:16px;scroll-margin-top:90px}.form-section h2{margin:0 0 19px;font-size:18px;padding-bottom:12px;border-bottom:1px solid #e2ebef}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.wide{grid-column:span 3}.field label{font-size:14px;font-weight:600;color:#375269}.field input,.field select,.field textarea{border:1px solid #cbdbe3;border-radius:7px;background:#fff;padding:10px 11px;color:#17344b;outline:0;min-width:0}.field textarea{min-height:75px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search:focus{border-color:#0b869b;box-shadow:0 0 0 3px #dceff2}.form-footer{position:sticky;bottom:0;background:#f3f7faf2;border-top:1px solid #dbe7ec;padding:13px 0;display:flex;justify-content:flex-end;gap:10px;backdrop-filter:blur(8px)}.export-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.export-card{padding:25px}.export-card h2{margin:0 0 9px;font-size:18px}.export-card p{color:#60798c;line-height:1.65;font-size:14px;min-height:66px}.export-card .primary,.export-card .secondary{margin-top:9px}.note{color:#657f90;background:#e9f2f6;padding:15px;border-radius:9px;margin-top:20px;font-size:14px;line-height:1.6}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#e6f2f5,#f8fbfd 55%,#dcecf1)}.login-card{background:white;border:1px solid #dce9ed;box-shadow:0 18px 55px #1748621c;border-radius:16px;padding:37px;width:min(420px,calc(100vw - 30px))}.login-card .brand-symbol{margin-bottom:25px}.login-card h1{margin:3px 0;font-size:28px}.login-card p{color:#617b8c}.login-card .eyebrow{font-size:13px;letter-spacing:1px;color:#118094;font-weight:700}.login-card label{display:grid;gap:8px;margin:28px 0 15px;font-size:14px;font-weight:600}.login-card input{padding:12px;border:1px solid #cbdce3;border-radius:8px}.login-card .primary{width:100%}.login-card small{display:block;color:#8398a6;margin-top:20px}.error{color:#b64b45!important;min-height:20px;font-size:13px}#toast{position:fixed;bottom:20px;right:20px;background:#143d53;color:white;border-radius:8px;padding:12px 16px;display:none;box-shadow:0 8px 25px #173b5330;font-size:14px}#toast.visible{display:block}@media(max-width:1100px){.fields{grid-template-columns:repeat(2,1fr)}.field.wide{grid-column:span 2}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;z-index:10;width:250px;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.topbar{padding:0 18px}.topbar #menu-toggle{display:block;background:none;border:0;font-size:23px;color:#19445c}.content{padding:23px 16px 60px}.page-title{flex-direction:column}.stats,.export-grid{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}.field.wide{grid-column:span 1}}@media(max-width:480px){.stats,.export-grid{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.local-badge{display:none}}
.visit-pill{display:inline-block;margin-top:5px;padding:3px 9px;border-radius:12px;background:#e8f3f7;color:#205c76;font-size:12px;font-weight:700}.visit-branch{color:#81a1b2;margin-right:6px}.patient-start td{border-top:2px solid #d9e6ed}.status.pending{background:#eaf1ff;color:#4d67a0}.field[hidden]{display:none!important}.grade-options{display:flex;flex-wrap:wrap;gap:8px}.grade-options label{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #cbdbe3;border-radius:8px;background:#f9fcfd;font-weight:500;cursor:pointer}.grade-options label:has(input:checked){border-color:#0e8192;background:#e8f5f6;color:#07576a}.grade-options input{accent-color:#087c91}
.inline-actions{gap:6px}.inline-actions .link-btn{border:1px solid transparent;border-radius:6px;padding:5px 8px;font-weight:600;white-space:nowrap;text-decoration:none}.inline-actions .link-btn:hover{filter:brightness(.96);text-decoration:none}.action-edit{background:#edf3f8;color:#28516a!important;border-color:#d4e2eb!important}.action-baseline{background:#e7f2fb;color:#1b679b!important;border-color:#c7e1f3!important}.action-follow{background:#e8f5f0;color:#176f55!important;border-color:#c7e9db!important}.action-export{background:#f0edfb;color:#64509b!important;border-color:#ded5f3!important}.action-delete{background:#fff0ef;color:#a84842!important;border-color:#f1d1cd!important}.table-wrap table{min-width:1240px}
/* Compact dashboard and clear operational states */
:root{color:#1b3448;background:#f5f8fa}.content{max-width:1560px;padding-top:24px}.page-title{align-items:center;margin-bottom:16px}.page-title h1{font-size:25px}.stats{gap:9px;margin-bottom:14px}.stat{padding:10px 15px;border-radius:9px;border-top-width:2px;box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:56px}.stat span{font-size:13px}.stat strong{font-size:22px;margin:0;color:#173b56}.panel{box-shadow:none}.toolbar{margin-bottom:12px}.toolbar h2 small{font-size:12px;font-weight:500;color:#607d8c;margin-left:8px}.filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px;background:#f7fafb;border:1px solid #e2ebef;border-radius:8px;margin-bottom:12px}.filters label{display:grid;gap:4px;color:#4d677a;font-size:12px;font-weight:600;min-width:150px;flex:1}.filters select{padding:8px 10px;border:1px solid #c8d9e1;background:white;border-radius:6px;color:#1b3448;min-width:0}.filters button{padding:8px 12px}.status{font-size:12px;font-weight:700;border-radius:6px;padding:5px 9px}.status.done{background:#dff4e9;color:#116345;border:1px solid #98d9ba}.status.pending{background:#fff0d5;color:#8b5208;border:1px solid #eac279}.status.draft{background:#f0f2f5;color:#536273;border:1px solid #d0d8df}.inline-actions .action-edit{background:#e8f1f8;color:#18577a!important}.inline-actions .action-baseline{background:#e9edfa;color:#384e99!important}.inline-actions .action-follow{background:#e5f4ea;color:#186c46!important}.inline-actions .action-export{background:#f2eef8;color:#6a4c88!important}.inline-actions .action-delete{background:#fff0ec;color:#a8483f!important}.inline-actions .link-btn{font-weight:700}.field input[readonly]{background:#eef5f7;color:#1f6071;font-weight:700}.sidebar nav button.active{background:#206082;border-left:3px solid #7dd3dc}.login-card{box-shadow:0 14px 40px #173f5915}.form-footer .primary{background:#14795e}.form-footer .secondary{background:#eef3f8;color:#28516a}@media(max-width:760px){.stat{min-height:56px}.filters label{min-width:135px}}
/* Collapsible narrow navigation, one-field filter and legible clinical labels */
.shell{grid-template-columns:188px minmax(0,1fr);transition:grid-template-columns .2s}.shell.sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}.sidebar{min-width:0;overflow:hidden;padding:19px 9px;transition:padding .2s}.shell.sidebar-hidden .sidebar{padding-left:0;padding-right:0;visibility:hidden}.identity{padding:0 5px 18px;gap:8px}.identity strong{font-size:14px}.identity span{font-size:12px}.brand-symbol{width:30px;height:30px;font-size:18px}.sidebar nav{padding-top:14px}.sidebar button{font-size:14px;padding:10px 9px}.sidebar nav span{font-size:16px;margin-right:6px}.topbar #menu-toggle{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbdde6;background:white;color:#1b5878;border-radius:7px;width:35px;height:35px;font-size:19px;margin-right:15px;flex:none}.topbar{justify-content:flex-start}.local-badge{margin-left:auto}.search-wrap{display:flex;position:relative;min-width:300px;max-width:450px;flex:1}.search-wrap .search{max-width:none;padding-right:35px}.clear-search{position:absolute;right:7px;top:5px;width:29px;height:29px;border:0;background:#edf2f5;border-radius:5px;color:#506a78;font-size:19px}.search-result{background:#ebf5f8;border-left:3px solid #16839a;border-radius:4px;padding:8px 12px;margin:0 0 12px;color:#155971;font-size:14px;font-weight:700}.visit-pill{padding:1px 5px;margin-top:2px;border-radius:4px;font-size:12px;min-width:22px;text-align:center}.field label{font-size:15px}.form-section h2{font-size:19px}.toolbar h2{font-size:19px}.name{font-size:15px}.status{font-size:13px}.page-title h1{font-size:27px}.section-tabs button{font-size:15px}.inline-actions .link-btn{font-size:13px}@media(max-width:760px){.shell,.shell.sidebar-hidden{display:block}.sidebar{position:fixed;z-index:10;width:188px;transform:none;visibility:visible}.shell.sidebar-hidden .sidebar{transform:translateX(-100%);padding:19px 9px}.search-wrap{min-width:0;width:100%}.toolbar{align-items:stretch}.topbar #menu-toggle{display:inline-flex}}
.save-error{border:1px solid #d69186;background:#fff0ed;color:#9d3028;padding:12px 14px;margin:16px 0;border-radius:8px;font-size:15px;font-weight:700}.field input::placeholder{color:#9caeb9}
/* Readable clinical entry and explicit not-measured state */
.field:has(.not-measured){position:relative}.field:has(.not-measured) input{padding-right:90px}.not-measured{position:absolute;right:7px;bottom:7px;border:1px solid #c7d5df;border-radius:5px;background:#f2f6f8;color:#38586a;padding:5px 8px;font-size:13px;font-weight:700;line-height:1.3}.not-measured.selected{background:#e0e9f9;border-color:#7899d1;color:#264f9a}.measurement-hint{font-size:14px;margin:-7px 0 15px}.sidebar button{font-size:15px}.sidebar-bottom{font-size:14px}.breadcrumb{font-size:15px}.stat span{font-size:14px}.toolbar h2{font-size:20px}.table-wrap th{font-size:14px}.table-wrap td{font-size:15px}.inline-actions .link-btn{font-size:14px}.status{font-size:14px}.muted{font-size:15px}.field label{font-size:15px}.field input,.field select,.field textarea{font-size:16px}.note,.export-card p{font-size:15px}.form-footer button{font-size:15px}
.save-success{background:#e4f5eb;color:#176442;border:1px solid #9bd4b2;border-radius:8px;padding:11px 14px;margin-bottom:15px;font-size:16px;font-weight:700}
.field:has(.not-measured) textarea{padding-right:94px;min-height:78px}
.sync-notice{border:1px solid #b5d6e5;border-left:4px solid #3182a5;background:#eef7fb;border-radius:8px;padding:11px 14px;margin:0 0 15px;color:#24536a;font-size:15px;font-weight:600}.patient-summary{display:flex;align-items:center;gap:10px 20px;flex-wrap:wrap;background:#fff;border:1px solid #dfe9ee;border-radius:9px;padding:11px 15px;margin-bottom:10px;font-size:15px}.patient-summary span{display:flex;gap:7px}.patient-summary b{color:#637d8d}.patient-summary .summary-diagnosis{flex:1;min-width:240px}
/* Cardiac registry navigation and compact record controls */
.shell{grid-template-columns:206px minmax(0,1fr)}.sidebar{padding:20px 10px}.identity{gap:9px;padding:2px 3px 20px}.identity strong{font-size:18px;line-height:1.2;white-space:nowrap}.identity span{font-size:13px;color:#bcd8e5;white-space:nowrap}.brand-symbol{width:34px;height:34px;border-radius:9px;background:#c94b62;color:#fff;font-size:25px;line-height:1}.sidebar nav button{font-size:16px;font-weight:600;padding:11px 10px}.sidebar-stats{margin:22px 5px 0;border-top:1px solid #35536b;padding-top:12px;display:grid;gap:4px}.sidebar-stats>div{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 2px;color:#cfe1ea;font-size:13px}.sidebar-stats strong{color:white;font-size:17px}.list-filters{display:flex;flex-wrap:wrap;gap:9px;align-items:center;justify-content:flex-end}.list-filters .search-wrap{min-width:270px;max-width:380px}.list-filters label{display:flex;gap:5px;align-items:center;font-size:13px;color:#4a6576;white-space:nowrap}.list-filters input[type=date]{border:1px solid #cbdbe3;border-radius:7px;padding:9px 7px;color:#1b3448;background:white;min-width:135px}.table-wrap table{min-width:1370px}.patient-flag{border:0;background:none;color:#b4c4cc;font-size:21px;line-height:1;padding:2px;vertical-align:middle}.patient-flag.active{color:#dc3545;text-shadow:0 1px 2px #bb344340}.star-rating{display:flex;white-space:nowrap}.star{border:0;background:transparent;color:#aeb9c2;font-size:21px;padding:0 1px;line-height:1}.star.on{color:#e4a729}.action-menu{min-width:105px;position:relative}.action-menu summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;background:#e9f1f6;border:1px solid #c7dce8;border-radius:6px;color:#195473;font-size:14px;font-weight:700;padding:6px 10px}.action-menu summary::-webkit-details-marker{display:none}.menu-items{display:grid;gap:2px;background:#fff;border:1px solid #dbe7ed;border-radius:7px;box-shadow:0 6px 16px #193d5219;padding:5px;margin-top:5px;min-width:168px}.menu-items button{border:0;background:white;color:#234d63;text-align:left;padding:7px 8px;border-radius:5px;font-size:14px}.menu-items button:hover{background:#eef5f8}.menu-items .menu-delete,.menu-items .menu-delete-visit{color:#a84940}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e2ebef;margin-bottom:18px;padding-bottom:11px}.form-section .section-heading h2{border:0;padding:0;margin:0}.section-heading .field{display:flex;flex-direction:row;align-items:center;gap:8px;max-width:270px}.section-heading .field label{white-space:nowrap;font-size:14px}.section-heading .field input{width:185px;font-size:14px;padding:7px}.form-section .fields .field.wide{grid-column:span 3}@media(max-width:760px){.sidebar{width:206px}.list-filters{justify-content:stretch}.list-filters .search-wrap{max-width:none;width:100%}.section-heading{align-items:flex-start;flex-direction:column}.form-section .fields .field.wide{grid-column:span 1}}
.binary-choice{display:flex;gap:12px;align-items:center}.binary-choice label{display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border:1px solid #cbdbe3;border-radius:8px;cursor:pointer}.binary-choice label:has(input:checked){background:#e8f5f6;border-color:#0e8192;color:#07576a}.binary-choice input{accent-color:#087c91}.field[data-key=other_lab_details] textarea{min-height:115px}
.identity strong{font-size:20px;letter-spacing:.2px}.identity span{font-size:14px;font-weight:650}.sidebar nav button{font-size:17px}.sidebar-stats>div{font-size:15px}.sidebar-stats strong{font-size:18px}.sidebar-bottom{font-size:14px}.brand-symbol{border-radius:11px;background:#c3425a}

/* 账户权限版：缩窄侧栏，并让登记列表在常见桌面宽度内完整呈现。 */
.shell{grid-template-columns:168px minmax(0,1fr)}
.sidebar{padding:17px 8px}.identity{gap:7px;padding:0 2px 15px}.identity strong{font-size:16px}.identity span{font-size:11px}.sidebar nav button{font-size:14px;padding:9px 7px}.sidebar nav span{font-size:15px;margin-right:4px}.sidebar-stats{margin:14px 3px 0;padding-top:8px}.sidebar-stats>div{font-size:12px;padding:4px 1px}.sidebar-stats strong{font-size:15px}.sidebar-bottom{font-size:12px;padding:8px 3px}.account-label{color:#fff;font-weight:700;margin:0 0 6px}.topbar{height:60px;padding:0 22px}.content{padding:20px 22px 55px}.user-badge{margin-left:auto;margin-right:10px;padding:5px 9px;border-radius:14px;background:#edf2fb;color:#3e5e8a;font-size:12px;font-weight:700}
.panel{padding:15px}.toolbar{margin-bottom:9px}.list-filters{gap:6px}.list-filters .search-wrap{min-width:210px;max-width:310px}.list-filters input[type=date]{min-width:120px;padding:7px 5px}.records-table{table-layout:fixed;min-width:0}.records-table th,.records-table td{padding:8px 5px;font-size:12px;line-height:1.3;overflow-wrap:anywhere;vertical-align:middle}.records-table td{border-bottom:0}.records-table tbody tr:nth-child(even){background:#f6f9fb}.records-table tbody tr:hover{background:#eef6f9}.records-table .patient-start td{border-top:0}.records-table th:nth-child(1){width:12%}.records-table th:nth-child(2){width:10%}.records-table th:nth-child(3){width:10%}.records-table th:nth-child(4){width:13%}.records-table th:nth-child(5){width:10%}.records-table th:nth-child(6){width:11%}.records-table th:nth-child(7){width:5%}.records-table th:nth-child(8){width:5%}.records-table th:nth-child(9){width:8%}.records-table th:nth-child(10){width:7%}.records-table th:nth-child(11){width:9%}.diagnosis-cell{white-space:normal}.diagnosis-text{display:block;line-height:1.3;overflow-wrap:anywhere}.owner-meta{display:block;color:#718796;font-size:10px;margin-top:3px}.visit-pill{font-size:10px;padding:1px 4px}.patient-flag{font-size:17px}.star{font-size:17px}.star:disabled,.patient-flag:disabled{cursor:default;opacity:.72}.action-menu{min-width:0}.action-menu summary{font-size:12px;padding:4px 6px}.menu-items{position:absolute;z-index:8;right:0;min-width:174px}.status{font-size:11px;padding:3px 5px;white-space:nowrap}.readonly-banner{border:1px solid #c9d7e6;border-left:4px solid #6884a4;background:#f1f5fa;color:#425e7b;border-radius:7px;padding:10px 13px;margin-bottom:14px;font-weight:700}.account-create{margin-bottom:16px}.account-create h2,.panel>h2{margin-top:0}.account-form{display:grid;grid-template-columns:1fr 1fr 180px auto;align-items:end;gap:12px}.account-form label{display:grid;gap:5px;font-size:13px;font-weight:700}.account-form input,.account-form select,.users-table input,.users-table select{border:1px solid #cbdbe3;border-radius:7px;padding:8px;background:white}.users-table{min-width:650px}.login-card label{margin:14px 0 10px}.login-card label:first-of-type{margin-top:24px}
@media(max-width:1100px){.records-table{min-width:1050px}.table-wrap{overflow:auto}.account-form{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sidebar{width:168px}.account-form{grid-template-columns:1fr}.user-badge{display:none}}
.table-wrap .records-table,.table-wrap .users-table{min-width:0;width:100%;table-layout:fixed}.users-table th,.users-table td{padding:10px}.users-table input,.users-table select{width:100%}.users-table th:last-child{width:110px}
.records-title{margin-bottom:8px}
.list-filters label,.list-filters .search,.list-filters input[type=date]{font-size:13px}.list-filters .search,.list-filters input[type=date]{height:38px;line-height:1.2;padding:8px 10px;border-radius:7px}.list-filters .search{padding-right:35px}.list-filters .clear-search{top:5px;width:28px;height:28px;font-size:18px}
.adaptive-text{display:block;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.3}.name .adaptive-text{display:inline}
.patient-id-layout{display:grid;grid-template-columns:52px 24px;align-items:center;gap:4px;justify-content:start;height:28px}.patient-id-text{display:block;min-width:0;max-height:22px;overflow:hidden;color:#175474;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.2}.patient-id-text.patient-id-sm{font-size:10px;line-height:1.1}.patient-id-text.patient-id-xs{font-size:9px;line-height:1.08}.patient-id-text.patient-id-xxs{font-size:8px;line-height:1.05}.patient-id-layout .visit-pill{margin-top:0;justify-self:start}
.records-table th:nth-child(1){width:11%}.records-table th:nth-child(2){width:10%}.records-table th:nth-child(3){width:10%}.records-table th:nth-child(4){width:13%}.records-table th:nth-child(5){width:10%}.records-table th:nth-child(6){width:11%}.records-table th:nth-child(n+7){width:7%}.records-table th:nth-child(n+7),.records-table td:nth-child(n+7){text-align:center}.records-table .star-rating{justify-content:center}.records-table .action-menu{width:max-content;max-width:100%;margin:0 auto}
.records-table th,.records-table td{text-align:center}.records-table .patient-id-layout{width:max-content;max-width:100%;margin:0 auto}
@media(max-width:1100px){.table-wrap .records-table{min-width:1050px}}

/* 统一放大界面文字，保持信息密度与可读性平衡。 */
:root{font-size:17px}.identity strong{font-size:18px}.identity span{font-size:13px}.sidebar nav button{font-size:15px}.sidebar nav span{font-size:17px}.sidebar-stats>div{font-size:14px}.sidebar-stats strong{font-size:17px}.sidebar-bottom{font-size:14px}.breadcrumb{font-size:16px}.user-badge,.local-badge{font-size:14px}.page-title h1{font-size:30px}.toolbar h2{font-size:22px}.muted{font-size:16px}.primary,.secondary,.danger{font-size:15px}.list-filters label,.list-filters .search,.list-filters input[type=date]{font-size:14px}.list-filters .search,.list-filters input[type=date]{height:40px}.records-table th{font-size:14px;padding:10px 6px}.records-table td{font-size:14px;padding:9px 6px}.name{font-size:16px}.status{font-size:13px;padding:4px 7px}.action-menu summary{font-size:14px;padding:5px 8px}.visit-pill{font-size:11px}.star{font-size:20px}.patient-flag{font-size:19px}.patient-id-layout{grid-template-columns:88px 24px;height:30px}.patient-id-text{font-size:14px;max-height:26px}.patient-id-text.patient-id-sm{font-size:11px}.patient-id-text.patient-id-xs{font-size:10px}.patient-id-text.patient-id-xxs{font-size:9px}.diagnosis-text,.adaptive-text{font-size:14px}.section-tabs button{font-size:16px}.form-section h2,.section-heading h2{font-size:20px}.field label{font-size:16px}.field input,.field select,.field textarea{font-size:17px}.note,.export-card p{font-size:16px}.patient-summary,.sync-notice{font-size:16px}.users-table th,.users-table td{font-size:15px}

/* 侧栏加宽，登记列表内部尺寸保持不变。 */
.shell{grid-template-columns:184px minmax(0,1fr)}
@media(max-width:760px){.sidebar{width:184px}}
.record-cell-link{border:0;background:transparent;color:#086f88;font:inherit;font-weight:700;padding:5px 7px;border-radius:6px;white-space:nowrap}.record-cell-link:hover,.record-cell-link:focus-visible{background:#dff1f5;color:#075b70;outline:none;text-decoration:underline}
.patient-record-link{border:0;background:transparent;color:inherit;font-weight:inherit;padding:0;margin:0;max-width:100%;text-align:center;text-decoration:none}.patient-record-link:hover{color:#087c91;text-decoration:underline;text-underline-offset:3px}.patient-record-link:focus-visible{outline:2px solid #0b869b;outline-offset:2px;border-radius:3px}
.follow-history-panel{padding-top:14px;padding-bottom:14px}.follow-history-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:9px;margin-bottom:6px}.follow-history-toolbar .secondary{margin-left:auto;padding:6px 11px}.current-follow-indicator{display:inline-flex;align-items:baseline;gap:2px;padding:5px 8px;border:1px solid #c9e1e7;border-radius:6px;background:#f0f8fa;color:#356779;font-size:13px;font-weight:600;line-height:1.2;white-space:nowrap}.current-follow-indicator b{color:#075f75;font-size:15px;font-variant-numeric:tabular-nums}.follow-history-list{display:grid;gap:2px}.follow-history-row{padding:5px 2px;color:#183049;line-height:1.35}@media(max-width:760px){.follow-history-toolbar{flex-wrap:wrap}}
.trash-table{min-width:760px}.trash-table th:last-child,.trash-table td:last-child{width:100px;text-align:center}.trash-table td{vertical-align:middle}.trash-table .secondary{padding:6px 12px}

/* 固定侧栏，登记列表在自己的区域内滚动。 */
.shell{height:100vh;min-height:0;overflow:hidden}
.sidebar{height:100vh;min-height:0;overflow-x:hidden;overflow-y:auto;position:sticky;top:0}
.shell>main{height:100vh;min-width:0;overflow-y:auto;overscroll-behavior:contain}
.topbar{position:sticky;top:0;z-index:20}
#rows{max-height:calc(100vh - 250px);min-height:260px;overflow:auto;scrollbar-gutter:stable}
#rows .records-table thead th{position:sticky;top:0;z-index:4;box-shadow:0 1px #dbe7ed}
.table-sort{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;padding:0}
.table-sort:hover{color:#087c91}
.table-sort:focus-visible{outline:2px solid #0b869b;outline-offset:2px;border-radius:3px}
.table-sort span{color:#087c91;font-size:15px;line-height:1}
@media(max-width:760px){.shell{height:auto;min-height:100vh;overflow:visible}.shell>main{height:auto;min-height:100vh;overflow:visible}.sidebar{position:fixed;height:100vh}#rows{max-height:none;min-height:0}}
.field textarea.treatment-detail{min-height:88px;resize:vertical;line-height:1.45}
.hematology-groups{display:grid;gap:0}.hematology-group{padding:20px 0;border-top:1px solid #dbe7ed}.hematology-group:first-child{padding-top:0;border-top:0}.hematology-group:last-child{padding-bottom:0}.hematology-group h3{margin:0 0 15px;color:#294b62;font-size:18px}.hematology-group .fields{margin:0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.hematology-heading{align-items:center}.hematology-upload-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.upload-label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:8px 13px}.hematology-attachment-panel{margin:-3px 0 18px;padding:13px 15px;border:1px solid #cfe0e8;border-radius:9px;background:#f6fafc}.hematology-upload-help{margin:0 0 8px;color:#607a8b;font-size:14px;line-height:1.5}.hematology-attachments{display:grid;gap:6px;margin-top:9px}.hematology-attachments>p{margin:0}.hematology-attachment{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:7px 9px;border-radius:6px;background:#fff;border:1px solid #dce8ed}.hematology-attachment a{color:#086f88;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.hematology-attachment a:hover{text-decoration:underline}.hematology-attachment span{color:#6b8190;font-size:13px}.hematology-attachment .attachment-delete{margin-left:auto;color:#a84940}.hematology-recognition{margin-top:12px;padding:13px;border-left:4px solid #14839a;border-radius:7px;background:#edf7fa}.recognition-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}.recognition-title span{color:#657e8e}.recognition-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:10px 0}.recognition-results>div{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;background:white;border-radius:5px}.recognition-results span{color:#4c6879}.recognition-results b{color:#0a536a}.recognition-warning{color:#9a5a16;background:#fff5df;border-radius:5px;padding:8px 10px}.ocr-text{margin-top:10px}.ocr-text summary{cursor:pointer;color:#245f78;font-weight:700}.ocr-text pre{max-height:230px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:10px;background:white;border:1px solid #d7e5ea;border-radius:6px;font-family:inherit;font-size:13px}@media(max-width:760px){.hematology-heading{align-items:flex-start}.hematology-upload-actions{width:100%}.recognition-results{grid-template-columns:1fr}}
.notes-attachment-panel{grid-column:span 3;padding:14px;border:1px solid #d5e3e9;border-radius:9px;background:#f7fafc}.notes-attachment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.notes-attachment-heading>strong{color:#294b62;font-size:16px}.notes-attachment-actions{display:flex;gap:8px;flex-wrap:wrap}.notes-attachments{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,220px));gap:12px;margin-top:10px}.notes-attachments>p{margin:0}.notes-attachment-card{overflow:hidden;border:1px solid #d7e4e9;border-radius:9px;background:#fff;box-shadow:0 2px 8px #173f590d}.notes-attachment-card>a{display:block;height:132px;background:#eaf2f5;text-decoration:none}.notes-attachment-card img{display:block;width:100%;height:132px;object-fit:cover}.notes-preview-placeholder{display:grid;place-items:center;width:100%;height:132px;color:#527083;font-size:24px;font-weight:800}.notes-attachment-card>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 8px;padding:9px}.notes-attachment-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#25495e;font-size:13px}.notes-attachment-card span{color:#718592;font-size:12px}.notes-attachment-card .attachment-delete{grid-column:2;grid-row:1/span 2;color:#a84940}@media(max-width:760px){.notes-attachment-panel{grid-column:span 1}.notes-attachment-heading{align-items:flex-start;flex-direction:column}.notes-attachments{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.notes-attachments{grid-template-columns:1fr}}
