:root{
  --type-page-title:28px;
  --type-modal-title:22px;
  --type-section-title:16px;
  --type-body:13px;
  --type-control:13px;
  --type-label:12px;
  --type-helper:11px;
  --type-caption:10px;
  --type-line-height:1.5;
}

body,button,input,select,textarea{font-family:Manrope,"Noto Sans SC","Microsoft YaHei",sans-serif}
button,input,select,textarea{font-size:var(--type-control);line-height:1.35}

/* 医生端档案页 */
.content-head p{font-size:var(--type-label)}
.content-head h1,.detail-head h1{font-size:var(--type-page-title)}
.content-head>button,.filter-row button{font-size:var(--type-control)}
.summary-strip small{font-size:var(--type-helper)}
.summary-strip input{font-size:var(--type-control)}
.table-head{font-size:var(--type-label)}
.case-row{font-size:var(--type-body)}
.case-row small,.account-pill small{font-size:var(--type-helper)}
.account-pill b{font-size:var(--type-body)}
.case-status{font-size:var(--type-helper)}

/* 新增档案 */
.case-create-modal>header small{font-size:var(--type-helper)}
.case-create-modal>header h2{font-size:var(--type-modal-title)}
.case-create-modal>header p{font-size:var(--type-body);line-height:var(--type-line-height)}
.case-create-steps span{font-size:var(--type-body)}
.case-create-modal legend span{font-size:15px}
.case-create-modal legend small{font-size:var(--type-helper);line-height:var(--type-line-height)}
.case-form-grid label{font-size:var(--type-label);line-height:var(--type-line-height)}
.case-form-grid input,.case-form-grid select,.case-form-grid textarea{font-size:var(--type-body)}
.case-create-modal form>footer button{font-size:var(--type-control)}
.case-create-error{font-size:var(--type-label)}

/* 规划工作台 */
.wb-head button,.wb-upload{font-size:var(--type-label)}
.wb-title b{font-size:var(--type-body)}
.wb-title small,.wb-save{font-size:var(--type-helper)}
.tool-drawer button span,.tool-instruction{font-size:var(--type-label)}
.properties .tabs button{font-size:var(--type-body)}
.panel-empty{font-size:var(--type-label)}
.property-fields>small,.background-panel header small,.material-library header small,.ring-saw-panel header small{font-size:var(--type-caption)}
.property-fields h3,.background-panel header h3,.material-library header h3,.ring-saw-panel header h3{font-size:var(--type-section-title)}
.property-fields label,.field-grid label,.ring-saw-panel>label{font-size:var(--type-label)}
.property-fields input,.property-fields select,.field-grid input,.ring-saw-panel input,.ring-saw-panel select{font-size:var(--type-control)}
.object-actions button,.layer-row button,.ring-confirm-actions button,.ring-start-supplement{font-size:var(--type-label);font-weight:600}
.ring-start-supplement{line-height:1.35}
.ring-saw-panel header p,.ring-edit-note,.ring-saw-steps,.ring-saw-ready{font-size:var(--type-helper)}
.switch-row b,.switch-card b{font-size:var(--type-label)}
.switch-row small,.switch-card small,.range-row>span{font-size:var(--type-helper)}
.flip-actions button,.reset-image{font-size:var(--type-label)}
.measure-row b,.layer-row b{font-size:var(--type-label)}
.measure-row small,.layer-row small{font-size:var(--type-helper)}
.metric span{font-size:var(--type-helper)}
.statusbar{font-size:var(--type-caption)}
.implant-choice b{font-size:var(--type-label)}
.implant-choice small,.implant-choice em,.material-library footer{font-size:var(--type-helper)}

/* 通用弹窗及角度生成器 */
.modal>small,.line-generator>header small,.line-position-title{font-size:var(--type-caption)}
.modal h2{font-size:var(--type-modal-title)}
.modal label,.line-angle-field{font-size:var(--type-label)!important}
.modal input,.modal select,.modal textarea{font-size:var(--type-control)}
.modal-actions button,.line-generator>footer button{font-size:var(--type-control)}
.line-generator>header h3{font-size:var(--type-section-title)}
.line-position-card b{font-size:var(--type-body)}
.line-position-card small,.line-position-card>em{font-size:var(--type-helper)}

/* 管理后台 */
.admin-brand small,.admin-nav nav span small,.admin-user small{font-size:var(--type-helper)}
.admin-nav nav span b,.admin-user b{font-size:var(--type-body)}
.admin-page-head p,.case-readonly-head p{font-size:var(--type-helper)}
.admin-page-head h1,.case-readonly-head h1{font-size:var(--type-page-title)}
.admin-page-head span,.case-readonly-head span{font-size:var(--type-body)}
.admin-card h2{font-size:var(--type-section-title)}
.admin-card header p{font-size:var(--type-helper)}
.data-head{font-size:var(--type-label)}
.data-row{font-size:var(--type-body)}
.data-row span small{font-size:var(--type-helper)}
.row-actions button,.data-row button,.implant-item footer button{font-size:var(--type-label)}
.category-panel header,.category-item{font-size:var(--type-label)}
.implant-top small,.implant-top p,.implant-spec span,.implant-spec b,.view-strip span,.three-upload label span,.three-upload label i,.form-note{font-size:var(--type-helper)}
.implant-top h3{font-size:var(--type-body)}
.doctor-selector label,.implant-form label{font-size:var(--type-label)}
.doctor-selector select,.implant-form input,.implant-form select,.implant-form textarea{font-size:var(--type-control)}

@media (max-height:800px){
  :root{--type-page-title:26px;--type-modal-title:20px}
}
