/* 縮小失敗。正在傳回未縮小的內容。
(6,10): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,28): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,68): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,86): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,103): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,123): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,143): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,162): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,180): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,198): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,214): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,230): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,248): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,271): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,293): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,315): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,337): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,359): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,381): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,403): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,425): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,447): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,469): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,490): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,513): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,534): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,552): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,573): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,593): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,612): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,630): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,658): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,689): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,716): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,741): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,768): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,794): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,821): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,844): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,871): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,892): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,921): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,950): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1151): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1250): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1339): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1387): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1412): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1438): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1464): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1488): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1506): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1528): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1552): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1578): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1629): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1657): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1687): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1716): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1743): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1771): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1801): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1825): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1855): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,1879): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,2053): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-font-family'
(6,2090): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-font-size'
(6,2127): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-font-weight'
(6,2166): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-line-height'
(6,2199): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-color'
(6,2231): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-text-align'
(6,2274): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-bg'
(6,3502): run-time error CSS1039: Token not allowed after unary operator: '-bs-highlight-bg'
(6,3645): run-time error CSS1039: Token not allowed after unary operator: '-bs-link-color'
(6,3706): run-time error CSS1039: Token not allowed after unary operator: '-bs-link-hover-color'
(6,3858): run-time error CSS1039: Token not allowed after unary operator: '-bs-font-monospace'
(6,4065): run-time error CSS1039: Token not allowed after unary operator: '-bs-code-color'
(6,4180): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-bg'
(6,4215): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-color'
(6,7682): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-color'
(6,7970): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,7991): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,8042): run-time error CSS1039: Token not allowed after unary operator: '-bs-gutter-x'
(6,8085): run-time error CSS1039: Token not allowed after unary operator: '-bs-gutter-x'
(6,8625): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,8646): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,8716): run-time error CSS1039: Token not allowed after unary operator: '-bs-gutter-y'
(6,8760): run-time error CSS1039: Token not allowed after unary operator: '-bs-gutter-x'
(6,8803): run-time error CSS1039: Token not allowed after unary operator: '-bs-gutter-x'
(6,8889): run-time error CSS1039: Token not allowed after unary operator: '-bs-gutter-x'
(6,8932): run-time error CSS1039: Token not allowed after unary operator: '-bs-gutter-x'
(6,8968): run-time error CSS1039: Token not allowed after unary operator: '-bs-gutter-y'
(6,10144): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10171): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10198): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10231): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10264): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10296): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10328): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10358): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10388): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10420): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10452): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,10482): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,11817): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,11850): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,11883): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,11922): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,11961): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,11999): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,12037): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,12073): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,12109): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,12147): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,12185): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,12221): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13557): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13590): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13623): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13662): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13701): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13739): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13777): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13813): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13849): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13887): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13925): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,13961): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15297): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15330): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15363): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15402): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15441): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15479): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15517): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15553): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15589): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15627): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15665): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,15701): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17038): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17071): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17104): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17143): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17182): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17220): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17258): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17294): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17330): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17368): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17406): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,17442): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,18814): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,18849): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,18884): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,18925): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,18966): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19006): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19046): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19084): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19122): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19162): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19202): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19240): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19267): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19305): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19331): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19378): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19411): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19457): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19499): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19544): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19584): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19628): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,19710): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-color'
(6,19764): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(6,19855): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-bg'
(6,19928): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-accent-bg'
(6,20416): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,20475): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-striped-color'
(6,20555): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,20614): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-striped-color'
(6,20653): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,20711): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-active-color'
(6,20765): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,20822): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-hover-color'
(6,20860): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,20882): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,20904): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,20936): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,20966): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,20996): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21025): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21054): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21082): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21121): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-color'
(6,21156): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(6,21197): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21219): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21241): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21273): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21303): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21333): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21362): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21391): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21419): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21458): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-color'
(6,21493): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(6,21532): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21554): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21576): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21608): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21638): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21668): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21697): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21726): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21754): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21793): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-color'
(6,21828): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(6,21864): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21886): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21908): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21940): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,21970): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22000): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22029): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22058): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22086): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22125): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-color'
(6,22160): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(6,22199): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22221): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22243): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22275): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22305): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22335): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22364): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22393): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22421): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22460): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-color'
(6,22495): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(6,22533): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22555): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22577): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22609): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22639): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22669): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22698): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22727): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22755): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22794): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-color'
(6,22829): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(6,22866): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22888): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22910): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22942): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,22972): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23002): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23031): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23060): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23088): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23127): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-color'
(6,23162): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(6,23198): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23220): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23242): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23274): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23304): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23334): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23363): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23392): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23420): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,23459): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-color'
(6,23494): run-time error CSS1039: Token not allowed after unary operator: '-bs-table-border-color'
(6,46069): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46096): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46124): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46147): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46171): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46196): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46221): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46244): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46268): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46294): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46328): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46360): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46400): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46491): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46522): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,46637): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-padding-y'
(6,46661): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-padding-x'
(6,46697): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-font-family'
(6,46733): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-font-size'
(6,46769): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-font-weight'
(6,46807): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-line-height'
(6,46839): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-color'
(6,47006): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-border-width'
(6,47039): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-border-color'
(6,47080): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-border-radius'
(6,47125): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-bg'
(6,47346): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-hover-color'
(6,47389): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-hover-bg'
(6,47425): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-hover-border-color'
(6,47486): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-color'
(6,47523): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-bg'
(6,47553): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-border-color'
(6,47605): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-hover-color'
(6,47648): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-hover-bg'
(6,47684): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-hover-border-color'
(6,47738): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-focus-box-shadow'
(6,47812): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-hover-border-color'
(6,47866): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-focus-box-shadow'
(6,48002): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-active-color'
(6,48046): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-active-bg'
(6,48083): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-active-border-color'
(6,48297): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-focus-box-shadow'
(6,48385): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-disabled-color'
(6,48451): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-disabled-bg'
(6,48490): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-disabled-border-color'
(6,48534): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-disabled-opacity'
(6,48573): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48593): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48613): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48643): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48669): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48695): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48731): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48768): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48795): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48822): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48859): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48919): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48948): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,48977): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49031): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49051): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49071): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49101): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49127): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49153): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49189): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49227): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49254): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49281): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49318): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49378): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49407): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49436): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49488): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49508): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49528): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49558): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49584): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49610): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49646): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49683): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49710): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49737): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49774): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49834): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49863): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49892): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49941): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49961): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,49981): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50011): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50037): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50063): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50099): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50136): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50163): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50190): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50227): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50287): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50316): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50345): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50397): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50417): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50437): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50467): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50493): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50519): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50555): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50591): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50618): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50645): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50682): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50742): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50771): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50800): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50851): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50871): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50891): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50921): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50947): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,50973): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51009): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51045): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51072): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51099): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51136): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51196): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51225): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51254): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51304): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51324): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51344): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51374): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51400): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51426): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51462): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51500): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51527): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51554): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51591): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51651): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51680): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51709): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51758): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51778): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51798): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51828): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51854): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51880): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51916): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51951): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,51978): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52005): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52042): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52102): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52131): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52160): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52220): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52243): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52273): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52299): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52325): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52361): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52398): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52425): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52452): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52489): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52549): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52581): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52614): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52653): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52695): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52718): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52748): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52774): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52800): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52836): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52874): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52901): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52928): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,52965): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53025): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53057): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53090): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53129): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53169): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53192): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53222): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53248): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53274): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53310): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53346): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53373): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53400): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53437): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53497): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53529): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53562): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53601): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53638): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53661): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53691): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53717): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53743): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53779): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53816): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53843): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53870): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53907): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53967): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,53999): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54032): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54071): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54111): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54134): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54164): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54190): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54216): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54252): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54288): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54315): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54342): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54379): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54439): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54471): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54504): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54543): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54582): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54605): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54635): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54661): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54687): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54723): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54759): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54786): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54813): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54850): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54910): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54942): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,54975): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55014): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55052): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55075): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55105): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55131): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55157): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55193): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55231): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55258): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55285): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55322): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55382): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55414): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55447): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55486): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55523): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55546): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55576): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55602): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55628): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55664): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55699): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55726): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55753): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55790): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55850): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55882): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55915): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55954): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,55983): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56008): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56044): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56068): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56102): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56150): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56190): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56239): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56280): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56312): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56355): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56380): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56478): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-color'
(6,56520): run-time error CSS1039: Token not allowed after unary operator: '-bs-btn-hover-color'
(6,56568): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56594): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56618): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56645): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56702): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56729): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56755): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,56783): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57663): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57689): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57719): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57745): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57776): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57806): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57835): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57863): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57885): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57947): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,57984): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58015): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58070): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58130): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58168): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58227): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58260): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58299): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58335): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58372): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58409): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58451): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58485): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58522): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58557): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58593): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,58662): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-zindex'
(6,58711): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-min-width'
(6,58748): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-padding-y'
(6,58777): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-padding-x'
(6,58825): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-font-size'
(6,58860): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-color'
(6,58934): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-bg'
(6,58991): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-border-width'
(6,59029): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-border-color'
(6,59075): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-border-radius'
(6,59166): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-spacer'
(6,59208): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,59302): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,59422): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,59522): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,59646): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,59746): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,59870): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,59970): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,60095): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,60195): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,60321): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,60423): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,60591): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-spacer'
(6,60975): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-spacer'
(6,61414): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-spacer'
(6,61943): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-divider-margin-y'
(6,62018): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-divider-bg'
(6,62106): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-item-padding-y'
(6,62140): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-item-padding-x'
(6,62207): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-link-color'
(6,62382): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-link-hover-color'
(6,62435): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-link-hover-bg'
(6,62518): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-link-active-color'
(6,62593): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-link-active-bg'
(6,62681): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-link-disabled-color'
(6,62842): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-header-padding-y'
(6,62878): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-header-padding-x'
(6,62954): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-header-color'
(6,63047): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-item-padding-y'
(6,63081): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-item-padding-x'
(6,63121): run-time error CSS1039: Token not allowed after unary operator: '-bs-dropdown-link-color'
(6,63166): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63194): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63219): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63281): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63308): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63341): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63377): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63437): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63491): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63528): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63565): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,63607): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,65845): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,65874): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,65905): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,65933): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,65974): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,66027): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,66176): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-link-padding-y'
(6,66205): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-link-padding-x'
(6,66244): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-link-font-size'
(6,66285): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-link-font-weight'
(6,66322): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-link-color'
(6,66570): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-link-hover-color'
(6,66626): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-link-disabled-color'
(6,66700): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,66731): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,66766): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,66803): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,66865): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,66905): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,66939): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,67018): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-border-width'
(6,67056): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-border-color'
(6,67132): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-border-width'
(6,67187): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-border-width'
(6,67260): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-border-radius'
(6,67317): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-border-radius'
(6,67433): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-link-hover-border-color'
(6,67540): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-link-disabled-color'
(6,67696): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-link-active-color'
(6,67750): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-link-active-bg'
(6,67797): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-link-active-border-color'
(6,67887): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-tabs-border-width'
(6,67977): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,68015): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,68053): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,68155): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-pills-border-radius'
(6,68225): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-link-disabled-color'
(6,68374): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-pills-link-active-color'
(6,68429): run-time error CSS1039: Token not allowed after unary operator: '-bs-nav-pills-link-active-bg'
(6,68779): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,68803): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,68832): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,68870): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,68913): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,68959): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69003): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69041): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69075): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69111): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69154): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69203): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69241): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69279): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69317): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69355): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69619): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69671): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69714): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69754): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,69922): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-padding-y'
(6,69949): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-padding-x'
(6,70237): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-brand-padding-y'
(6,70285): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-brand-padding-y'
(6,70331): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-brand-margin-end'
(6,70375): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-brand-font-size'
(6,70414): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-brand-color'
(6,70529): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-brand-hover-color'
(6,70571): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,70597): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,70628): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,70656): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,70699): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,70754): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,70965): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-active-color'
(6,71096): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-color'
(6,71182): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-active-color'
(6,71300): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-toggler-padding-y'
(6,71335): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-toggler-padding-x'
(6,71380): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-toggler-font-size'
(6,71435): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-color'
(6,71494): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-width'
(6,71523): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-toggler-border-color'
(6,71575): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-toggler-border-radius'
(6,71625): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-toggler-transition'
(6,71846): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-toggler-focus-width'
(6,71989): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-toggler-icon-bg'
(6,72128): run-time error CSS1039: Token not allowed after unary operator: '-bs-scroll-height'
(6,72426): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,72475): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,73340): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,73389): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,74254): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,74303): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,75169): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,75218): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,76088): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,76137): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,76971): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,77020): run-time error CSS1039: Token not allowed after unary operator: '-bs-navbar-nav-link-padding-x'
(6,77621): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,77665): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,77715): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,77768): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,77798): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,77827): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,77862): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,77920): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78196): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78220): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78244): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78276): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78303): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78361): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78394): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78417): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78468): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78499): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78528): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78565): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78587): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78606): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78624): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78642): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78677): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,78785): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-height'
(6,78845): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-bg'
(6,78897): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-border-width'
(6,78931): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-border-color'
(6,78973): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-border-radius'
(6,79171): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,79230): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,79343): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,79404): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,79547): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-spacer-y'
(6,79571): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-spacer-x'
(6,79601): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-color'
(6,79648): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-title-spacer-y'
(6,79715): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-title-spacer-y'
(6,79834): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-spacer-x'
(6,79879): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-padding-y'
(6,79908): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-padding-x'
(6,79959): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-color'
(6,80001): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-bg'
(6,80037): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-border-width'
(6,80071): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-border-color'
(6,80138): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,80173): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,80233): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-padding-y'
(6,80262): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-padding-x'
(6,80297): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-color'
(6,80339): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-bg'
(6,80372): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-border-width'
(6,80406): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-border-color'
(6,80476): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,80511): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,80588): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-padding-x'
(6,80642): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-padding-y'
(6,80695): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-padding-x'
(6,80793): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-bg'
(6,80831): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-bg'
(6,80892): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-padding-x'
(6,80945): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-cap-padding-x'
(6,81049): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-img-overlay-padding'
(6,81098): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,81232): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,81291): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,81380): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,81441): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-inner-border-radius'
(6,81508): run-time error CSS1039: Token not allowed after unary operator: '-bs-card-group-margin'
(6,82395): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82424): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82447): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82617): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82668): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82700): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82738): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82794): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82831): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82865): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82898): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,82943): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,83239): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,83277): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,83327): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,83389): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,83692): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,83738): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,83813): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,83851): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,83886): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,83922): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,84047): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-padding-y'
(6,84081): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-padding-x'
(6,84136): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-color'
(6,84199): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-bg'
(6,84283): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-transition'
(6,84428): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-active-color'
(6,84478): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-active-bg'
(6,84537): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-border-width'
(6,84573): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-border-color'
(6,84664): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-active-icon'
(6,84710): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-icon-transform'
(6,84794): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-icon-width'
(6,84836): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-icon-width'
(6,84916): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-icon'
(6,84989): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-icon-width'
(6,85035): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-icon-transition'
(6,85237): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-focus-border-color'
(6,85301): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-btn-focus-box-shadow'
(6,85398): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-color'
(6,85441): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-bg'
(6,85471): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-border-width'
(6,85510): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-border-color'
(6,85596): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-border-radius'
(6,85654): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-border-radius'
(6,85759): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-inner-border-radius'
(6,85823): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-inner-border-radius'
(6,85968): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-border-radius'
(6,86028): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-border-radius'
(6,86146): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-inner-border-radius'
(6,86212): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-inner-border-radius'
(6,86328): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-border-radius'
(6,86388): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-border-radius'
(6,86446): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-body-padding-y'
(6,86481): run-time error CSS1039: Token not allowed after unary operator: '-bs-accordion-body-padding-x'
(6,86899): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,86927): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,86955): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,86990): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,87011): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,87043): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,87081): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,87119): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,87202): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-padding-y'
(6,87233): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-padding-x'
(6,87278): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-margin-bottom'
(6,87323): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-font-size'
(6,87387): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-bg'
(6,87425): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-border-radius'
(6,87507): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-item-padding-x'
(6,87610): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-item-padding-x'
(6,87652): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-divider-color'
(6,87695): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-divider'
(6,87759): run-time error CSS1039: Token not allowed after unary operator: '-bs-breadcrumb-item-active-color'
(6,87805): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,87839): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,87874): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,87905): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,87948): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,87972): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88005): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88042): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88081): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88136): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88169): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88212): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88267): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88300): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88372): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88406): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88440): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88484): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88523): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88556): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,88702): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-padding-y'
(6,88733): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-padding-x'
(6,88774): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-font-size'
(6,88811): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-color'
(6,88876): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-bg'
(6,88907): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-border-width'
(6,88947): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-border-color'
(6,89207): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-hover-color'
(6,89257): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-hover-bg'
(6,89300): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-hover-border-color'
(6,89373): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-focus-color'
(6,89423): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-focus-bg'
(6,89474): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-focus-box-shadow'
(6,89565): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-active-color'
(6,89616): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-active-bg'
(6,89660): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-active-border-color'
(6,89748): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-disabled-color'
(6,89821): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-disabled-bg'
(6,89867): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-disabled-border-color'
(6,90024): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-border-radius'
(6,90085): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-border-radius'
(6,90177): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-border-radius'
(6,90239): run-time error CSS1039: Token not allowed after unary operator: '-bs-pagination-border-radius'
(6,90284): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90317): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90351): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90385): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90437): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90470): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90504): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90539): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90584): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90612): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90640): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90668): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90695): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90717): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,90785): run-time error CSS1039: Token not allowed after unary operator: '-bs-badge-padding-y'
(6,90811): run-time error CSS1039: Token not allowed after unary operator: '-bs-badge-padding-x'
(6,90847): run-time error CSS1039: Token not allowed after unary operator: '-bs-badge-font-size'
(6,90885): run-time error CSS1039: Token not allowed after unary operator: '-bs-badge-font-weight'
(6,90933): run-time error CSS1039: Token not allowed after unary operator: '-bs-badge-color'
(6,91030): run-time error CSS1039: Token not allowed after unary operator: '-bs-badge-border-radius'
(6,91127): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91153): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91179): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91205): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91235): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91260): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91296): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91353): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91418): run-time error CSS1039: Token not allowed after unary operator: '-bs-alert-padding-y'
(6,91444): run-time error CSS1039: Token not allowed after unary operator: '-bs-alert-padding-x'
(6,91484): run-time error CSS1039: Token not allowed after unary operator: '-bs-alert-margin-bottom'
(6,91520): run-time error CSS1039: Token not allowed after unary operator: '-bs-alert-color'
(6,91559): run-time error CSS1039: Token not allowed after unary operator: '-bs-alert-bg'
(6,91585): run-time error CSS1039: Token not allowed after unary operator: '-bs-alert-border'
(6,91622): run-time error CSS1039: Token not allowed after unary operator: '-bs-alert-border-radius'
(6,91850): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91875): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91897): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,91987): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92012): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92034): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92124): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92149): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92171): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92256): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92281): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92303): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92388): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92413): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92435): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92522): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92547): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92569): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92654): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92679): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92701): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92784): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92809): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92831): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,92974): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,93000): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,93032): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,93057): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,93094): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,93156): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,93185): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,93214): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,93284): run-time error CSS1039: Token not allowed after unary operator: '-bs-progress-height'
(6,93336): run-time error CSS1039: Token not allowed after unary operator: '-bs-progress-font-size'
(6,93382): run-time error CSS1039: Token not allowed after unary operator: '-bs-progress-bg'
(6,93418): run-time error CSS1039: Token not allowed after unary operator: '-bs-progress-border-radius'
(6,93545): run-time error CSS1039: Token not allowed after unary operator: '-bs-progress-bar-color'
(6,93628): run-time error CSS1039: Token not allowed after unary operator: '-bs-progress-bar-bg'
(6,93665): run-time error CSS1039: Token not allowed after unary operator: '-bs-progress-bar-transition'
(6,93985): run-time error CSS1039: Token not allowed after unary operator: '-bs-progress-height'
(6,94011): run-time error CSS1039: Token not allowed after unary operator: '-bs-progress-height'
(6,94195): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94225): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94249): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94299): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94332): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94371): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94407): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94445): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94482): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94525): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94565): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94609): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94650): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94689): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94722): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94756): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94790): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,94919): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,95167): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-action-color'
(6,95296): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-action-hover-color'
(6,95374): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-action-hover-bg'
(6,95448): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-action-active-color'
(6,95506): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-action-active-bg'
(6,95601): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-item-padding-y'
(6,95637): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-item-padding-x'
(6,95679): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-color'
(6,95744): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-bg'
(6,95775): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,95815): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-color'
(6,96096): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-disabled-color'
(6,96169): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-disabled-bg'
(6,96242): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-active-color'
(6,96293): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-active-bg'
(6,96337): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-active-border-color'
(6,96493): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,96545): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,96716): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,96870): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,97067): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,97207): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,97260): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,97462): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,97619): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,97822): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,97965): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,98018): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,98221): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,98378): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,98581): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,98724): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,98777): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,98980): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,99137): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,99340): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,99483): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,99536): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,99740): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,99897): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,100100): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,100243): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,100296): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,100502): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,100660): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-radius'
(6,100865): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,101009): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,101062): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,101183): run-time error CSS1039: Token not allowed after unary operator: '-bs-list-group-border-width'
(6,104688): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,104711): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,104740): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,104768): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,104794): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,104821): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,104851): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,104870): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,104910): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,104938): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,104997): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,105031): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,105087): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,105119): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,105166): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,105228): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-max-width'
(6,105279): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-font-size'
(6,105311): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-color'
(6,105370): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-bg'
(6,105424): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-border-width'
(6,105459): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-border-color'
(6,105499): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-box-shadow'
(6,105540): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-border-radius'
(6,105638): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,105692): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-zindex'
(6,105866): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-spacing'
(6,105944): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-padding-y'
(6,105970): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-padding-x'
(6,106002): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-header-color'
(6,106048): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-header-bg'
(6,106116): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-border-width'
(6,106151): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-header-border-color'
(6,106215): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-border-radius'
(6,106247): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-border-width'
(6,106306): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-border-radius'
(6,106338): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-border-width'
(6,106417): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-padding-x'
(6,106456): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-padding-x'
(6,106502): run-time error CSS1039: Token not allowed after unary operator: '-bs-toast-padding-x'
(6,106551): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106574): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106597): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106621): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106646): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106665): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106684): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106743): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106771): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106803): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106865): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106915): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106948): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,106981): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,107017): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,107071): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,107106): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,107139): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,107168): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,107191): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,107245): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,107321): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-zindex'
(6,107474): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-margin'
(6,107829): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-margin'
(6,108060): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-margin'
(6,108173): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-color'
(6,108232): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-bg'
(6,108286): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-border-width'
(6,108321): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-border-color'
(6,108364): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-border-radius'
(6,108415): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,108441): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,108463): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,108530): run-time error CSS1039: Token not allowed after unary operator: '-bs-backdrop-zindex'
(6,108598): run-time error CSS1039: Token not allowed after unary operator: '-bs-backdrop-bg'
(6,108680): run-time error CSS1039: Token not allowed after unary operator: '-bs-backdrop-opacity'
(6,108805): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-header-padding'
(6,108850): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-header-border-width'
(6,108892): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-header-border-color'
(6,108951): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-inner-border-radius'
(6,109011): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-inner-border-radius'
(6,109085): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-header-padding-y'
(6,109129): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-header-padding-x'
(6,109186): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-header-padding-y'
(6,109231): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-header-padding-x'
(6,109276): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-header-padding-y'
(6,109356): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-title-line-height'
(6,109442): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-padding'
(6,109579): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-padding'
(6,109605): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-footer-gap'
(6,109655): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-footer-bg'
(6,109692): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-footer-border-width'
(6,109734): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-footer-border-color'
(6,109797): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-inner-border-radius'
(6,109859): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-inner-border-radius'
(6,109923): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-footer-gap'
(6,109983): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,110009): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,110094): run-time error CSS1039: Token not allowed after unary operator: '-bs-modal-width'
(6,110156): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,110225): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,110285): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112243): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112268): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112297): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112327): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112358): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112380): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112412): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112436): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112457): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112493): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112518): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112550): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,112596): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-zindex'
(6,112643): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-height'
(6,112681): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-margin'
(6,112718): run-time error CSS1039: Token not allowed after unary operator: '-bs-font-sans-serif'
(6,112990): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-font-size'
(6,113071): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-opacity'
(6,113141): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-width'
(6,113178): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-height'
(6,113543): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-height'
(6,113579): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-width'
(6,113634): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-bg'
(6,113761): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-height'
(6,113799): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-width'
(6,113967): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-width'
(6,114003): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-height'
(6,114039): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-width'
(6,114096): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-bg'
(6,114365): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-width'
(6,114401): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-height'
(6,114452): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-bg'
(6,114581): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-height'
(6,114619): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-width'
(6,114787): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-width'
(6,114830): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-width'
(6,114866): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-arrow-height'
(6,114915): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-bg'
(6,114961): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-max-width'
(6,114997): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-padding-y'
(6,115025): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-padding-x'
(6,115059): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-color'
(6,115118): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-bg'
(6,115153): run-time error CSS1039: Token not allowed after unary operator: '-bs-tooltip-border-radius'
(6,115189): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115214): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115243): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115275): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115296): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115326): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115387): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115421): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115473): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115531): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115566): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115603): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115638): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115666): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115697): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115730): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115763): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115795): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115825): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115858): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,115928): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-zindex'
(6,115977): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-max-width'
(6,116017): run-time error CSS1039: Token not allowed after unary operator: '-bs-font-sans-serif'
(6,116289): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-font-size'
(6,116355): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-bg'
(6,116411): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,116448): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-color'
(6,116493): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-radius'
(6,116569): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,116606): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,116911): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,116945): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,117202): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,117238): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,117409): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-border'
(6,117552): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,117600): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-bg'
(6,117730): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,117764): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,117802): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,117840): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,118104): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,118140): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,118176): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,118349): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-border'
(6,118492): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,118542): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-bg'
(6,118675): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,118709): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,118985): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,119021): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,119191): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-border'
(6,119337): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,119388): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-bg'
(6,119577): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,119630): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,119686): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,119723): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-header-bg'
(6,119862): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,119896): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,119934): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,119972): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,120238): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,120281): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-width'
(6,120317): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-height'
(6,120484): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-arrow-border'
(6,120629): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,120678): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-bg'
(6,120723): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-header-padding-y'
(6,120758): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-header-padding-x'
(6,120819): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-header-font-size'
(6,120860): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-header-color'
(6,120908): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-header-bg'
(6,120950): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-width'
(6,120987): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-border-color'
(6,121041): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-inner-border-radius'
(6,121103): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-inner-border-radius'
(6,121198): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-body-padding-y'
(6,121231): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-body-padding-x'
(6,121270): run-time error CSS1039: Token not allowed after unary operator: '-bs-popover-body-color'
(6,124993): run-time error CSS1039: Token not allowed after unary operator: '-bs-spinner-width'
(6,125024): run-time error CSS1039: Token not allowed after unary operator: '-bs-spinner-height'
(6,125064): run-time error CSS1039: Token not allowed after unary operator: '-bs-spinner-vertical-align'
(6,125125): run-time error CSS1039: Token not allowed after unary operator: '-bs-spinner-animation-speed'
(6,125175): run-time error CSS1039: Token not allowed after unary operator: '-bs-spinner-animation-name'
(6,125274): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125298): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125323): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125360): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125393): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125428): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125483): run-time error CSS1039: Token not allowed after unary operator: '-bs-spinner-border-width'
(6,125578): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125602): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125627): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125749): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125773): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125798): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125835): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125870): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125968): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,125992): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126086): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126203): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126230): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126257): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126284): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126314): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126344): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126367): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126390): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126422): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126485): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,126630): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-zindex'
(6,126713): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-color'
(6,126774): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-bg'
(6,127045): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,127084): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,127123): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,127261): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,127299): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,127338): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,127483): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,127540): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,127579): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,127722): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,127776): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,127815): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,128118): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,128145): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,128462): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-zindex'
(6,128545): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-color'
(6,128606): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-bg'
(6,128877): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,128916): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,128955): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,129093): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,129131): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,129170): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,129315): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,129372): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,129411): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,129554): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,129608): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,129647): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,129950): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,129977): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,130294): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-zindex'
(6,130377): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-color'
(6,130438): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-bg'
(6,130709): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,130748): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,130787): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,130925): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,130963): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,131002): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,131147): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,131204): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,131243): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,131386): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,131440): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,131479): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,131782): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,131809): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,132127): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-zindex'
(6,132210): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-color'
(6,132271): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-bg'
(6,132544): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,132583): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,132622): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,132761): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,132799): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,132838): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,132984): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,133041): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,133080): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,133224): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,133278): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,133317): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,133623): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,133650): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,133969): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-zindex'
(6,134052): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-color'
(6,134113): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-bg'
(6,134388): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,134427): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,134466): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,134606): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,134644): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,134683): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,134830): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,134887): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,134926): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,135071): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,135125): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,135164): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,135476): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,135503): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,135791): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-zindex'
(6,135874): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-color'
(6,135935): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-bg'
(6,136146): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,136185): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,136224): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,136330): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-width'
(6,136368): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,136407): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,136520): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,136577): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,136616): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,136727): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-height'
(6,136781): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-width'
(6,136820): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-border-color'
(6,137282): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-padding-y'
(6,137312): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-padding-x'
(6,137384): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-padding-y'
(6,137425): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-padding-x'
(6,137483): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-padding-y'
(6,137538): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-padding-x'
(6,137594): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-padding-y'
(6,137710): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-padding-y'
(6,137740): run-time error CSS1039: Token not allowed after unary operator: '-bs-offcanvas-padding-x'
(6,138668): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,138776): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,138880): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,138982): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,139086): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,139189): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,139293): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,139393): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,140299): run-time error CSS1039: Token not allowed after unary operator: '-bs-aspect-ratio'
(6,140402): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,140436): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,140470): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,140507): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,144543): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-width'
(6,144566): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-style'
(6,144589): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-color'
(6,144674): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-width'
(6,144697): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-style'
(6,144720): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-color'
(6,144815): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-width'
(6,144838): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-style'
(6,144861): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-color'
(6,144962): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-width'
(6,144985): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-style'
(6,145008): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-color'
(6,145110): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-width'
(6,145133): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-style'
(6,145156): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-color'
(6,145240): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,145285): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary-rgb'
(6,145307): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-opacity'
(6,145356): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,145401): run-time error CSS1039: Token not allowed after unary operator: '-bs-secondary-rgb'
(6,145425): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-opacity'
(6,145472): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,145517): run-time error CSS1039: Token not allowed after unary operator: '-bs-success-rgb'
(6,145539): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-opacity'
(6,145583): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,145628): run-time error CSS1039: Token not allowed after unary operator: '-bs-info-rgb'
(6,145647): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-opacity'
(6,145694): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,145739): run-time error CSS1039: Token not allowed after unary operator: '-bs-warning-rgb'
(6,145761): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-opacity'
(6,145807): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,145852): run-time error CSS1039: Token not allowed after unary operator: '-bs-danger-rgb'
(6,145873): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-opacity'
(6,145918): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,145963): run-time error CSS1039: Token not allowed after unary operator: '-bs-light-rgb'
(6,145983): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-opacity'
(6,146027): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146072): run-time error CSS1039: Token not allowed after unary operator: '-bs-dark-rgb'
(6,146091): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-opacity'
(6,146136): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146181): run-time error CSS1039: Token not allowed after unary operator: '-bs-white-rgb'
(6,146201): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-opacity'
(6,146242): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146274): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146306): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146338): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146370): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146411): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146454): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146498): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146541): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,146586): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,153043): run-time error CSS1039: Token not allowed after unary operator: '-bs-font-monospace'
(6,154395): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,154431): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary-rgb'
(6,154453): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,154498): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,154534): run-time error CSS1039: Token not allowed after unary operator: '-bs-secondary-rgb'
(6,154558): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,154601): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,154637): run-time error CSS1039: Token not allowed after unary operator: '-bs-success-rgb'
(6,154659): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,154699): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,154735): run-time error CSS1039: Token not allowed after unary operator: '-bs-info-rgb'
(6,154754): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,154797): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,154833): run-time error CSS1039: Token not allowed after unary operator: '-bs-warning-rgb'
(6,154855): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,154897): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,154933): run-time error CSS1039: Token not allowed after unary operator: '-bs-danger-rgb'
(6,154954): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,154995): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155031): run-time error CSS1039: Token not allowed after unary operator: '-bs-light-rgb'
(6,155051): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,155091): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155127): run-time error CSS1039: Token not allowed after unary operator: '-bs-dark-rgb'
(6,155146): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,155187): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155223): run-time error CSS1039: Token not allowed after unary operator: '-bs-black-rgb'
(6,155243): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,155284): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155320): run-time error CSS1039: Token not allowed after unary operator: '-bs-white-rgb'
(6,155340): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,155380): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155416): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-color-rgb'
(6,155441): run-time error CSS1039: Token not allowed after unary operator: '-bs-text-opacity'
(6,155482): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155541): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155607): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155676): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155737): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155777): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155816): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155857): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155889): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,155934): run-time error CSS1039: Token not allowed after unary operator: '-bs-primary-rgb'
(6,155956): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,155997): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,156042): run-time error CSS1039: Token not allowed after unary operator: '-bs-secondary-rgb'
(6,156066): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,156105): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,156150): run-time error CSS1039: Token not allowed after unary operator: '-bs-success-rgb'
(6,156172): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,156208): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,156253): run-time error CSS1039: Token not allowed after unary operator: '-bs-info-rgb'
(6,156272): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,156311): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,156356): run-time error CSS1039: Token not allowed after unary operator: '-bs-warning-rgb'
(6,156378): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,156416): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,156461): run-time error CSS1039: Token not allowed after unary operator: '-bs-danger-rgb'
(6,156482): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,156519): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,156564): run-time error CSS1039: Token not allowed after unary operator: '-bs-light-rgb'
(6,156584): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,156620): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,156665): run-time error CSS1039: Token not allowed after unary operator: '-bs-dark-rgb'
(6,156684): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,156721): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,156766): run-time error CSS1039: Token not allowed after unary operator: '-bs-black-rgb'
(6,156786): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,156823): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,156868): run-time error CSS1039: Token not allowed after unary operator: '-bs-white-rgb'
(6,156888): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,156924): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,156969): run-time error CSS1039: Token not allowed after unary operator: '-bs-body-bg-rgb'
(6,156991): run-time error CSS1039: Token not allowed after unary operator: '-bs-bg-opacity'
(6,157034): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,157106): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,157141): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,157177): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,157212): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,157249): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(6,157302): run-time error CSS1039: Token not allowed after unary operator: '-bs-gradient'
(6,157764): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius'
(6,157860): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius-sm'
(6,157922): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius'
(6,157981): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius-lg'
(6,158043): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius-xl'
(6,158105): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius-2xl'
(6,158215): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius-pill'
(6,158290): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius'
(6,158348): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius'
(6,158419): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius'
(6,158480): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius'
(6,158557): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius'
(6,158617): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius'
(6,158692): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius'
(6,158749): run-time error CSS1039: Token not allowed after unary operator: '-bs-border-radius'
(9,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(12,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(13,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(14,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(16,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(17,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(18,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(19,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(21,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(22,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(23,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(24,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(26,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(27,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(30,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(31,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(32,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(39,22): run-time error CSS1039: Token not allowed after unary operator: '-his-page-gradient'
(40,17): run-time error CSS1039: Token not allowed after unary operator: '-his-text'
(186,24): run-time error CSS1039: Token not allowed after unary operator: '-clinic-rounded-shield-mask'
(187,16): run-time error CSS1039: Token not allowed after unary operator: '-clinic-rounded-shield-mask'
(573,24): run-time error CSS1039: Token not allowed after unary operator: '-clinic-rounded-shield-mask'
(574,16): run-time error CSS1039: Token not allowed after unary operator: '-clinic-rounded-shield-mask'
(585,24): run-time error CSS1039: Token not allowed after unary operator: '-clinic-rounded-shield-mask'
(586,16): run-time error CSS1039: Token not allowed after unary operator: '-clinic-rounded-shield-mask'
(1826,45): run-time error CSS1039: Token not allowed after unary operator: '-his-green-2'
(1826,68): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(1826,90): run-time error CSS1039: Token not allowed after unary operator: '-his-blue'
(1842,22): run-time error CSS1039: Token not allowed after unary operator: '-his-peach'
(1843,17): run-time error CSS1039: Token not allowed after unary operator: '-his-medical-green-strong'
(1887,17): run-time error CSS1039: Token not allowed after unary operator: '-his-muted'
(1914,17): run-time error CSS1039: Token not allowed after unary operator: '-his-muted'
(1925,22): run-time error CSS1039: Token not allowed after unary operator: '-his-panel'
(1926,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(1940,17): run-time error CSS1039: Token not allowed after unary operator: '-his-muted'
(1960,17): run-time error CSS1039: Token not allowed after unary operator: '-his-text'
(1971,17): run-time error CSS1039: Token not allowed after unary operator: '-his-muted'
(1976,22): run-time error CSS1039: Token not allowed after unary operator: '-his-medical-green'
(1978,24): run-time error CSS1039: Token not allowed after unary operator: '-his-medical-green'
(1988,22): run-time error CSS1039: Token not allowed after unary operator: '-his-peach'
(1989,17): run-time error CSS1039: Token not allowed after unary operator: '-his-medical-green-strong'
(2009,17): run-time error CSS1039: Token not allowed after unary operator: '-his-warning'
(2040,22): run-time error CSS1039: Token not allowed after unary operator: '-his-panel'
(2041,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(2060,22): run-time error CSS1039: Token not allowed after unary operator: '-his-medical-panel'
(2061,17): run-time error CSS1039: Token not allowed after unary operator: '-his-muted'
(2067,17): run-time error CSS1039: Token not allowed after unary operator: '-his-medical-green-strong'
(2088,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(2090,22): run-time error CSS1039: Token not allowed after unary operator: '-his-peach'
(2091,17): run-time error CSS1039: Token not allowed after unary operator: '-his-medical-green-strong'
(2100,22): run-time error CSS1039: Token not allowed after unary operator: '-his-medical-green'
(2102,24): run-time error CSS1039: Token not allowed after unary operator: '-his-medical-green'
(2127,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(2133,22): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(2135,24): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(2147,17): run-time error CSS1039: Token not allowed after unary operator: '-his-muted'
(2156,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(2202,22): run-time error CSS1039: Token not allowed after unary operator: '-his-peach'
(2231,17): run-time error CSS1039: Token not allowed after unary operator: '-his-blue'
(2242,17): run-time error CSS1039: Token not allowed after unary operator: '-his-warning'
(2249,17): run-time error CSS1039: Token not allowed after unary operator: '-his-blue'
(2282,22): run-time error CSS1039: Token not allowed after unary operator: '-his-bg'
(2610,17): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(2683,17): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(2702,22): run-time error CSS1039: Token not allowed after unary operator: '-his-bg'
(2716,22): run-time error CSS1039: Token not allowed after unary operator: '-his-bg'
(2745,22): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(2752,17): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(2776,17): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(2814,24): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(2851,17): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(2857,22): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(2859,24): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(3005,17): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(3016,17): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(3060,22): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(3061,24): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(3086,17): run-time error CSS1039: Token not allowed after unary operator: '-his-green'
(3108,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3109,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3110,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3111,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3112,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3113,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3114,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3619,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3620,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3621,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3622,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3623,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(3685,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(3704,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent'
(3719,35): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(3750,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(3773,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-muted'
(3851,35): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(3856,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent'
(3863,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(3943,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(3967,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent'
(3983,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(3992,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-muted'
(4020,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-muted'
(4026,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(4042,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent'
(6247,39): run-time error CSS1030: Expected identifier, found ':'
(6247,47): run-time error CSS1031: Expected selector, found ')'
(6247,47): run-time error CSS1025: Expected comma or open brace, found ')'
(8370,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8371,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8372,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8373,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8374,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8375,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8376,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8379,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(8384,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(8391,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(8398,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-muted'
(8411,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(8442,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent-strong'
(8460,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent-strong'
(8461,36): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(8481,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(8519,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(8523,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(8585,22): run-time error CSS1039: Token not allowed after unary operator: '-his-bg'
(8607,22): run-time error CSS1039: Token not allowed after unary operator: '-his-page-gradient'
(8616,35): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(8902,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line-strong'
(8905,22): run-time error CSS1039: Token not allowed after unary operator: '-his-card-gradient'
(8908,22): run-time error CSS1039: Token not allowed after unary operator: '-his-clinical-shadow'
(8925,22): run-time error CSS1039: Token not allowed after unary operator: '-card-soft'
(8926,17): run-time error CSS1039: Token not allowed after unary operator: '-card-color'
(8969,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8970,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8974,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8975,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8979,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8980,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8984,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8985,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8989,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8990,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8994,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8995,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8999,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9000,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9012,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line-strong'
(9014,22): run-time error CSS1039: Token not allowed after unary operator: '-his-card-gradient'
(9015,22): run-time error CSS1039: Token not allowed after unary operator: '-his-clinical-shadow'
(9025,35): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(9026,57): run-time error CSS1039: Token not allowed after unary operator: '-his-sky'
(9073,17): run-time error CSS1039: Token not allowed after unary operator: '-his-blue'
(9108,22): run-time error CSS1039: Token not allowed after unary operator: '-his-mint'
(9144,22): run-time error CSS1039: Token not allowed after unary operator: '-his-rose'
(9154,22): run-time error CSS1039: Token not allowed after unary operator: '-his-amber'
(9164,22): run-time error CSS1039: Token not allowed after unary operator: '-his-sky'
(9180,32): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(9315,35): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(9355,35): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(9394,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line-strong'
(10404,22): run-time error CSS1039: Token not allowed after unary operator: '-his-page-gradient'
(10436,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line-strong'
(10439,22): run-time error CSS1039: Token not allowed after unary operator: '-his-card-gradient'
(10454,34): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(10455,22): run-time error CSS1039: Token not allowed after unary operator: '-his-sky'
(10479,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line-strong'
(10521,22): run-time error CSS1039: Token not allowed after unary operator: '-his-rose'
(10551,22): run-time error CSS1039: Token not allowed after unary operator: '-his-mint'
(10561,58): run-time error CSS1039: Token not allowed after unary operator: '-his-green-2'
(10605,58): run-time error CSS1039: Token not allowed after unary operator: '-his-green-2'
(10611,22): run-time error CSS1039: Token not allowed after unary operator: '-his-sky'
(10612,17): run-time error CSS1039: Token not allowed after unary operator: '-his-blue'
(10613,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line-strong'
(10622,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line-strong'
(10666,22): run-time error CSS1039: Token not allowed after unary operator: '-his-mint'
(10686,46): run-time error CSS1039: Token not allowed after unary operator: '-his-sky'
(10767,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line-strong'
(10787,22): run-time error CSS1039: Token not allowed after unary operator: '-his-mint'
(10808,28): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(10827,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10828,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11117,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11121,31): run-time error CSS1039: Token not allowed after unary operator: '-registered-column-width'
(11122,27): run-time error CSS1039: Token not allowed after unary operator: '-registered-column-width'
(11123,22): run-time error CSS1039: Token not allowed after unary operator: '-registered-column-width'
(11128,17): run-time error CSS1039: Token not allowed after unary operator: '-registered-column-width'
(13196,22): run-time error CSS1039: Token not allowed after unary operator: '-his-page-gradient'
(13203,35): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(13204,70): run-time error CSS1039: Token not allowed after unary operator: '-his-sky'
(13301,22): run-time error CSS1039: Token not allowed after unary operator: '-his-page-gradient'
(13305,22): run-time error CSS1039: Token not allowed after unary operator: '-his-page-gradient'
(13313,24): run-time error CSS1039: Token not allowed after unary operator: '-his-line-strong'
(13315,22): run-time error CSS1039: Token not allowed after unary operator: '-his-card-gradient'
(13320,58): run-time error CSS1039: Token not allowed after unary operator: '-his-sky'
(13320,78): run-time error CSS1039: Token not allowed after unary operator: '-his-mint'
(13364,22): run-time error CSS1039: Token not allowed after unary operator: '-his-sky'
(13365,17): run-time error CSS1039: Token not allowed after unary operator: '-his-blue'
(13370,22): run-time error CSS1039: Token not allowed after unary operator: '-his-amber'
(13375,33): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(13411,22): run-time error CSS1039: Token not allowed after unary operator: '-his-page-gradient'
(13418,35): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(13469,24): run-time error CSS1039: Token not allowed after unary operator: '-his-line-strong'
(13472,22): run-time error CSS1039: Token not allowed after unary operator: '-his-clinical-shadow'
(13487,22): run-time error CSS1039: Token not allowed after unary operator: '-his-card-gradient'
(13491,58): run-time error CSS1039: Token not allowed after unary operator: '-his-sky'
(13495,58): run-time error CSS1039: Token not allowed after unary operator: '-his-violet'
(13499,58): run-time error CSS1039: Token not allowed after unary operator: '-his-amber'
(13537,31): run-time error CSS1039: Token not allowed after unary operator: '-his-line'
(13538,57): run-time error CSS1039: Token not allowed after unary operator: '-his-sky'
(15448,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15449,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15450,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15451,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15452,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15453,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15454,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15455,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15456,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15457,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15458,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15459,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15470,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-ink'
(15498,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(15500,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel'
(15501,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-muted'
(15524,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(15534,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-ink'
(15625,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(15627,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel'
(15635,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal'
(15644,34): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(15645,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-soft-blue'
(15671,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(15673,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel'
(15674,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-ink'
(15693,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(15713,24): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal'
(15714,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal'
(15723,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(15847,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(15867,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal'
(15875,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(15925,24): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal'
(18208,33): run-time error CSS1039: Token not allowed after unary operator: '-soap-coral'
(18244,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(18246,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(18256,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(18258,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel'
(18263,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(18266,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel'
(18267,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-ink'
(18295,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(18365,27): run-time error CSS1039: Token not allowed after unary operator: '-soap-tray-drug-row-height'
(18366,27): run-time error CSS1039: Token not allowed after unary operator: '-soap-tray-drug-row-height'
(18370,26): run-time error CSS1039: Token not allowed after unary operator: '-soap-tray-drug-row-height'
(18381,27): run-time error CSS1039: Token not allowed after unary operator: '-soap-tray-drug-row-height'
(18394,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-tray-drug-row-height'
(19313,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel'
(19314,32): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(19322,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(19323,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel'
(19324,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-ink'
(19334,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(19335,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-soft-blue'
(19363,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-ink'
(19385,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(19436,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(19453,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel'
(19462,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel'
(19477,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-soft-blue'
(19478,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(19499,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-ink'
(19827,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel-muted'
(19836,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-blue'
(20025,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-muted'
(20035,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(20037,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel'
(20047,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(20048,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-panel-muted'
(20049,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-ink'
(20055,31): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal'
(20056,22): run-time error CSS1039: Token not allowed after unary operator: '-soap-soft'
(20057,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(20075,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-muted'
(20095,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-teal-dark'
(20101,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-muted'
(20120,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-ink'
(20144,28): run-time error CSS1039: Token not allowed after unary operator: '-soap-line'
(20218,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-muted'
(20250,17): run-time error CSS1039: Token not allowed after unary operator: '-soap-muted'
(20747,31): run-time error CSS1039: Token not allowed after unary operator: '-soap-tray-drug-row-height'
(20748,31): run-time error CSS1039: Token not allowed after unary operator: '-soap-tray-drug-row-height'
(20749,30): run-time error CSS1039: Token not allowed after unary operator: '-soap-tray-drug-row-height'
(20753,26): run-time error CSS1039: Token not allowed after unary operator: '-soap-tray-drug-row-height'
(23041,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(23042,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(23043,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(23044,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(23045,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(23054,17): run-time error CSS1039: Token not allowed after unary operator: '-board-text'
(23101,17): run-time error CSS1039: Token not allowed after unary operator: '-board-green'
(23195,28): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(23233,28): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(23243,34): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(23308,28): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(23332,28): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(23434,28): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(23473,28): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(23535,28): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(23587,28): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(28393,38): run-time error CSS1030: Expected identifier, found '.'
(28393,39): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28393,61): run-time error CSS1031: Expected selector, found ')'
(28393,61): run-time error CSS1025: Expected comma or open brace, found ')'
(28402,38): run-time error CSS1030: Expected identifier, found '.'
(28402,39): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28402,61): run-time error CSS1031: Expected selector, found ')'
(28402,61): run-time error CSS1025: Expected comma or open brace, found ')'
(28407,38): run-time error CSS1030: Expected identifier, found '.'
(28407,39): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28407,61): run-time error CSS1031: Expected selector, found ')'
(28407,61): run-time error CSS1025: Expected comma or open brace, found ')'
(28412,38): run-time error CSS1030: Expected identifier, found '.'
(28412,39): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28412,61): run-time error CSS1031: Expected selector, found ')'
(28412,61): run-time error CSS1025: Expected comma or open brace, found ')'
(28431,38): run-time error CSS1030: Expected identifier, found '.'
(28431,39): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28431,61): run-time error CSS1031: Expected selector, found ')'
(28431,61): run-time error CSS1025: Expected comma or open brace, found ')'
(28443,42): run-time error CSS1030: Expected identifier, found '.'
(28443,43): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28443,65): run-time error CSS1031: Expected selector, found ')'
(28443,65): run-time error CSS1025: Expected comma or open brace, found ')'
(28449,42): run-time error CSS1030: Expected identifier, found '.'
(28449,43): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28449,65): run-time error CSS1031: Expected selector, found ')'
(28449,65): run-time error CSS1025: Expected comma or open brace, found ')'
(28459,38): run-time error CSS1030: Expected identifier, found '.'
(28459,39): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28459,61): run-time error CSS1031: Expected selector, found ')'
(28459,61): run-time error CSS1025: Expected comma or open brace, found ')'
(28463,38): run-time error CSS1030: Expected identifier, found '.'
(28463,39): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28463,61): run-time error CSS1031: Expected selector, found ')'
(28463,61): run-time error CSS1025: Expected comma or open brace, found ')'
(28469,38): run-time error CSS1030: Expected identifier, found '.'
(28469,39): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28469,61): run-time error CSS1031: Expected selector, found ')'
(28469,61): run-time error CSS1025: Expected comma or open brace, found ')'
(28478,42): run-time error CSS1030: Expected identifier, found '.'
(28478,43): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28478,65): run-time error CSS1031: Expected selector, found ')'
(28478,65): run-time error CSS1025: Expected comma or open brace, found ')'
(28483,42): run-time error CSS1030: Expected identifier, found '.'
(28483,43): run-time error CSS1030: Expected identifier, found 'registration-age-field'
(28483,65): run-time error CSS1031: Expected selector, found ')'
(28483,65): run-time error CSS1025: Expected comma or open brace, found ')'
(28670,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28671,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28672,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28673,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28674,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28675,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28676,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28677,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28737,21): run-time error CSS1039: Token not allowed after unary operator: '-rwd-header-title'
(28746,21): run-time error CSS1039: Token not allowed after unary operator: '-rwd-header-title'
(28759,21): run-time error CSS1039: Token not allowed after unary operator: '-rwd-header-meta'
(28800,21): run-time error CSS1039: Token not allowed after unary operator: '-rwd-toolbar-label'
(28821,21): run-time error CSS1039: Token not allowed after unary operator: '-rwd-toolbar-value'
(28896,21): run-time error CSS1039: Token not allowed after unary operator: '-rwd-table-head'
(28907,21): run-time error CSS1039: Token not allowed after unary operator: '-rwd-table-cell'
(28960,21): run-time error CSS1039: Token not allowed after unary operator: '-rwd-screening-label'
(29019,21): run-time error CSS1039: Token not allowed after unary operator: '-rwd-button-label'
(29076,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29077,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29078,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29079,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29080,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29081,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29082,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29083,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29214,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29215,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29216,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29217,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29218,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29219,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29220,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29221,9): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(30131,28): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(30178,28): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(30326,34): run-time error CSS1039: Token not allowed after unary operator: '-board-line'
(32177,41): run-time error CSS1030: Expected identifier, found ':'
(32177,49): run-time error CSS1031: Expected selector, found ')'
(32177,49): run-time error CSS1025: Expected comma or open brace, found ')'
(33764,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33765,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33766,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33767,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33768,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33769,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33770,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33792,24): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(33804,35): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(33814,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-ink'
(33820,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(33829,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-ink'
(33838,24): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(33845,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-ink'
(33889,34): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(33890,35): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(33953,28): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(33957,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(33969,24): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(33975,24): run-time error CSS1039: Token not allowed after unary operator: '-employee-danger'
(33976,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-danger'
(33993,28): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(34008,35): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(34021,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(34027,24): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(34052,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-ink'
(34073,28): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(34077,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-ink'
(34137,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-ink'
(34183,24): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(34192,32): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(34200,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-ink'
(34208,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-muted'
(34229,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(34243,24): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(34266,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(34272,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-muted'
(34357,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34358,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34359,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34360,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34361,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34362,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34363,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34364,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34365,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34366,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34370,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(34392,35): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(34393,58): run-time error CSS1039: Token not allowed after unary operator: '-settings-panel'
(34397,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-top'
(34405,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-muted'
(34431,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent-strong'
(34432,58): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent-strong'
(34440,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(34442,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(34449,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(34451,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent-strong'
(34482,28): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(34484,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-surface'
(34556,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-surface'
(34562,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(34570,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent-strong'
(34576,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-top'
(34591,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(34592,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-selected'
(34593,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent-strong'
(34594,36): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(34604,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-panel'
(34605,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(34606,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-top'
(34617,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(34625,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-soft'
(34634,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-selected'
(34635,36): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(34647,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(34650,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-ink'
(34660,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(34670,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(34675,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(34676,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(34688,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(34689,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-panel'
(34696,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(34715,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(34717,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent-strong'
(34721,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(34722,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-surface'
(36684,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(36690,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(36691,22): run-time error CSS1039: Token not allowed after unary operator: '-settings-medical-green'
(36695,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(36700,17): run-time error CSS1039: Token not allowed after unary operator: '-settings-accent-strong'
(36720,24): run-time error CSS1039: Token not allowed after unary operator: '-settings-line'
(36768,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(36769,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(36770,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(36771,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(36772,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(36773,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(36779,24): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(36788,35): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(36789,58): run-time error CSS1039: Token not allowed after unary operator: '-employee-soft'
(36796,17): run-time error CSS1039: Token not allowed after unary operator: '-employee-ink'
(36801,24): run-time error CSS1039: Token not allowed after unary operator: '-employee-line'
(36807,24): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(36808,22): run-time error CSS1039: Token not allowed after unary operator: '-employee-accent'
(36834,21): run-time error CSS1039: Token not allowed after unary operator: '-rwd-button-label'
(40524,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40525,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40526,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40527,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40528,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40529,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40530,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(40600,17): run-time error CSS1039: Token not allowed after unary operator: '-hp-ink'
(42603,72): run-time error CSS1030: Expected identifier, found ':'
(42603,80): run-time error CSS1031: Expected selector, found ')'
(42603,80): run-time error CSS1025: Expected comma or open brace, found ')'
(42637,32): run-time error CSS1030: Expected identifier, found ':'
(42637,40): run-time error CSS1031: Expected selector, found ')'
(42637,40): run-time error CSS1025: Expected comma or open brace, found ')'
 */
@charset "UTF-8";/*!
 * Bootstrap  v5.2.3 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-2xl:2rem;--bs-border-radius-pill:50rem;--bs-link-color:#0d6efd;--bs-link-hover-color:#0a58ca;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:1px solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--bs-link-color);text-decoration:underline}a:hover{color:var(--bs-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid var(--bs-border-color);border-radius:.375rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color:var(--bs-body-color);--bs-table-bg:transparent;--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-body-color);--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:var(--bs-body-color);--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:var(--bs-body-color);--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:var(--bs-table-color);vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#bacbe6;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#cbccce;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#bcd0c7;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#badce3;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#e6dbb9;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#dfc2c4;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#dfe0e1;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#373b3e;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + .75rem + 2px);padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:.375rem}.form-control-color::-webkit-color-swatch{border-radius:.375rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.25rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.5rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.375rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.5rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.375rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.375rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:#212529;--bs-btn-bg:transparent;--bs-btn-border-width:1px;--bs-btn-border-color:transparent;--bs-btn-border-radius:0.375rem;--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:0.5rem}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:0.25rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:#212529;--bs-dropdown-bg:#fff;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:0.375rem;--bs-dropdown-border-width:1px;--bs-dropdown-inner-border-radius:calc(0.375rem - 1px);--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-dropdown-link-color:#212529;--bs-dropdown-link-hover-color:#1e2125;--bs-dropdown-link-hover-bg:#e9ecef;--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.375rem}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:#6c757d;display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link.disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:1px;--bs-nav-tabs-border-color:#dee2e6;--bs-nav-tabs-border-radius:0.375rem;--bs-nav-tabs-link-hover-border-color:#e9ecef #e9ecef #dee2e6;--bs-nav-tabs-link-active-color:#495057;--bs-nav-tabs-link-active-bg:#fff;--bs-nav-tabs-link-active-border-color:#dee2e6 #dee2e6 #fff;border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));background:0 0;border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:0.375rem;--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--bs-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(0, 0, 0, 0.55);--bs-navbar-hover-color:rgba(0, 0, 0, 0.7);--bs-navbar-disabled-color:rgba(0, 0, 0, 0.3);--bs-navbar-active-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(0, 0, 0, 0.9);--bs-navbar-brand-hover-color:rgba(0, 0, 0, 0.9);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--bs-navbar-toggler-border-radius:0.375rem;--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-border-width:1px;--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:0.375rem;--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(0.375rem - 1px);--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(0, 0, 0, 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:#fff;--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:#212529;--bs-accordion-bg:#fff;--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:1px;--bs-accordion-border-radius:0.375rem;--bs-accordion-inner-border-radius:calc(0.375rem - 1px);--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:#212529;--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-focus-border-color:#86b7fe;--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:#0c63e4;--bs-accordion-active-bg:#e7f1ff}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--bs-accordion-btn-focus-border-color);outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:#6c757d;--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:#6c757d;display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:#fff;--bs-pagination-border-width:1px;--bs-pagination-border-color:#dee2e6;--bs-pagination-border-radius:0.375rem;--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:#e9ecef;--bs-pagination-hover-border-color:#dee2e6;--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:#e9ecef;--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:#6c757d;--bs-pagination-disabled-bg:#fff;--bs-pagination-disabled-border-color:#dee2e6;display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:0.5rem}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:0.25rem}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:0.375rem;display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:1px solid var(--bs-alert-border-color);--bs-alert-border-radius:0.375rem;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:#084298;--bs-alert-bg:#cfe2ff;--bs-alert-border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{--bs-alert-color:#41464b;--bs-alert-bg:#e2e3e5;--bs-alert-border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{--bs-alert-color:#0f5132;--bs-alert-bg:#d1e7dd;--bs-alert-border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{--bs-alert-color:#055160;--bs-alert-bg:#cff4fc;--bs-alert-border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{--bs-alert-color:#664d03;--bs-alert-bg:#fff3cd;--bs-alert-border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{--bs-alert-color:#842029;--bs-alert-bg:#f8d7da;--bs-alert-border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{--bs-alert-color:#636464;--bs-alert-bg:#fefefe;--bs-alert-border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{--bs-alert-color:#141619;--bs-alert-bg:#d3d3d4;--bs-alert-border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:#e9ecef;--bs-progress-border-radius:0.375rem;--bs-progress-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:#212529;--bs-list-group-bg:#fff;--bs-list-group-border-color:rgba(0, 0, 0, 0.125);--bs-list-group-border-width:1px;--bs-list-group-border-radius:0.375rem;--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:#495057;--bs-list-group-action-hover-color:#495057;--bs-list-group-action-hover-bg:#f8f9fa;--bs-list-group-action-active-color:#212529;--bs-list-group-action-active-bg:#e9ecef;--bs-list-group-disabled-color:#6c757d;--bs-list-group-disabled-bg:#fff;--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(255, 255, 255, 0.85);--bs-toast-border-width:1px;--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:0.375rem;--bs-toast-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-toast-header-color:#6c757d;--bs-toast-header-bg:rgba(255, 255, 255, 0.85);--bs-toast-header-border-color:rgba(0, 0, 0, 0.05);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:#fff;--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:1px;--bs-modal-border-radius:0.5rem;--bs-modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-modal-inner-border-radius:calc(0.5rem - 1px);--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:1px;--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:1px;position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:#fff;--bs-tooltip-bg:#000;--bs-tooltip-border-radius:0.375rem;--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;padding:var(--bs-tooltip-arrow-height);margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:#fff;--bs-popover-border-width:1px;--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:0.5rem;--bs-popover-inner-border-radius:calc(0.5rem - 1px);--bs-popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color: ;--bs-popover-header-bg:#f0f0f0;--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:#212529;--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color: ;--bs-offcanvas-bg:#fff;--bs-offcanvas-border-width:1px;--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075)}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:575.98px){.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}}@media (max-width:575.98px){.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:767.98px){.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:767.98px){.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}}@media (max-width:767.98px){.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:991.98px){.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}}@media (max-width:991.98px){.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1199.98px){.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}}@media (max-width:1199.98px){.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}}@media (max-width:1399.98px){.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}}@media (max-width:1399.98px){.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(13,110,253,var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(108,117,125,var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(25,135,84,var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(13,202,240,var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(255,193,7,var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(220,53,69,var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(248,249,250,var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(33,37,41,var(--bs-bg-opacity,1))!important}.link-primary{color:#0d6efd!important}.link-primary:focus,.link-primary:hover{color:#0a58ca!important}.link-secondary{color:#6c757d!important}.link-secondary:focus,.link-secondary:hover{color:#565e64!important}.link-success{color:#198754!important}.link-success:focus,.link-success:hover{color:#146c43!important}.link-info{color:#0dcaf0!important}.link-info:focus,.link-info:hover{color:#3dd5f3!important}.link-warning{color:#ffc107!important}.link-warning:focus,.link-warning:hover{color:#ffcd39!important}.link-danger{color:#dc3545!important}.link-danger:focus,.link-danger:hover{color:#b02a37!important}.link-light{color:#f8f9fa!important}.link-light:focus,.link-light:hover{color:#f9fafb!important}.link-dark{color:#212529!important}.link-dark:focus,.link-dark:hover{color:#1a1e21!important}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){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}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-1{--bs-border-width:1px}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-semibold{font-weight:600!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
/*# sourceMappingURL=bootstrap.min.css.map */
:root {
    --his-green: #009b86;
    --his-green-2: #007f79;
    --his-bg: #f5fbff;
    --his-panel: #ffffff;
    --his-line: #d5e4ec;
    --his-line-strong: #c1d8e5;
    --his-peach: #eaf7f4;
    --his-warning: #c6532b;
    --his-blue: #1967c2;
    --his-text: #071735;
    --his-muted: #48627b;
    --his-surface: #ffffff;
    --his-surface-tint: #f9fcff;
    --his-sky: #eaf4ff;
    --his-sky-2: #dff0ff;
    --his-mint: #e6f8f3;
    --his-violet: #f3efff;
    --his-amber: #fff4df;
    --his-rose: #fff0f6;
    --his-page-gradient: linear-gradient(180deg, #fbfdff 0%, #f5fbff 42%, #f7fcf8 100%);
    --his-card-gradient: linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
    --his-clinical-shadow: 0 14px 34px rgba(24, 74, 114, .08);
    --his-medical-green: #009b86;
    --his-medical-green-strong: #007f79;
    --his-medical-panel: #e6f8f3;
    --clinic-rounded-shield-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20100%20112%27%3E%3Cpath%20fill%3D%27black%27%20d%3D%27M50%202C62%209%2077%2012%2091%2020C91%2047%2086%2072%2075%2088C68%2098%2057%20106%2050%20110C43%20106%2032%2098%2025%2088C14%2072%209%2047%209%2020C23%2012%2038%209%2050%202Z%27%2F%3E%3C%2Fsvg%3E");
}

body.his-app-shell {
    margin: 0;
    background: var(--his-page-gradient);
    color: var(--his-text);
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

/* Clinic login visual refresh. */
.login-shell.clinic-login-shell {
    position: relative;
    min-height: 100vh;
    margin: 0;
    display: grid;
    grid-template-rows: 90px minmax(0, 1fr) 70px;
    overflow-x: hidden;
    background:
        linear-gradient(180deg, #ffffff 0%, #f5fbff 46%, #eaf9f7 100%),
        linear-gradient(135deg, rgba(223, 241, 255, .85) 0%, rgba(255, 255, 255, 0) 48%),
        linear-gradient(315deg, rgba(158, 231, 220, .38) 0%, rgba(255, 255, 255, 0) 42%);
    color: #071735;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.login-shell.clinic-login-shell::before {
    content: "";
    position: fixed;
    inset: 90px 0 70px;
    pointer-events: none;
    background:
        linear-gradient(122deg, rgba(229, 243, 255, .95) 0%, rgba(229, 243, 255, .55) 20%, rgba(255, 255, 255, 0) 44%),
        linear-gradient(326deg, rgba(111, 219, 205, .26) 0%, rgba(111, 219, 205, .16) 22%, rgba(255, 255, 255, 0) 46%);
    clip-path: polygon(0 0, 82% 0, 100% 33%, 100% 100%, 0 100%);
    opacity: .9;
}

.login-shell.clinic-login-shell::after {
    content: "";
    position: fixed;
    inset: 90px 0 70px;
    pointer-events: none;
    background-image:
        linear-gradient(120deg, rgba(19, 143, 184, .08) 1px, transparent 1px),
        linear-gradient(30deg, rgba(0, 155, 134, .08) 1px, transparent 1px);
    background-size: 180px 180px, 220px 220px;
    background-position: -50px 30px, 70px 120px;
    mask-image: linear-gradient(90deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .05) 32%, rgba(0, 0, 0, .08) 70%, rgba(0, 0, 0, .34));
    opacity: .7;
}

.clinic-login-header,
.clinic-login-stage,
.clinic-login-footer {
    position: relative;
    z-index: 1;
}

.clinic-login-header {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #cfe1ea;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 8px 26px rgba(25, 103, 194, .05);
}

.clinic-login-brand {
    width: min(1400px, calc(100vw - 64px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 16px;
}

.clinic-login-logo {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 8px;
    background: linear-gradient(145deg, #16bda7 0%, #008f85 52%, #176fba 100%);
    color: #ffffff;
    font-size: 17px;
    font-weight: 900;
    box-shadow: 0 12px 26px rgba(0, 143, 133, .22), inset 0 -2px 0 rgba(0, 75, 92, .22);
}

.clinic-login-brand strong,
.clinic-login-brand small {
    display: block;
}

.clinic-login-brand strong {
    color: #008f85;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.15;
}

.clinic-login-brand small {
    margin-top: 5px;
    color: #48627b;
    font-size: 15px;
    font-weight: 800;
}

.clinic-login-stage {
    width: min(1400px, calc(100vw - 72px));
    min-height: 0;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(360px, 430px) minmax(0, 1fr);
    align-items: center;
    gap: 68px;
}

.clinic-login-card {
    justify-self: end;
    width: min(390px, 100%);
    border: 1px solid #c6dce8;
    border-radius: 8px;
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 24px 70px rgba(24, 74, 114, .14);
    backdrop-filter: blur(16px);
}

.clinic-login-form {
    display: grid;
    gap: 16px;
    padding: 32px 30px 28px;
}

.clinic-login-emblem {
    position: relative;
    width: 98px;
    height: 98px;
    margin: 0 auto 2px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid #bfe9e3;
    background: linear-gradient(180deg, #e7fbf8 0%, #d8f7f3 100%);
    box-shadow: inset 0 0 0 18px rgba(255, 255, 255, .42);
}

.clinic-login-emblem span {
    position: relative;
    width: 48px;
    height: 56px;
    display: block;
    clip-path: polygon(50% 0, 92% 16%, 86% 69%, 50% 100%, 14% 69%, 8% 16%);
    -webkit-mask: var(--clinic-rounded-shield-mask) center / 100% 100% no-repeat;
    mask: var(--clinic-rounded-shield-mask) center / 100% 100% no-repeat;
    background: linear-gradient(180deg, #20bfa9 0%, #0b9d8d 100%);
    box-shadow: 0 14px 28px rgba(0, 155, 134, .22);
}

.clinic-login-emblem span::before,
.clinic-login-emblem span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 3px;
    background: #ffffff;
    transform: translate(-50%, -50%);
}

.clinic-login-emblem span::before {
    width: 26px;
    height: 8px;
}

.clinic-login-emblem span::after {
    width: 8px;
    height: 28px;
}

.clinic-login-emblem::after {
    content: "";
    position: absolute;
    right: 7px;
    bottom: 8px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 3px solid #ffffff;
    background: #eefdfa;
}

.clinic-login-emblem i {
    position: absolute;
    right: 17px;
    bottom: 21px;
    z-index: 1;
    width: 18px;
    height: 10px;
    border-left: 4px solid #1a9e8e;
    border-bottom: 4px solid #1a9e8e;
    border-radius: 2px;
    transform: rotate(-45deg);
}

.clinic-login-form h1 {
    margin: 0;
    color: #061c46;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 900;
    text-align: center;
}

.clinic-login-form > p {
    margin: -5px 0 5px;
    color: #5d7088;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.6;
    text-align: center;
}

.clinic-login-field {
    display: grid;
    gap: 7px;
    margin: 0;
    color: #586f87;
    font-size: 15px;
    font-weight: 900;
}

.clinic-login-field > span:first-child {
    padding-left: 2px;
}

.clinic-login-input {
    position: relative;
    display: block;
}

.clinic-login-input input {
    width: 100%;
    height: 52px;
    border: 1px solid #ccdce4;
    border-radius: 8px;
    background: rgba(255, 255, 255, .95);
    color: #071735;
    font-size: 17px;
    font-weight: 800;
    line-height: 52px;
    padding: 0 14px 0 48px;
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.clinic-login-input input:focus {
    outline: 0;
    border-color: #009b86;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(0, 155, 134, .12);
}

.clinic-field-icon {
    position: absolute;
    left: 17px;
    top: 50%;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    pointer-events: none;
}

.clinic-field-icon::before,
.clinic-field-icon::after {
    content: "";
    position: absolute;
    display: block;
    background: #009b86;
}

.clinic-field-hospital::before {
    left: 3px;
    top: 5px;
    width: 14px;
    height: 14px;
    border-radius: 4px 4px 3px 3px;
}

.clinic-field-hospital::after {
    left: 8px;
    top: 8px;
    width: 4px;
    height: 4px;
    border-radius: 1px;
    background: #087f75;
    box-shadow:
        -5px 0 0 rgba(8, 127, 117, .75),
        5px 0 0 rgba(8, 127, 117, .75),
        -5px 6px 0 rgba(8, 127, 117, .75),
        0 6px 0 rgba(8, 127, 117, .75),
        5px 6px 0 rgba(8, 127, 117, .75);
}

.clinic-field-user::before {
    left: 5px;
    top: 1px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.clinic-field-user::after {
    left: 2px;
    bottom: 1px;
    width: 16px;
    height: 9px;
    border-radius: 9px 9px 3px 3px;
}

.clinic-field-lock::before {
    left: 3px;
    bottom: 1px;
    width: 14px;
    height: 12px;
    border-radius: 3px;
}

.clinic-field-lock::after {
    left: 5px;
    top: 0;
    width: 10px;
    height: 11px;
    border: 3px solid #009b86;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background: transparent;
    box-sizing: border-box;
}

.clinic-login-submit {
    width: 100%;
    height: 54px;
    margin-top: 6px;
    border: 1px solid #009b86;
    border-radius: 8px;
    background: linear-gradient(180deg, #16b8a4 0%, #009b86 100%);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 14px 26px rgba(0, 155, 134, .20);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.clinic-login-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 32px rgba(0, 155, 134, .24);
    filter: saturate(1.08);
}

.clinic-login-submit:focus {
    outline: 3px solid rgba(25, 103, 194, .20);
    outline-offset: 3px;
}

.clinic-login-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    align-items: center;
    padding-top: 14px;
    border-top: 1px solid #e0ebf0;
}

.clinic-login-links a {
    color: #2c68ae;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

.clinic-login-links a:nth-child(2) {
    text-align: right;
}

.clinic-login-error {
    margin: 0;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
}

.clinic-login-hero {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 24px;
}

.clinic-login-copy {
    padding-left: 4px;
}

.clinic-login-copy h2 {
    margin: 0;
    color: #061c46;
    font-size: 40px;
    line-height: 1.2;
    font-weight: 900;
}

.clinic-login-copy p {
    max-width: 680px;
    margin: 14px 0 0;
    color: #4f627c;
    font-size: 16px;
    line-height: 1.8;
    font-weight: 800;
}

.clinic-login-visual {
    position: relative;
    width: min(650px, 100%);
    height: 330px;
    margin: 2px auto 0;
}

.clinic-visual-dashboard {
    position: absolute;
    left: 140px;
    top: 38px;
    width: 385px;
    height: 210px;
    border: 1px solid #cfe5ef;
    border-radius: 8px;
    background: rgba(255, 255, 255, .84);
    box-shadow: 0 20px 55px rgba(24, 74, 114, .14);
    overflow: hidden;
    animation: clinicLoginEnter .5s ease both;
}

.clinic-dashboard-bar {
    height: 31px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    background: linear-gradient(90deg, #15b8a2 0%, #11a695 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
}

.clinic-dashboard-bar span {
    margin-right: auto;
}

.clinic-dashboard-bar i {
    width: 12px;
    height: 6px;
    border-radius: 6px;
    background: rgba(255, 255, 255, .48);
}

.clinic-dashboard-body {
    position: relative;
    height: 179px;
    padding: 22px 28px;
    box-sizing: border-box;
}

.clinic-profile-ghost {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 36%, #8ce1d8 0 7px, transparent 8px),
        linear-gradient(180deg, transparent 0 49%, #c6f2ee 50% 100%);
    box-shadow: 0 0 0 12px rgba(198, 242, 238, .5);
}

.clinic-line-row {
    position: absolute;
    left: 92px;
    height: 8px;
    border-radius: 8px;
    background: #dcebf3;
}

.clinic-line-row.wide {
    top: 28px;
    width: 120px;
}

.clinic-line-row.mid {
    top: 52px;
    width: 160px;
}

.clinic-line-row.short {
    top: 88px;
    width: 76px;
    background: #92ded6;
}

.clinic-chart {
    position: absolute;
    right: 28px;
    bottom: 22px;
    width: 122px;
    height: 92px;
    border-radius: 8px;
    background: rgba(233, 244, 251, .72);
    display: flex;
    align-items: end;
    gap: 9px;
    padding: 18px 18px 14px;
    box-sizing: border-box;
}

.clinic-chart i {
    width: 10px;
    border-radius: 8px 8px 2px 2px;
    background: linear-gradient(180deg, #b9e9f7 0%, #84d9ee 100%);
}

.clinic-chart i:nth-child(1) { height: 24px; }
.clinic-chart i:nth-child(2) { height: 38px; }
.clinic-chart i:nth-child(3) { height: 50px; }
.clinic-chart i:nth-child(4) { height: 64px; }
.clinic-chart i:nth-child(5) { height: 78px; }

.clinic-shield {
    position: absolute;
    left: 292px;
    top: 136px;
    width: 150px;
    height: 170px;
    clip-path: polygon(50% 0, 93% 18%, 86% 70%, 50% 100%, 14% 70%, 7% 18%);
    -webkit-mask: var(--clinic-rounded-shield-mask) center / 100% 100% no-repeat;
    mask: var(--clinic-rounded-shield-mask) center / 100% 100% no-repeat;
    background: linear-gradient(180deg, rgba(125, 220, 242, .95) 0%, rgba(40, 197, 178, .95) 100%);
    filter: drop-shadow(0 22px 30px rgba(42, 139, 189, .18));
    animation: clinicLoginFloat 3.8s ease-in-out infinite;
}

.clinic-shield::before {
    content: "";
    position: absolute;
    inset: 11px;
    clip-path: polygon(50% 0, 93% 18%, 86% 70%, 50% 100%, 14% 70%, 7% 18%);
    -webkit-mask: var(--clinic-rounded-shield-mask) center / 100% 100% no-repeat;
    mask: var(--clinic-rounded-shield-mask) center / 100% 100% no-repeat;
    background: linear-gradient(180deg, rgba(255, 255, 255, .34), rgba(255, 255, 255, .08));
}

.clinic-shield span::before,
.clinic-shield span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 51%;
    border-radius: 4px;
    background: #ffffff;
    transform: translate(-50%, -50%);
}

.clinic-shield span::before {
    width: 62px;
    height: 18px;
}

.clinic-shield span::after {
    width: 18px;
    height: 68px;
}

.clinic-platform {
    position: absolute;
    left: 224px;
    top: 282px;
    width: 286px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid rgba(115, 213, 226, .45);
    background: linear-gradient(180deg, rgba(255, 255, 255, .85), rgba(191, 235, 245, .45));
    box-shadow: 0 12px 0 rgba(92, 201, 216, .25), 0 30px 55px rgba(45, 128, 184, .12);
}

.clinic-visual-orbit {
    position: absolute;
    left: 105px;
    top: 158px;
    width: 475px;
    height: 86px;
    border: 3px solid rgba(74, 204, 215, .38);
    border-left-color: transparent;
    border-right-color: transparent;
    border-radius: 50%;
    transform: rotate(-5deg);
}

.clinic-visual-plus {
    position: absolute;
    width: 42px;
    height: 42px;
    opacity: .55;
}

.clinic-visual-plus::before,
.clinic-visual-plus::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 3px;
    background: #cfe8fb;
    transform: translate(-50%, -50%);
}

.clinic-visual-plus::before {
    width: 42px;
    height: 12px;
}

.clinic-visual-plus::after {
    width: 12px;
    height: 42px;
}

.clinic-visual-plus.plus-a {
    left: 18px;
    top: 52px;
}

.clinic-visual-plus.plus-b {
    right: 34px;
    top: 68px;
    transform: scale(1.3);
}

.clinic-visual-dot {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 4px;
    background: #71d7ca;
    box-shadow: 0 8px 18px rgba(0, 155, 134, .18);
}

.clinic-visual-dot.dot-a {
    left: 92px;
    top: 92px;
}

.clinic-visual-dot.dot-b {
    right: 156px;
    top: 155px;
    width: 10px;
    height: 10px;
    background: #8ebff4;
}

.clinic-float-card {
    position: absolute;
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border: 1px solid #d3e5ee;
    border-radius: 8px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 18px 38px rgba(24, 74, 114, .12);
}

.clinic-float-card.card-chart {
    left: 22px;
    top: 180px;
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 5px;
    padding: 14px;
    box-sizing: border-box;
    animation: clinicLoginFloat 4.6s ease-in-out infinite;
}

.clinic-float-card.card-chart i {
    width: 8px;
    border-radius: 6px 6px 2px 2px;
    background: #12a493;
}

.clinic-float-card.card-chart i:nth-child(1) { height: 18px; }
.clinic-float-card.card-chart i:nth-child(2) { height: 30px; }
.clinic-float-card.card-chart i:nth-child(3) { height: 44px; }

.clinic-float-card.card-heart {
    right: 18px;
    top: 175px;
}

.clinic-float-card.card-heart i {
    width: 33px;
    height: 24px;
    border-radius: 4px;
    background:
        linear-gradient(90deg, transparent 0 18%, #ffffff 19% 25%, transparent 26% 35%, #ffffff 36% 42%, transparent 43%),
        linear-gradient(180deg, #29beb0 0%, #159f93 100%);
    clip-path: polygon(50% 100%, 4% 54%, 4% 18%, 22% 0, 41% 10%, 50% 23%, 59% 10%, 78% 0, 96% 18%, 96% 54%);
}

.clinic-login-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.clinic-login-benefits article {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-height: 92px;
    border: 1px solid #cfe1ea;
    border-radius: 8px;
    background: rgba(255, 255, 255, .76);
    box-shadow: 0 14px 34px rgba(24, 74, 114, .08);
    padding: 12px 16px;
    box-sizing: border-box;
}

.clinic-login-benefits h3 {
    margin: 0 0 5px;
    color: #009b86;
    font-size: 17px;
    font-weight: 900;
}

.clinic-login-benefits p {
    margin: 0;
    color: #4f627c;
    font-size: 13px;
    line-height: 1.55;
    font-weight: 800;
}

.benefit-icon {
    position: relative;
    display: block;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #ddf8f4;
    box-shadow: inset 0 0 0 1px rgba(0, 155, 134, .18);
}

.benefit-icon::before,
.benefit-icon::after {
    content: "";
    position: absolute;
    display: block;
}

.benefit-hospital::before {
    left: 17px;
    top: 16px;
    width: 22px;
    height: 24px;
    border-radius: 4px;
    background: #0fa897;
}

.benefit-hospital::after {
    left: 25px;
    top: 21px;
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: #087f75;
    box-shadow:
        -9px 0 0 -1px rgba(8, 127, 117, .8),
        9px 0 0 -1px rgba(8, 127, 117, .8),
        -9px 10px 0 -1px rgba(8, 127, 117, .8),
        0 10px 0 -1px rgba(8, 127, 117, .8),
        9px 10px 0 -1px rgba(8, 127, 117, .8);
}

.benefit-workbench {
    background: #e8f2ff;
    box-shadow: inset 0 0 0 1px rgba(25, 103, 194, .18);
}

.benefit-workbench::before {
    left: 13px;
    top: 15px;
    width: 30px;
    height: 23px;
    border: 4px solid #2c68ae;
    border-radius: 4px;
}

.benefit-workbench::after {
    left: 22px;
    top: 39px;
    width: 14px;
    height: 4px;
    border-radius: 4px;
    background: #2c68ae;
    box-shadow: 0 5px 0 #2c68ae;
}

.benefit-role {
    background: #fff3df;
    box-shadow: inset 0 0 0 1px rgba(217, 119, 6, .20);
}

.benefit-role::before {
    left: 21px;
    top: 12px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #d97706;
}

.benefit-role::after {
    left: 14px;
    top: 31px;
    width: 29px;
    height: 16px;
    border-radius: 16px 16px 5px 5px;
    background: #d97706;
}

.clinic-login-footer {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 6px;
    border-top: 1px solid rgba(207, 225, 234, .76);
    background: rgba(255, 255, 255, .78);
    color: #5b7087;
    font-weight: 900;
}

.clinic-login-footer span {
    font-size: 14px;
}

.clinic-login-footer small {
    color: #6d7f93;
    font-size: 13px;
    font-weight: 800;
}

.clinic-login-card,
.clinic-login-copy,
.clinic-login-benefits {
    animation: clinicLoginEnter .48s ease both;
}

.clinic-login-copy {
    animation-delay: .08s;
}

.clinic-login-benefits {
    animation-delay: .15s;
}

@keyframes clinicLoginEnter {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes clinicLoginFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

@media (max-width: 1180px) {
    .login-shell.clinic-login-shell {
        grid-template-rows: 82px auto 70px;
        overflow-y: auto;
    }

    .login-shell.clinic-login-shell::before,
    .login-shell.clinic-login-shell::after {
        inset: 82px 0 70px;
    }

    .clinic-login-stage {
        width: min(960px, calc(100vw - 48px));
        grid-template-columns: minmax(330px, 390px) minmax(0, 1fr);
        gap: 34px;
        padding: 28px 0;
    }

    .clinic-login-copy h2 {
        font-size: 34px;
    }

    .clinic-login-visual {
        height: 285px;
    }

    .clinic-visual-dashboard {
        left: 98px;
        width: 330px;
        height: 190px;
    }

    .clinic-shield {
        left: 230px;
        top: 126px;
        width: 126px;
        height: 144px;
    }

    .clinic-platform {
        left: 168px;
        top: 248px;
        width: 250px;
    }

    .clinic-visual-orbit {
        left: 65px;
        width: 400px;
    }

    .clinic-login-benefits {
        grid-template-columns: 1fr;
    }
}

@media (max-height: 800px) and (min-width: 861px) {
    .login-shell.clinic-login-shell {
        grid-template-rows: 72px minmax(0, 1fr) 52px;
        overflow-y: hidden;
    }

    .login-shell.clinic-login-shell::before,
    .login-shell.clinic-login-shell::after {
        inset: 72px 0 52px;
    }

    .clinic-login-logo {
        width: 42px;
        height: 42px;
        font-size: 15px;
    }

    .clinic-login-brand strong {
        font-size: 22px;
    }

    .clinic-login-brand small {
        margin-top: 3px;
        font-size: 14px;
    }

    .clinic-login-stage {
        align-items: center;
        gap: 56px;
    }

    .clinic-login-card {
        width: min(390px, 100%);
    }

    .clinic-login-form {
        gap: 11px;
        padding: 22px 30px 20px;
    }

    .clinic-login-emblem {
        width: 78px;
        height: 78px;
        box-shadow: inset 0 0 0 13px rgba(255, 255, 255, .42);
    }

    .clinic-login-emblem span {
        width: 40px;
        height: 46px;
    }

    .clinic-login-emblem span::before {
        width: 22px;
        height: 7px;
    }

    .clinic-login-emblem span::after {
        width: 7px;
        height: 24px;
    }

    .clinic-login-emblem::after {
        right: 4px;
        bottom: 5px;
        width: 28px;
        height: 28px;
    }

    .clinic-login-emblem i {
        right: 13px;
        bottom: 16px;
        width: 15px;
        height: 8px;
        border-left-width: 3px;
        border-bottom-width: 3px;
    }

    .clinic-login-form h1 {
        font-size: 29px;
    }

    .clinic-login-form > p {
        margin: -5px 0 2px;
        font-size: 13px;
    }

    .clinic-login-field {
        gap: 5px;
        font-size: 14px;
    }

    .clinic-login-input input {
        height: 46px;
        line-height: 46px;
    }

    .clinic-login-submit {
        height: 48px;
        margin-top: 4px;
    }

    .clinic-login-links {
        padding-top: 10px;
    }

    .clinic-login-copy h2 {
        font-size: 36px;
    }

    .clinic-login-copy p {
        margin-top: 10px;
    }

    .clinic-login-visual {
        height: 285px;
    }

    .clinic-login-benefits article {
        min-height: 78px;
        padding: 10px 14px;
    }

    .clinic-login-footer {
        gap: 3px;
    }
}

@media (max-width: 860px) {
    .login-shell.clinic-login-shell {
        grid-template-rows: auto auto auto;
    }

    .clinic-login-header {
        min-height: 78px;
        padding: 12px 0;
        box-sizing: border-box;
    }

    .clinic-login-brand {
        width: calc(100vw - 32px);
    }

    .clinic-login-brand strong {
        font-size: 21px;
    }

    .clinic-login-brand small {
        font-size: 13px;
    }

    .clinic-login-stage {
        width: min(560px, calc(100vw - 28px));
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 22px 0 24px;
    }

    .clinic-login-card {
        justify-self: stretch;
        width: 100%;
    }

    .clinic-login-hero {
        gap: 18px;
    }

    .clinic-login-copy {
        padding-left: 0;
        text-align: center;
    }

    .clinic-login-copy h2 {
        font-size: 30px;
    }

    .clinic-login-copy p {
        margin-left: auto;
        margin-right: auto;
    }

    .clinic-login-visual {
        display: none;
    }
}

@media (max-width: 520px) {
    .clinic-login-brand {
        gap: 11px;
    }

    .clinic-login-logo {
        width: 44px;
        height: 44px;
        font-size: 15px;
    }

    .clinic-login-form {
        padding: 26px 20px 22px;
    }

    .clinic-login-form h1 {
        font-size: 28px;
    }

    .clinic-login-links {
        grid-template-columns: 1fr;
        gap: 9px;
        text-align: center;
    }

    .clinic-login-links a:nth-child(2) {
        text-align: center;
    }

    .clinic-login-benefits article {
        grid-template-columns: 52px minmax(0, 1fr);
        padding: 10px 12px;
    }

    .benefit-icon {
        width: 48px;
        height: 48px;
    }

    .clinic-login-footer {
        padding: 13px 18px;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .clinic-login-card,
    .clinic-login-copy,
    .clinic-login-benefits,
    .clinic-visual-dashboard,
    .clinic-shield,
    .clinic-float-card.card-chart {
        animation: none !important;
    }

    .clinic-login-submit {
        transition: none;
    }
}

/* Keep Outpatient on the same workbench grid as Registered. */
.outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
    grid-template-rows: 38px 34px 64px minmax(0, 1fr) 126px 96px;
}

@media (max-width: 1440px), (max-height: 800px) {
    .outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
        grid-template-rows: 34px 30px 54px minmax(0, 1fr) 112px 82px;
    }

    .outpatient-body .outpatient-titlebar.workbench-status {
        height: 34px;
        padding: 0 12px;
        font-size: 13px;
    }

    .outpatient-body .outpatient-toolbar.workbench-toolbar {
        height: 54px;
        display: flex;
        grid-template-columns: none;
        gap: 6px;
        padding: 7px 12px;
    }

    .outpatient-body .outpatient-toolbar span {
        font-size: 17px;
    }

    .outpatient-body .outpatient-toolbar input,
    .outpatient-body .outpatient-toolbar select,
    .outpatient-body .outpatient-toolbar button,
    .outpatient-body .help-button {
        min-height: 34px;
        font-size: 17px;
    }

    .outpatient-body .outpatient-date input {
        width: 150px;
        flex-basis: 150px;
    }

    .outpatient-body .outpatient-date button {
        width: 34px;
        flex-basis: 34px;
    }

    .outpatient-body .outpatient-session button {
        min-width: 58px;
        padding: 0 8px;
    }

    .outpatient-body .outpatient-select select {
        width: 132px;
    }

    .outpatient-body .outpatient-search select {
        flex-basis: 92px;
    }

    .outpatient-body .outpatient-search input {
        flex-basis: 190px;
    }

    .outpatient-body .screening-panel.summary-dock {
        grid-template-rows: minmax(0, 58px) 28px;
        padding: 6px 10px;
    }

    .outpatient-body .screening-fields.screening-row {
        gap: 5px 18px;
    }

    .outpatient-body .screening-fields.screening-row label {
        grid-template-columns: 48px 1fr 48px;
        font-size: 17px;
    }

    .outpatient-body .screening-fields.screening-row input,
    .outpatient-body .screening-fields.screening-row span {
        height: 25px;
    }

    .outpatient-body .screening-actions.dock-side-actions button {
        height: 28px;
        font-size: 16px;
    }

    .outpatient-body .outpatient-counts.summary-counts {
        gap: 16px;
        font-size: 16px;
    }

    .outpatient-body .outpatient-buttons.command-row.primary {
        gap: 4px;
        padding: 3px 8px;
    }

    .outpatient-body .outpatient-buttons button {
        height: 38px;
        min-width: 76px;
        padding: 0 9px;
        font-size: 18px;
    }
}

@media (max-height: 720px) {
    .outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
        grid-template-rows: 32px 28px 48px minmax(0, 1fr) 92px 72px;
    }

    .outpatient-body .screening-panel.summary-dock {
        grid-template-rows: minmax(0, 44px) 24px;
    }
}

@media (max-height: 620px) {
    .outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
        grid-template-rows: 28px 0 40px minmax(0, 1fr) 74px 58px;
    }

    .outpatient-body .outpatient-menu.workbench-tabs {
        height: 0;
        padding: 0;
        overflow: hidden;
        border: 0;
    }

    .outpatient-body .outpatient-titlebar.workbench-status {
        height: 28px;
        padding: 0 8px;
        font-size: 12px;
    }

    .outpatient-body .outpatient-version span:nth-child(n + 2):nth-child(-n + 4) {
        display: none;
    }

    .outpatient-body .outpatient-toolbar.workbench-toolbar {
        height: 40px;
        display: flex;
        grid-template-columns: none;
        gap: 4px;
        padding: 4px 8px;
    }

    .outpatient-body .outpatient-toolbar span {
        font-size: 14px;
    }

    .outpatient-body .outpatient-toolbar input,
    .outpatient-body .outpatient-toolbar select,
    .outpatient-body .outpatient-toolbar button,
    .outpatient-body .help-button {
        min-height: 30px;
        font-size: 14px;
    }

    .outpatient-body .outpatient-date input {
        width: 138px;
        flex-basis: 138px;
        padding: 0 8px;
    }

    .outpatient-body .outpatient-date button {
        width: 28px;
        flex-basis: 28px;
    }

    .outpatient-body .outpatient-session button {
        min-width: 48px;
        padding: 0 6px;
    }

    .outpatient-body .outpatient-select select {
        width: 104px;
    }

    .outpatient-body .outpatient-search select {
        flex-basis: 76px;
    }

    .outpatient-body .outpatient-search input {
        flex-basis: 150px;
    }

    .outpatient-body .screening-panel.summary-dock {
        grid-template-columns: minmax(0, 1fr) 88px;
        grid-template-rows: 44px 20px;
        gap: 3px 8px;
        padding: 4px 8px;
    }

    .outpatient-body .screening-fields.screening-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-column: 1;
        grid-row: 1;
        gap: 3px 8px;
    }

    .outpatient-body .screening-fields.screening-row label {
        grid-template-columns: 34px minmax(0, 1fr) 30px;
        gap: 2px;
        font-size: 11px;
    }

    .outpatient-body .screening-fields.screening-row input,
    .outpatient-body .screening-fields.screening-row span {
        height: 18px;
    }

    .outpatient-body .screening-actions.dock-side-actions {
        grid-column: 2;
        grid-row: 1 / -1;
        gap: 4px;
        align-content: center;
    }

    .outpatient-body .screening-actions.dock-side-actions button {
        height: 24px;
        font-size: 13px;
    }

    .outpatient-body .outpatient-counts.summary-counts {
        grid-column: 1;
        grid-row: 2;
        gap: 10px;
        font-size: 13px;
        align-self: end;
    }

    .outpatient-body .outpatient-counts span:nth-child(n + 5):nth-child(-n + 8) {
        display: none;
    }

    .outpatient-body .outpatient-buttons.command-row.primary {
        gap: 4px;
        padding: 3px 8px;
    }

    .outpatient-body .outpatient-buttons button {
        height: 30px;
        min-width: 56px;
        padding: 0 5px;
        font-size: 12px;
    }
}

/* Outpatient top row compression. */
.outpatient-body .outpatient-titlebar.workbench-status {
    min-width: 0;
    overflow: hidden;
}

.outpatient-body .outpatient-titlebar .workbench-brand,
.outpatient-body .outpatient-titlebar .workbench-metrics {
    min-width: 0;
}

.outpatient-body .outpatient-brand span:not(.clinic-logo),
.outpatient-body .outpatient-version span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.outpatient-body .outpatient-version {
    justify-content: flex-end;
}

@media (max-width: 1440px), (max-height: 800px) {
    .outpatient-body .outpatient-titlebar.workbench-status {
        gap: 8px;
        font-size: 12px;
    }

    .outpatient-body .outpatient-brand strong {
        font-size: 16px;
    }

    .outpatient-body .outpatient-brand span:not(.clinic-logo),
    .outpatient-body .outpatient-version span {
        font-size: 12px;
    }

    .outpatient-body .outpatient-version {
        gap: 6px;
    }
}

@media (max-width: 1280px) {
    .outpatient-body .outpatient-brand span:not(.clinic-logo) {
        max-width: 220px;
    }

    .outpatient-body .outpatient-version span:first-child {
        max-width: 132px;
    }

    .outpatient-body .outpatient-version span:nth-child(4) {
        display: none;
    }

    .outpatient-body .doctor-card-status-button {
        min-height: 22px;
        padding: 0 6px;
        font-size: 11px;
    }
}

@media (max-width: 1120px), (max-height: 620px) {
    .outpatient-body .outpatient-brand span:not(.clinic-logo) {
        max-width: 150px;
    }

    .outpatient-body .outpatient-version span:first-child,
    .outpatient-body .outpatient-version span:nth-child(n + 2):nth-child(-n + 4) {
        display: none;
    }

    .outpatient-body .outpatient-brand strong {
        font-size: 14px;
    }

    .outpatient-body .outpatient-titlebar .workbench-logo {
        width: 22px;
        height: 22px;
    }
}

.outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
    grid-template-rows: 38px 34px 64px minmax(0, 1fr) 126px 96px;
}

@media (max-width: 1440px), (max-height: 800px) {
    .outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
        grid-template-rows: 34px 30px 54px minmax(0, 1fr) 112px 82px;
    }

    .outpatient-body .outpatient-titlebar.workbench-status {
        height: 34px;
        padding: 0 12px;
        font-size: 13px;
    }

    .outpatient-body .outpatient-toolbar.workbench-toolbar {
        height: 54px;
        gap: 6px;
        padding: 7px 12px;
    }

    .outpatient-body .outpatient-toolbar span {
        font-size: 17px;
    }

    .outpatient-body .outpatient-toolbar input,
    .outpatient-body .outpatient-toolbar select,
    .outpatient-body .outpatient-toolbar button,
    .outpatient-body .help-button {
        min-height: 34px;
        font-size: 17px;
    }

    .outpatient-body .outpatient-date input {
        width: 150px;
        flex-basis: 150px;
    }

    .outpatient-body .outpatient-date button {
        width: 34px;
        flex-basis: 34px;
    }

    .outpatient-body .outpatient-session button {
        min-width: 58px;
        padding: 0 8px;
    }

    .outpatient-body .outpatient-select select {
        width: 132px;
    }

    .outpatient-body .outpatient-search select {
        flex-basis: 92px;
    }

    .outpatient-body .outpatient-search input {
        flex-basis: 190px;
    }

    .outpatient-body .screening-panel.summary-dock {
        grid-template-rows: minmax(0, 58px) 28px;
        padding: 6px 10px;
    }

    .outpatient-body .screening-fields.screening-row {
        gap: 5px 18px;
    }

    .outpatient-body .screening-fields.screening-row label {
        grid-template-columns: 48px 1fr 48px;
        font-size: 17px;
    }

    .outpatient-body .screening-fields.screening-row input,
    .outpatient-body .screening-fields.screening-row span {
        height: 25px;
    }

    .outpatient-body .screening-actions.dock-side-actions button {
        height: 28px;
        font-size: 16px;
    }

    .outpatient-body .outpatient-counts.summary-counts {
        gap: 16px;
        font-size: 16px;
    }

    .outpatient-body .outpatient-buttons.command-row.primary {
        gap: 4px;
        padding: 3px 8px;
    }

    .outpatient-body .outpatient-buttons button {
        height: 38px;
        min-width: 76px;
        padding: 0 9px;
        font-size: 18px;
    }
}

@media (max-height: 720px) {
    .outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
        grid-template-rows: 32px 28px 48px minmax(0, 1fr) 92px 72px;
    }

    .outpatient-body .screening-panel.summary-dock {
        grid-template-rows: minmax(0, 44px) 24px;
    }
}

@media (max-height: 620px) {
    .outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
        grid-template-rows: 28px 0 40px minmax(0, 1fr) 74px 58px;
    }

    .outpatient-body .outpatient-menu.workbench-tabs {
        height: 0;
        padding: 0;
        overflow: hidden;
        border: 0;
    }

    .outpatient-body .outpatient-titlebar.workbench-status {
        height: 28px;
        padding: 0 8px;
        font-size: 12px;
    }

    .outpatient-body .outpatient-version span:nth-child(n + 2):nth-child(-n + 4) {
        display: none;
    }

    .outpatient-body .outpatient-toolbar.workbench-toolbar {
        height: 40px;
        gap: 4px;
        padding: 4px 8px;
    }

    .outpatient-body .outpatient-toolbar span {
        font-size: 14px;
    }

    .outpatient-body .outpatient-toolbar input,
    .outpatient-body .outpatient-toolbar select,
    .outpatient-body .outpatient-toolbar button,
    .outpatient-body .help-button {
        min-height: 30px;
        font-size: 14px;
    }

    .outpatient-body .outpatient-date input {
        width: 138px;
        flex-basis: 138px;
        padding: 0 8px;
    }

    .outpatient-body .outpatient-date button {
        width: 28px;
        flex-basis: 28px;
    }

    .outpatient-body .outpatient-session button {
        min-width: 48px;
        padding: 0 6px;
    }

    .outpatient-body .outpatient-select select {
        width: 104px;
    }

    .outpatient-body .outpatient-search select {
        flex-basis: 76px;
    }

    .outpatient-body .outpatient-search input {
        flex-basis: 150px;
    }

    .outpatient-body .screening-panel.summary-dock {
        grid-template-columns: minmax(0, 1fr) 88px;
        grid-template-rows: 44px 20px;
        gap: 3px 8px;
        padding: 4px 8px;
    }

    .outpatient-body .screening-fields.screening-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-column: 1;
        grid-row: 1;
        gap: 3px 8px;
    }

    .outpatient-body .screening-fields.screening-row label {
        grid-template-columns: 34px minmax(0, 1fr) 30px;
        gap: 2px;
        font-size: 11px;
    }

    .outpatient-body .screening-fields.screening-row input,
    .outpatient-body .screening-fields.screening-row span {
        height: 18px;
    }

    .outpatient-body .screening-actions.dock-side-actions {
        grid-column: 2;
        grid-row: 1 / -1;
        gap: 4px;
        align-content: center;
    }

    .outpatient-body .screening-actions.dock-side-actions button {
        height: 24px;
        font-size: 13px;
    }

    .outpatient-body .outpatient-counts.summary-counts {
        grid-column: 1;
        grid-row: 2;
        gap: 10px;
        font-size: 13px;
        align-self: end;
    }

    .outpatient-body .outpatient-counts span:nth-child(n + 5):nth-child(-n + 8) {
        display: none;
    }

    .outpatient-body .outpatient-buttons.command-row.primary {
        gap: 4px;
        padding: 3px 8px;
    }

    .outpatient-body .outpatient-buttons button {
        height: 30px;
        min-width: 56px;
        padding: 0 5px;
        font-size: 12px;
    }
}

button,
input,
select {
    font: inherit;
}

button {
    transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

button:hover {
    transform: translateY(-1px);
}

.topbar,
.home-hero,
.registered-header,
.filter-bar,
.summary-grid,
.count-strip,
.action-bar {
    display: flex;
    align-items: center;
}

.topbar {
    min-height: 68px;
    gap: 14px;
    padding: 0 24px;
    background: linear-gradient(90deg, var(--his-green-2) 0%, var(--his-green) 52%, var(--his-blue) 100%);
    color: #fff;
}

.brand-mark,
.entry-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 8px;
    font-weight: 800;
}

.brand-mark {
    width: 42px;
    height: 42px;
    background: var(--his-peach);
    color: var(--his-medical-green-strong);
}

.brand-title {
    font-size: 20px;
    font-weight: 800;
}

.brand-subtitle {
    font-size: 12px;
    opacity: .8;
}

.topbar-nav {
    display: flex;
    gap: 12px;
    margin-left: 24px;
}

.topbar-nav a {
    color: #f1fff7;
    text-decoration: none;
    font-weight: 700;
}

.topbar-nav a:hover {
    color: #fff;
}

.operator-chip {
    margin-left: auto;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(241, 255, 247, .24);
    border-radius: 999px;
    padding: 8px 12px;
    white-space: nowrap;
}

.app-main {
    padding: 24px;
}

.eyebrow {
    margin: 0 0 6px;
    color: var(--his-muted);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
}

.his-home {
    max-width: 1180px;
    margin: 0 auto;
}

.home-hero {
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.home-hero h1,
.registered-header h1 {
    margin: 0;
    font-size: 34px;
    font-weight: 800;
    letter-spacing: 0;
}

.home-summary {
    margin: 8px 0 0;
    color: var(--his-muted);
}

.date-panel,
.notice-panel,
.entry-card,
.filter-bar,
.registered-table-wrap,
.summary-grid,
.count-strip,
.action-bar {
    background: var(--his-panel);
    border: 1px solid var(--his-line);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(28, 62, 50, .06);
}

.date-panel {
    display: grid;
    gap: 2px;
    min-width: 180px;
    padding: 14px 18px;
}

.date-panel span,
.date-panel small {
    color: var(--his-muted);
}

.date-panel strong {
    font-size: 22px;
}

.home-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.entry-card {
    min-height: 126px;
    padding: 18px;
    text-align: left;
    display: flex;
    gap: 12px;
    color: var(--his-text);
    cursor: pointer;
}

.entry-card strong {
    display: block;
    font-size: 22px;
    margin-bottom: 8px;
}

.entry-card small {
    color: var(--his-muted);
    line-height: 1.45;
}

.primary-entry {
    background: var(--his-medical-green);
    color: #fff;
    border-color: var(--his-medical-green);
}

.primary-entry small {
    color: #e5fff0;
}

.entry-icon {
    width: 34px;
    height: 34px;
    background: var(--his-peach);
    color: var(--his-medical-green-strong);
}

.notice-panel {
    padding: 18px;
}

.panel-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.panel-heading h2 {
    margin: 0;
    font-size: 22px;
}

.panel-heading span {
    color: var(--his-warning);
    font-weight: 800;
}

.notice-panel ul {
    margin: 12px 0 0;
    padding-left: 20px;
}

.notice-panel li {
    margin: 10px 0;
    color: #4e6258;
}

.session-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(35, 72, 61, .46);
    z-index: 20;
}

.session-modal.is-open {
    display: flex;
}

.session-dialog {
    position: relative;
    width: min(420px, calc(100vw - 32px));
    background: var(--his-panel);
    border: 1px solid var(--his-line);
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 24px 60px rgba(28, 62, 50, .22);
}

.session-dialog h2 {
    margin: 0 0 8px;
    font-size: 28px;
    letter-spacing: 0;
}

.session-suggestion {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    padding: 6px 10px;
    border-radius: 999px;
    background: var(--his-medical-panel);
    color: var(--his-muted);
    font-size: 14px;
    font-weight: 800;
}

.session-suggestion strong {
    color: var(--his-medical-green-strong);
}

.modal-close {
    position: absolute;
    top: 10px;
    right: 12px;
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
}

.session-options {
    display: grid;
    gap: 10px;
}

.session-options button,
.filter-bar button,
.action-bar button {
    border: 1px solid var(--his-line);
    border-radius: 8px;
    background: var(--his-peach);
    color: var(--his-medical-green-strong);
    min-height: 42px;
    padding: 8px 14px;
    font-weight: 800;
    white-space: nowrap;
}

.session-options button.is-recommended,
.action-bar button:first-child {
    background: var(--his-medical-green);
    color: #fff;
    border-color: var(--his-medical-green);
}

.registered-shell {
    min-width: 1180px;
}

.registered-header {
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.registered-meta {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.registered-meta span,
.registered-meta strong,
.session-badge {
    background: #fff;
    border: 1px solid var(--his-line);
    border-radius: 999px;
    padding: 8px 12px;
}

.registered-meta .session-badge {
    background: var(--his-green);
    color: #fff;
    border-color: var(--his-green);
}

.filter-bar {
    gap: 10px;
    padding: 10px;
    margin-bottom: 10px;
}

.filter-bar label {
    display: grid;
    gap: 4px;
    color: var(--his-muted);
    font-size: 12px;
    font-weight: 800;
}

.filter-bar input,
.filter-bar select,
.summary-grid input {
    height: 36px;
    border: 1px solid var(--his-line);
    border-radius: 6px;
    padding: 4px 8px;
    max-width: none;
    background: #fff;
}

.filter-bar input,
.filter-bar select {
    min-width: 118px;
}

.search-field {
    flex: 1;
}

.search-field input {
    width: 100%;
}

.registered-table-wrap {
    overflow-x: auto;
}

.registered-table {
    width: 100%;
    min-width: 1180px;
    border-collapse: collapse;
    table-layout: fixed;
}

.registered-table th,
.registered-table td {
    border-right: 1px solid #bdc9c2;
    padding: 10px 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.registered-table th {
    background: #eaf3ee;
    font-size: 15px;
}

.registered-table td {
    background: var(--his-peach);
    font-size: 18px;
}

.registered-table th:last-child,
.registered-table td:last-child {
    border-right: 0;
}

.summary-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 12px;
    margin-top: 10px;
}

.summary-grid label {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 8px;
    align-items: center;
}

.count-strip {
    justify-content: flex-end;
    gap: 24px;
    padding: 12px;
    margin-top: 10px;
    color: var(--his-blue);
    font-size: 20px;
}

.action-bar {
    gap: 8px;
    padding: 12px;
    margin-top: 10px;
}

.action-bar .danger {
    color: var(--his-warning);
    border-color: #e5c1c1;
    background: #fff3f3;
}

.clock {
    margin-left: auto;
    color: var(--his-blue);
    font-size: 24px;
    font-weight: 800;
}

@media (max-width: 960px) {
    .topbar {
        align-items: flex-start;
        flex-wrap: wrap;
        padding: 14px;
    }

    .operator-chip {
        margin-left: 0;
    }

    .home-grid {
        grid-template-columns: 1fr 1fr;
    }

    .home-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .registered-shell {
        min-width: 0;
    }
}

.registered-legacy-body {
    margin: 0;
    overflow: hidden;
    background: var(--his-bg);
    color: #111;
    font-family: "DFKai-SB", "MingLiU", "PMingLiU", "Microsoft JhengHei", serif;
}

.registered-legacy-body button:hover {
    transform: none;
}

.registered-legacy-shell {
    height: 100vh;
    min-width: 1180px;
    display: grid;
    grid-template-rows: 34px 34px 55px minmax(360px, 1fr) 165px 98px;
    background: #e8f3ee;
}

.legacy-window-bar {
    display: flex;
    align-items: center;
    gap: 18px;
    height: 34px;
    padding: 0 8px;
    background: #e9f5f8;
    border-bottom: 1px solid #b8c4c8;
    font-size: 17px;
    line-height: 1;
    white-space: nowrap;
}

.legacy-window-bar b {
    color: #111;
}

.legacy-app-icon {
    width: 18px;
    height: 18px;
    border-radius: 3px;
    background:
        linear-gradient(90deg, #0b6b67 0 45%, transparent 45% 55%, #0b6b67 55%),
        linear-gradient(#0b6b67 0 45%, transparent 45% 55%, #0b6b67 55%);
    box-shadow: inset 0 0 0 1px #064947;
}

.legacy-window-controls {
    margin-left: auto;
    display: flex;
    gap: 30px;
    align-items: center;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 22px;
}

.legacy-menu-bar {
    height: 34px;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0 8px;
    background: #fff;
    border-bottom: 1px solid #b9ad99;
    font-family: "Microsoft JhengHei", sans-serif;
    font-size: 18px;
    font-weight: 700;
    white-space: nowrap;
}

.legacy-filter-row {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 55px;
    padding: 5px 32px;
    background: #d7cab2;
    border-bottom: 2px solid #877d6a;
    font-size: 31px;
    line-height: 1;
    white-space: nowrap;
}

.legacy-check {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-weight: 400;
}

.legacy-check input {
    width: 20px;
    height: 20px;
    accent-color: #f7f7f7;
}

.legacy-mini-button,
.legacy-arrow-button,
.legacy-filter-row button,
.legacy-filter-row select,
.legacy-filter-row input {
    height: 40px;
    border: 2px solid #bdb9ae;
    border-right-color: #7d786f;
    border-bottom-color: #7d786f;
    border-radius: 0;
    background: #f7f7f7;
    color: #111;
    box-shadow: inset 1px 1px 0 #fff;
}

.legacy-mini-button {
    width: 44px;
    padding: 0;
}

.legacy-arrow-button {
    width: 32px;
    padding: 0;
    color: #1f6da8;
    font-size: 38px;
    font-weight: 800;
    line-height: 28px;
}

.legacy-date-input {
    width: 220px;
    padding: 0 8px;
    font-size: 31px;
}

.legacy-filter-label {
    margin-left: 18px;
}

.legacy-session-buttons {
    display: flex;
    align-items: center;
    gap: 4px;
}

.legacy-session-buttons button {
    min-width: 66px;
    padding: 0 10px;
    font-size: 26px;
    font-weight: 800;
}

.legacy-session-buttons button.is-active {
    color: #d71920;
    background: #fff;
}

.legacy-select {
    width: 180px;
    padding: 0 8px;
    font-size: 31px;
}

.legacy-search-input {
    width: 270px;
    padding: 0 8px;
    font-size: 31px;
}

.legacy-table-panel {
    min-height: 0;
    background: #eaf4ef;
    border-top: 1px solid #1f1f1f;
    border-bottom: 1px solid #1f1f1f;
}

.legacy-registration-grid {
    width: 100%;
    height: calc(100% - 24px);
    table-layout: fixed;
    border-collapse: collapse;
    background: #eaf4ef;
}

.legacy-registration-grid th,
.legacy-registration-grid td {
    border-right: 2px solid #222;
    border-bottom: 2px solid #222;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: clip;
}

.legacy-registration-grid th {
    height: 31px;
    padding: 0 8px;
    background: #e9e9e4;
    font-size: 28px;
    line-height: 31px;
    font-weight: 800;
    text-align: center;
}

.legacy-registration-grid td {
    padding: 0 8px;
    background: #eaf4ef;
    color: #21482c;
    font-size: 38px;
    line-height: 42px;
    vertical-align: top;
}

.legacy-registration-grid tbody tr {
    height: 100%;
}

.legacy-registration-grid th:last-child,
.legacy-registration-grid td:last-child {
    border-right: 0;
}

.legacy-alert-cell {
    background: #df9d89 !important;
}

.col-history { width: 4%; }
.col-card-read { width: 5%; }
.col-chart { width: 10.5%; }
.col-sequence { width: 6.2%; }
.col-name { width: 11.4%; }
.col-birthday { width: 10.3%; }
.col-identity { width: 5.8%; }
.col-type { width: 6.2%; }
.col-card-sequence { width: 11%; }
.col-doctor { width: 13%; }
.col-age { width: 3.3%; }
.col-status { width: 6%; }
.col-nursing { width: 7.3%; }

.legacy-horizontal-scroll {
    height: 24px;
    display: grid;
    grid-template-columns: 34px 1fr 34px;
    align-items: center;
    background: #e7e7e7;
    border-top: 1px solid #8e8e8e;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 16px;
}

.legacy-scroll-left,
.legacy-scroll-right {
    height: 24px;
    display: grid;
    place-items: center;
    background: #efefef;
    border-right: 1px solid #999;
}

.legacy-scroll-right {
    border-left: 1px solid #999;
    border-right: 0;
}

.legacy-scroll-track {
    height: 100%;
    background: linear-gradient(90deg, #f9f9f9 0 50%, #dedede 50% 100%);
    border-left: 1px solid #aaa;
    border-right: 1px solid #aaa;
}

.legacy-summary-panel {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 122px;
    grid-template-rows: 92px 1fr;
    column-gap: 14px;
    padding: 10px 12px 8px 30px;
    background: #e8f3ee;
    border-top: 1px solid #978c79;
}

.legacy-screening-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 8px 36px;
    align-content: start;
}

.legacy-screening-grid label {
    display: grid;
    grid-template-columns: 60px 1fr 86px;
    align-items: center;
    margin: 0;
    font-size: 31px;
    line-height: 1;
}

.legacy-screening-grid input,
.legacy-screening-grid span {
    height: 38px;
    border: 2px inset #f1f1f1;
    background: #f5f5f5;
}

.legacy-screening-grid span {
    display: grid;
    place-items: center end;
    padding-right: 8px;
    background: #d3c4aa;
}

.legacy-summary-buttons {
    display: grid;
    gap: 8px;
    align-content: start;
}

.legacy-summary-buttons button {
    height: 38px;
    border: 2px outset #f1f1f1;
    border-radius: 0;
    background: #f5f5f5;
    color: #02048d;
    font-size: 30px;
    line-height: 1;
}

.legacy-total-row {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 34px;
    color: var(--his-green);
    font-size: 31px;
    line-height: 1;
}

.legacy-bottom-actions {
    background: #e8f3ee;
    border-top: 1px solid #b3a892;
    overflow: hidden;
}

.legacy-action-row,
.legacy-command-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.legacy-action-row {
    height: 62px;
    padding: 8px 0 6px 0;
}

.legacy-command-row {
    height: 36px;
    padding: 0;
}

.legacy-bottom-actions button {
    height: 50px;
    min-width: 114px;
    border: 2px outset #f1f1f1;
    border-radius: 0;
    background: #f7f7f7;
    color: #111;
    font-size: 34px;
    line-height: 1;
    padding: 0 12px;
    white-space: nowrap;
}

.legacy-action-row button:nth-child(4),
.legacy-action-row button:nth-child(5) {
    font-size: 28px;
}

.legacy-command-row button {
    height: 36px;
    min-width: 118px;
    font-size: 28px;
}

.legacy-action-spacer {
    flex: 1 1 auto;
}

.legacy-candidate {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    margin-left: 12px;
    color: #111;
    font-size: 33px;
    white-space: nowrap;
}

.legacy-candidate b {
    font-size: 38px;
    font-weight: 400;
}

.legacy-clock {
    margin-left: 84px;
    color: var(--his-green);
    font-family: "Microsoft JhengHei", sans-serif;
    font-size: 30px;
    font-weight: 800;
}

.legacy-round-button {
    width: 46px;
    min-width: 46px !important;
    border-radius: 50% !important;
}

.legacy-danger {
    color: #e10018 !important;
}

.registered-layout-body {
    margin: 0;
    overflow: hidden;
    background: var(--his-bg);
    color: #172620;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.registered-layout-body button:hover {
    transform: none;
}

.registered-layout-shell {
    height: 100vh;
    min-width: 1180px;
    display: grid;
    grid-template-rows: 36px 38px 58px minmax(360px, 1fr) 168px 102px;
    background: var(--his-bg);
}

.registered-status-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    height: 36px;
    padding: 0 14px;
    background: #f7faf8;
    border-bottom: 1px solid #cbd8d1;
    font-size: 15px;
    white-space: nowrap;
}

.status-brand,
.status-meta {
    display: flex;
    align-items: center;
    gap: 14px;
}

.status-mark {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: var(--his-green);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

.status-meta b {
    color: var(--his-green);
}

.registered-module-tabs {
    height: 38px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    background: #fff;
    border-bottom: 1px solid #cbd8d1;
    font-size: 15px;
    font-weight: 800;
    white-space: nowrap;
}

.registered-module-tabs span {
    padding: 7px 11px;
    border-radius: 6px;
    color: #24433a;
}

.registered-module-tabs span:first-child {
    background: #e7f2ed;
    color: var(--his-green);
}

.registered-filter-strip {
    height: 58px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 24px;
    background: #e8f3ee;
    border-bottom: 2px solid #b8cac1;
    white-space: nowrap;
}

.registered-filter-strip button,
.registered-filter-strip input,
.registered-filter-strip select,
.registered-bottom-actions button,
.summary-actions button {
    border: 1px solid #c6d3cc;
    border-radius: 6px;
    background: #fff;
    color: #152820;
    box-shadow: 0 1px 0 rgba(21, 40, 32, .06);
}

.date-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 22px;
    font-weight: 800;
}

.date-toggle input {
    width: 18px;
    height: 18px;
    accent-color: var(--his-green);
}

.today-button,
.nav-date-button {
    height: 38px;
    width: 38px;
    padding: 0;
    font-size: 20px;
    font-weight: 800;
}

.date-box {
    width: 210px;
    height: 38px;
    padding: 0 12px;
    font-size: 24px;
    font-weight: 700;
}

.filter-title,
.select-filter span {
    margin-left: 18px;
    font-size: 22px;
    font-weight: 800;
}

.session-button-group {
    display: flex;
    align-items: center;
    gap: 6px;
}

.session-button-group button {
    min-width: 74px;
    height: 38px;
    padding: 0 14px;
    color: var(--his-green);
    font-size: 18px;
    font-weight: 800;
}

.session-button-group button.is-active {
    background: var(--his-green);
    color: #fff;
    border-color: var(--his-green);
}

.select-filter {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.select-filter select {
    height: 38px;
    width: 178px;
    padding: 0 10px;
    font-size: 22px;
    font-weight: 700;
}

.search-filter input {
    height: 38px;
    width: 270px;
    padding: 0 10px;
}

.registration-board {
    min-height: 0;
    background: #eaf4ef;
    border-top: 1px solid #6c746f;
    border-bottom: 1px solid #6c746f;
}

.registration-grid {
    width: 100%;
    height: calc(100% - 24px);
    table-layout: fixed;
    border-collapse: collapse;
    background: #eaf4ef;
}

.registration-grid th,
.registration-grid td {
    border-right: 2px solid #36433d;
    border-bottom: 2px solid #36433d;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: clip;
}

.registration-grid th {
    height: 31px;
    padding: 0 8px;
    background: #eef4f1;
    color: #13251e;
    font-size: 22px;
    line-height: 31px;
    font-weight: 800;
    text-align: center;
}

.registration-grid td {
    padding: 0 8px;
    background: #eaf4ef;
    color: #153d2f;
    font-size: 32px;
    line-height: 42px;
    vertical-align: top;
}

.registration-grid tbody tr {
    height: 100%;
}

.registration-grid th:last-child,
.registration-grid td:last-child {
    border-right: 0;
}

.attention-cell {
    background: #fff5dd !important;
}

.table-scroll-indicator {
    height: 24px;
    display: flex;
    align-items: center;
    background: #edf1ef;
    border-top: 1px solid #9aa8a1;
}

.table-scroll-indicator span {
    display: block;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, #f8faf9 0, #e1e8e4 100%);
    border-right: 1px solid #bac7c0;
}

.registered-summary-panel {
    display: grid;
    grid-template-columns: 1fr 120px;
    grid-template-rows: 96px 1fr;
    gap: 8px 14px;
    padding: 10px 12px 8px 30px;
    background: #e8f3ee;
    border-top: 1px solid #cbd8d1;
}

.screening-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 8px 36px;
    align-content: start;
}

.screening-fields label {
    display: grid;
    grid-template-columns: 58px 1fr 62px;
    align-items: center;
    gap: 0;
    margin: 0;
    font-size: 24px;
    font-weight: 700;
}

.screening-fields input,
.screening-fields span {
    height: 36px;
    border: 1px solid #bfc9c3;
    background: #f9fbfa;
}

.screening-fields span {
    display: grid;
    place-items: center end;
    padding-right: 8px;
    background: #d7e7df;
}

.summary-actions {
    display: grid;
    gap: 8px;
    align-content: start;
}

.summary-actions button {
    height: 38px;
    color: var(--his-green);
    font-size: 24px;
    font-weight: 800;
}

.registered-counts {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 34px;
    color: var(--his-green);
    font-size: 24px;
    font-weight: 700;
}

.registered-bottom-actions {
    background: #e8f3ee;
    border-top: 1px solid #cbd8d1;
    overflow: hidden;
}

.primary-action-row,
.secondary-action-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.primary-action-row {
    height: 62px;
    padding: 8px 0 6px;
}

.secondary-action-row {
    height: 40px;
}

.registered-bottom-actions button {
    height: 48px;
    min-width: 112px;
    padding: 0 14px;
    color: #152820;
    font-size: 24px;
    font-weight: 800;
    white-space: nowrap;
}

.secondary-action-row button {
    height: 38px;
    min-width: 118px;
    font-size: 21px;
}

.primary-action-row button:first-child {
    background: var(--his-green);
    border-color: var(--his-green);
    color: #fff;
}

.action-gap {
    flex: 1 1 auto;
}

.candidate-count {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    margin-left: 12px;
    color: #111;
    font-size: 27px;
    font-weight: 800;
    white-space: nowrap;
}

.candidate-count b {
    font-size: 32px;
}

.page-clock {
    margin-left: 72px;
    color: var(--his-green);
    font-size: 28px;
    font-weight: 800;
}

.exit-action {
    color: #d71920 !important;
}

.workbench-body {
    margin: 0;
    overflow: hidden;
    background: #eaf3ed;
    color: #21342c;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.workbench-body button:hover {
    transform: none;
}

.clinic-workbench {
    --workbench-medical-green: #3f8f72;
    --workbench-accent-strong: #2f6f5d;
    --workbench-ink: #21342c;
    --workbench-top: #23483d;
    --workbench-panel: #e9f4ee;
    --workbench-surface: #fbfefa;
    --workbench-line: #b8d1c2;
    height: 100vh;
    min-width: 1180px;
    display: grid;
    grid-template-rows: 38px 40px 64px minmax(360px, 1fr) 164px 104px;
    background: #f3f8f4;
}

.clinic-workbench,
.clinic-workbench *,
.patient-profile-modal,
.patient-profile-modal *,
.follow-up-modal,
.follow-up-modal *,
.visit-registration-modal,
.visit-registration-modal *,
.registration-entry-modal,
.registration-entry-modal *,
.doctor-card-auth-modal,
.doctor-card-auth-modal * {
    box-sizing: border-box;
}

.workbench-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    height: 38px;
    padding: 0 14px;
    background: #23483d;
    color: #f1fff7;
    font-size: 15px;
    white-space: nowrap;
}

.workbench-topbar {
    min-width: 0;
    height: 38px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding: 0 12px;
    background: linear-gradient(180deg, #3c884f 0%, #246b3e 100%);
    color: #f8fff9;
    overflow: hidden;
}

.workbench-brand,
.workbench-metrics {
    display: flex;
    align-items: center;
    gap: 14px;
}

.brand-mark {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    background: #66c889;
    color: #ffffff;
    font-size: 12px;
    font-weight: 900;
}

.workbench-logo {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 7px;
    background: #3f8f72;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.workbench-metrics b {
    color: #bfe8d0;
}

.workbench-tabs {
    height: 40px;
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 12px;
    background: #ffffff;
    border-bottom: 1px solid #c8dbd0;
    font-size: 15px;
    font-weight: 800;
    white-space: nowrap;
}

.workbench-tabs span {
    height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 6px;
    color: #2f453b;
}

.workbench-tabs .is-current {
    background: #dcefe4;
    color: #2f6f5d;
}

.workbench-toolbar {
    height: 64px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: #e9f4ee;
    border-bottom: 2px solid #a8c8b8;
    white-space: nowrap;
}

.workbench-toolbar button,
.workbench-toolbar input,
.workbench-toolbar select,
.summary-dock button,
.command-dock button {
    border: 1px solid #b8d1c2;
    border-radius: 6px;
    background: #ffffff;
    color: #21342c;
    box-shadow: 0 1px 0 rgba(28, 62, 50, .08);
}

.toolbar-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #263a32;
    font-size: 21px;
    font-weight: 900;
}

.toolbar-check input {
    width: 18px;
    height: 18px;
    accent-color: #3f8f72;
}

.workbench-toolbar > button {
    height: 40px;
    min-width: 38px;
    padding: 0 12px;
    font-size: 19px;
    font-weight: 900;
}

.toolbar-date {
    width: 205px;
    height: 40px;
    padding: 0 12px;
    font-size: 24px;
    font-weight: 800;
}

.toolbar-label,
.toolbar-field span {
    margin-left: 18px;
    color: #263a32;
    font-size: 21px;
    font-weight: 900;
}

.toolbar-segments {
    display: flex;
    align-items: center;
    gap: 6px;
}

.toolbar-segments button {
    height: 40px;
    min-width: 76px;
    padding: 0 14px;
    color: #2f6f5d;
    font-size: 18px;
    font-weight: 900;
}

.toolbar-segments .is-active {
    background: #3f8f72;
    border-color: #3f8f72;
    color: #fff;
}

.toolbar-field {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.toolbar-field select {
    width: 178px;
    height: 40px;
    padding: 0 10px;
    font-size: 22px;
    font-weight: 800;
}

.toolbar-field.search input {
    width: 270px;
    height: 40px;
    padding: 0 10px;
}

.sheet-area {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) 24px;
    overflow: hidden;
    background: #fbfefa;
    border-top: 1px solid #7f9d8d;
    border-bottom: 1px solid #7f9d8d;
}

.registration-table-frame {
    min-height: 0;
    overflow: auto;
}

.registration-sheet {
    width: 100%;
    height: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    background: #fbfefa;
}

.registration-sheet th,
.registration-sheet td {
    border-right: 2px solid #4f6b5e;
    border-bottom: 2px solid #4f6b5e;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: clip;
}

.registration-sheet th {
    height: 32px;
    padding: 0 8px;
    background: #dcefe4;
    color: #21342c;
    font-size: 22px;
    line-height: 32px;
    font-weight: 900;
    text-align: center;
}

.registration-sheet td {
    padding: 0 8px;
    background: #fbfefa;
    color: #1f3a31;
    font-size: 31px;
    line-height: 42px;
    vertical-align: top;
}

.registration-sheet tbody tr {
    height: 42px;
}

.registration-sheet tbody tr.sheet-filler-row {
    height: auto;
}

.registration-sheet tbody tr.sheet-filler-row td {
    font-size: 0;
    line-height: 0;
}

.registration-sheet th:last-child,
.registration-sheet td:last-child {
    border-right: 0;
}

.warning-cell {
    background: #dff1ca !important;
}

.sheet-scrollbar {
    height: 24px;
    display: flex;
    align-items: center;
    background: #edf6f0;
    border-top: 1px solid #b8d1c2;
}

.sheet-scrollbar span {
    display: block;
    width: 52%;
    height: 100%;
    background: linear-gradient(90deg, #ffffff 0, #dbece2 100%);
    border-right: 1px solid #b8d1c2;
}

.summary-dock {
    display: grid;
    grid-template-columns: 1fr 120px;
    grid-template-rows: 96px 1fr;
    gap: 8px 14px;
    padding: 10px 12px 8px 28px;
    background: #e9f4ee;
    border-top: 1px solid #c8dbd0;
}

.screening-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 8px 34px;
    align-content: start;
}

.screening-row label {
    display: grid;
    grid-template-columns: 58px 1fr 62px;
    align-items: center;
    gap: 0;
    margin: 0;
    color: #21342c;
    font-size: 23px;
    font-weight: 800;
}

.screening-row input,
.screening-row span {
    height: 36px;
    border: 1px solid #b8d1c2;
    background: #ffffff;
}

.screening-row span {
    display: grid;
    place-items: center end;
    padding-right: 8px;
    background: #dcefe4;
}

.dock-side-actions {
    display: grid;
    gap: 8px;
    align-content: start;
}

.dock-side-actions button {
    height: 38px;
    color: #2f6f5d;
    font-size: 23px;
    font-weight: 900;
}

.summary-counts {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 34px;
    color: #2d6f5a;
    font-size: 23px;
    font-weight: 800;
}

.command-dock {
    background: #e9f4ee;
    border-top: 1px solid #c8dbd0;
    overflow: hidden;
}

.command-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.command-row.primary {
    height: 62px;
    padding: 8px 0 6px;
}

.command-row.secondary {
    height: 42px;
}

.command-dock button {
    height: 48px;
    min-width: 112px;
    padding: 0 14px;
    color: #21342c;
    font-size: 23px;
    font-weight: 900;
    white-space: nowrap;
}

.command-row.secondary button {
    height: 38px;
    min-width: 118px;
    font-size: 20px;
}

.command-dock .is-primary {
    background: #3f8f72;
    border-color: #3f8f72;
    color: #fff;
}

.command-spacer {
    flex: 1 1 auto;
}

.waiting-count {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    margin-left: 12px;
    color: #21342c;
    font-size: 26px;
    font-weight: 900;
    white-space: nowrap;
}

.waiting-count b {
    font-size: 32px;
}

.workbench-clock {
    margin-left: 72px;
    color: #2d6f5a;
    font-size: 28px;
    font-weight: 900;
}

.danger-command {
    color: #c9283e !important;
}

/* Final HIS workspace composition, aligned with the latest visual reference. */
body.his-app-shell {
    background: #f3f8f4;
}

.topbar {
    min-height: 38px;
    gap: 10px;
    padding: 0 14px;
    background: linear-gradient(180deg, #2f7546 0%, #1f5f38 100%);
    color: #f6fff7;
    box-shadow: inset 0 -1px 0 rgba(9, 64, 37, .38);
}

.brand-mark {
    width: 24px;
    height: 24px;
    border-radius: 7px;
    background: #66c889;
    color: #f8fff9;
    font-size: 13px;
}

.brand-title {
    font-size: 16px;
    font-weight: 900;
}

.topbar-nav {
    gap: 18px;
    margin-left: 12px;
}

.topbar-nav a {
    color: #e7f6ea;
    font-size: 15px;
    font-weight: 900;
}

.topbar-status {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
    color: #e9f7eb;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.topbar-status .logout-link {
    color: #f1fff7;
    text-decoration: none;
    font-weight: 900;
    font: inherit;
    cursor: pointer;
}

/* Settings directory: search-first navigation for the growing settings catalog. */
.settings-workspace.settings-directory {
    --settings-ink: #183128;
    --settings-muted: #61756b;
    --settings-line: #d7e3da;
    --settings-soft: #f3f8f4;
    --settings-accent: #187a50;
    box-sizing: border-box;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    width: 100%;
    max-width: none;
    height: calc(100vh - 64px);
    min-height: 0;
    margin: 0;
    padding: 28px 28px 40px;
    overflow: hidden;
}

.settings-finder {
    grid-row: 1;
    margin-bottom: 24px;
    animation: settings-directory-enter .32s .04s ease-out both;
}

.settings-finder > label {
    display: block;
    margin-bottom: 8px;
    color: #29473b;
    font-size: 13px;
    font-weight: 900;
}

.settings-search-field {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    min-height: 58px;
    border: 1px solid #b9cec0;
    border-radius: 10px;
    padding: 0 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(27, 73, 50, .07);
    transition: border-color .16s ease, box-shadow .16s ease;
}

.settings-search-field:focus-within {
    border-color: #4ea877;
    box-shadow: 0 0 0 3px rgba(78, 168, 119, .14), 0 10px 28px rgba(27, 73, 50, .09);
}

.settings-search-field svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: #527065;
    stroke-linecap: round;
    stroke-width: 1.8;
}

.settings-search-field input {
    width: 100%;
    min-width: 0;
    height: 56px;
    border: 0;
    outline: 0;
    padding: 0 13px;
    background: transparent;
    color: var(--settings-ink);
    font-size: 17px;
    font-weight: 700;
}

.settings-search-field input::placeholder {
    color: #87988f;
    font-weight: 600;
}

.settings-search-field input::-webkit-search-cancel-button {
    display: none;
}

.settings-search-field button,
.settings-recent-head button {
    border: 0;
    padding: 6px 8px;
    background: transparent;
    color: var(--settings-accent);
    font-size: 13px;
    font-weight: 900;
}

.settings-finder > p {
    margin: 7px 2px 0;
    color: #71847a;
    font-size: 12px;
}

.settings-recent {
    grid-row: 2;
    margin-bottom: 24px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--settings-line);
}

.settings-recent-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.settings-recent-head h2 {
    margin: 0;
    color: #2b473b;
    font-size: 14px;
    font-weight: 900;
}

.settings-recent-list {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.settings-recent-item {
    flex: 0 0 auto;
    min-width: 150px;
    border: 1px solid #cadbcf;
    border-radius: 8px;
    padding: 10px 12px;
    background: #fff;
    color: var(--settings-ink);
    text-align: left;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.settings-recent-item:hover {
    border-color: #7eb493;
    background: #f8fcf9;
    transform: translateY(-1px);
}

.settings-recent-item strong,
.settings-recent-item small {
    display: block;
}

.settings-recent-item strong {
    font-size: 14px;
    font-weight: 900;
}

.settings-recent-item small {
    margin-top: 4px;
    color: var(--settings-muted);
    font-size: 11px;
}

.settings-directory-layout {
    grid-row: 3;
    display: grid;
    grid-template-columns: 205px minmax(0, 1fr);
    gap: 34px;
    align-items: start;
    min-height: 0;
    overflow: hidden;
    animation: settings-directory-enter .36s .08s ease-out both;
}

.settings-category-nav {
    position: sticky;
    top: 14px;
    display: grid;
    gap: 3px;
}

.settings-category-nav button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 43px;
    border: 0;
    border-radius: 7px;
    padding: 9px 11px;
    background: transparent;
    color: #4d6258;
    text-align: left;
    transition: background .14s ease, color .14s ease, padding .14s ease;
}

.settings-category-nav button:hover {
    background: #f0f6f2;
    color: #244638;
}

.settings-category-nav button.is-active {
    padding-left: 14px;
    background: #e5f3e9;
    color: #176b47;
    box-shadow: inset 3px 0 0 #329663;
}

.settings-category-nav span {
    font-size: 14px;
    font-weight: 900;
}

.settings-category-nav small {
    min-width: 22px;
    color: #71837a;
    font-size: 11px;
    font-weight: 800;
    text-align: right;
}

.settings-results {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    min-height: 0;
    height: 100%;
}

.settings-results-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--settings-line);
}

.settings-results-head p {
    margin: 0 0 4px;
    color: var(--settings-accent);
    font-size: 12px;
    font-weight: 900;
}

.settings-results-head h2 {
    margin: 0;
    color: var(--settings-ink);
    font-size: 21px;
    font-weight: 900;
}

.settings-results-head > span {
    flex: 0 0 auto;
    color: #6e8277;
    font-size: 12px;
    font-weight: 800;
}

.settings-result-group {
    margin-bottom: 28px;
}

.settings-result-groups {
    grid-row: 2;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-color: #9ab8a7 transparent;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
}

.settings-result-groups::-webkit-scrollbar {
    width: 9px;
}

.settings-result-groups::-webkit-scrollbar-track {
    background: transparent;
}

.settings-result-groups::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: #9ab8a7;
    background-clip: padding-box;
}

.settings-result-groups::-webkit-scrollbar-thumb:hover {
    background: #6f9b82;
    background-clip: padding-box;
}

.settings-result-group[hidden],
.settings-result-item[hidden] {
    display: none !important;
}

.settings-result-group > h3 {
    margin: 0;
    padding: 0 2px 10px;
    color: #60756a;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
}

.settings-result-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.settings-result-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: minmax(0, 1fr) auto;
    column-gap: 14px;
    row-gap: 12px;
    width: 100%;
    min-height: 116px;
    border: 1px solid #cdded2;
    border-radius: 9px;
    padding: 16px;
    background: #ffffff;
    color: var(--settings-ink);
    text-align: left;
    box-shadow: 0 4px 12px rgba(27, 73, 50, .045);
    transition: border-color .14s ease, background .14s ease, box-shadow .14s ease;
}

.settings-result-item::after {
    content: "›";
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    color: #749084;
    font-size: 24px;
    line-height: 1;
    transition: transform .14s ease, color .14s ease;
}

.settings-result-item:hover {
    border-color: #7eae91;
    background: #f8fcf9;
    box-shadow: 0 8px 20px rgba(27, 73, 50, .09);
}

.settings-result-item:hover::after {
    color: var(--settings-accent);
    transform: translateX(3px);
}

.settings-result-item > span {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
}

.settings-result-item strong,
.settings-result-item small {
    display: block;
}

.settings-result-item strong {
    color: var(--settings-ink);
    font-size: 15px;
    font-style: normal;
    font-weight: 900;
}

.settings-result-item small {
    margin-top: 7px;
    overflow: hidden;
    color: var(--settings-muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.settings-result-item em {
    grid-column: 1;
    grid-row: 2;
    color: #708279;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    text-align: left;
}

@media (max-width: 1100px) {
    .settings-result-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.settings-empty-state {
    grid-row: 2;
    padding: 62px 24px;
    color: var(--settings-muted);
    text-align: center;
}

.settings-empty-state strong {
    display: block;
    color: var(--settings-ink);
    font-size: 18px;
    font-weight: 900;
}

.settings-empty-state p {
    margin: 8px 0 18px;
    font-size: 13px;
}

.settings-empty-state button {
    min-height: 36px;
    border: 1px solid #a8c8b4;
    border-radius: 7px;
    padding: 7px 14px;
    background: #fff;
    color: var(--settings-accent);
    font-weight: 900;
}

@keyframes settings-directory-enter {
    from {
        opacity: 0;
        transform: translateY(7px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 760px) {
    .settings-workspace.settings-directory {
        display: block;
        height: auto;
        min-height: calc(100vh - 64px);
        padding: 20px 16px 32px;
        overflow: visible;
    }

    .settings-directory-layout {
        grid-template-columns: 1fr;
        gap: 20px;
        overflow: visible;
    }

    .settings-category-nav {
        position: static;
        display: flex;
        gap: 6px;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .settings-category-nav button {
        flex: 0 0 auto;
        width: auto;
        min-height: 38px;
        padding: 8px 11px;
        border: 1px solid #d3e1d7;
    }

    .settings-category-nav button.is-active {
        padding-left: 11px;
        border-color: #8ebca0;
        box-shadow: none;
    }

    .settings-result-item {
        gap: 10px;
        padding-right: 8px;
    }

    .settings-result-item em {
        display: none;
    }

    .settings-result-list {
        grid-template-columns: 1fr;
    }

    .settings-result-groups {
        max-height: 62vh;
    }
}

@media (prefers-reduced-motion: reduce) {
    .settings-finder,
    .settings-directory-layout {
        animation: none;
    }

    .settings-recent-item,
    .settings-category-nav button,
    .settings-result-item,
    .settings-result-item::after {
        transition: none;
    }
}

.topbar-status .logout-form {
    margin: 0;
}

.topbar-status .logout-link:hover {
    color: #ffffff;
}

.app-main {
    min-height: calc(100vh - 38px);
    padding: 0;
    background: linear-gradient(180deg, #f8fbf7 0%, #eef7f1 100%);
}

.his-home {
    max-width: none;
    min-height: calc(100vh - 38px);
    margin: 0;
}

.home-workspace {
    min-height: calc(100vh - 38px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(330px, 390px);
    column-gap: clamp(18px, 2vw, 30px);
    padding-left: clamp(24px, 4vw, 72px);
    padding-right: clamp(18px, 2.4vw, 36px);
}

.home-workspace.is-hidden {
    display: none;
}

.module-board {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(142px, 1fr));
    gap: 12px;
    align-content: start;
    justify-self: stretch;
    margin: 0;
    padding-top: 0;
}

.home-left-pane {
    grid-column: 1;
}

.home-right-pane {
    grid-column: 2;
    justify-self: stretch;
}

.home-primary {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 28px 0 30px;
}

.home-overview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(270px, 340px);
    gap: 20px;
    align-items: stretch;
    animation: home-rise .28s ease-out both;
}

.home-title-block {
    min-height: 142px;
    display: grid;
    align-content: center;
    padding: 22px 26px;
    border: 1px solid #bfd8c7;
    border-radius: 8px;
    background: linear-gradient(135deg, #ffffff 0%, #f2faf4 100%);
    box-shadow: 0 16px 34px rgba(34, 83, 56, .08);
}

.home-title-block h1 {
    margin: 0;
    color: #182e24;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: 0;
}

.home-title-block p:not(.eyebrow) {
    max-width: 560px;
    margin: 12px 0 0;
    color: #4f685a;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.65;
}

.home-shift-panel {
    display: grid;
    align-content: center;
    gap: 10px;
    padding: 18px;
    border: 1px solid #bfd8c7;
    border-radius: 8px;
    background: #203d30;
    color: #eaffef;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 16px 34px rgba(34, 83, 56, .10);
}

.home-shift-panel span {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 9px;
    border-bottom: 1px solid rgba(234, 255, 239, .16);
    color: #ccebd5;
    font-size: 14px;
    font-weight: 800;
}

.home-shift-panel span:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.home-shift-panel b {
    color: #ffffff;
    font-size: 17px;
    font-weight: 900;
}

.home-focus-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    animation: home-rise .34s ease-out both;
}

.home-focus-strip div {
    min-height: 70px;
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 12px 16px;
    border: 1px solid #c5dcca;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(34, 83, 56, .06);
}

.home-focus-strip span {
    color: #5d7668;
    font-size: 13px;
    font-weight: 900;
}

.home-focus-strip strong {
    color: #1f5336;
    font-size: 30px;
    line-height: 1;
    font-weight: 900;
}

.module-card {
    position: relative;
    min-height: 132px;
    display: grid;
    align-content: end;
    padding: 18px 18px 16px 20px;
    border: 1px solid #c6dacd;
    border-radius: 8px;
    background: #ffffff;
    color: #21342c;
    text-align: left;
    box-shadow: 0 10px 22px rgba(33, 79, 55, .07);
    cursor: pointer;
    overflow: hidden;
    animation: home-rise .38s ease-out both;
}

.module-card:hover {
    border-color: #72b987;
    background: #fbfffc;
    box-shadow: 0 15px 30px rgba(33, 79, 55, .11);
    transform: translateY(-2px);
}

.batch-upload-panel {
    display: none;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: calc(100vh - 112px);
    min-height: calc(100svh - 112px);
    max-height: none;
    padding: 22px clamp(28px, 5vw, 92px);
    overflow-x: hidden;
    overflow-y: visible;
}

.batch-upload-panel.is-active {
    display: block;
}

.batch-upload-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-width: 1120px;
    min-width: 0;
}

.batch-upload-card {
    position: relative;
    min-width: 0;
    display: block;
    min-height: 150px;
    border: 1px solid #c5dacb;
    border-radius: 8px;
    padding: 20px 20px 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96) 0%, rgba(246, 252, 248, .94) 100%);
    color: #21342c;
    text-decoration: none;
    text-align: left;
    box-shadow: 0 12px 26px rgba(33, 79, 55, .08);
    cursor: pointer;
}

.batch-upload-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    width: 4px;
    height: 56px;
    border-radius: 0 4px 4px 0;
    background: #70bd8a;
}

.batch-upload-card strong,
.batch-upload-card small {
    display: block;
}

.batch-upload-card strong {
    color: #1f3329;
    font-size: 28px;
    font-weight: 900;
}

.batch-upload-card small {
    margin-top: 14px;
    color: #5f7569;
    font-size: 14px;
    line-height: 1.55;
}

.batch-upload-card:hover {
    border-color: #79bf8f;
    background: #ffffff;
}

.batch-upload-detail {
    max-width: 760px;
}

.batch-upload-detail p {
    margin: 18px 0 0;
    color: #5b7266;
    line-height: 1.6;
}

.plan-upload-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 1280px;
}

.plan-upload-card {
    min-height: 156px;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    gap: 5px;
}

.plan-upload-card span,
.plan-upload-card em {
    display: block;
}

.plan-upload-card span {
    min-width: 0;
    overflow: hidden;
    color: #244a52;
    font-size: 16px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.plan-upload-card em {
    justify-self: start;
    border-radius: 999px;
    padding: 4px 10px;
    background: #e6f3f0;
    color: #006d73;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
}

.plan-upload-card strong {
    color: #0d3440;
}

.plan-upload-card:hover em {
    background: #008f85;
    color: #ffffff;
}

.plan-upload-detail {
    max-width: 880px;
}

.plan-upload-stage {
    min-height: 112px;
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    margin-top: 18px;
    border: 1px solid #d4e4e2;
    border-radius: 8px;
    padding: 16px 18px;
    background: #f8fcfc;
}

.plan-upload-stage strong {
    display: grid;
    place-items: center;
    min-height: 70px;
    border-radius: 8px;
    background: #0a7179;
    color: #ffffff;
    font-size: 18px;
    font-weight: 950;
}

.plan-upload-stage span {
    min-width: 0;
    color: #244a52;
    font-size: 16px;
    font-weight: 900;
}

.plan-upload-status-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.plan-upload-status-row span {
    min-width: 0;
    display: grid;
    gap: 5px;
    border: 1px solid #d4e4e2;
    border-radius: 8px;
    padding: 12px 14px;
    background: #ffffff;
}

.plan-upload-status-row b {
    color: #647980;
    font-size: 13px;
    font-weight: 900;
}

.plan-upload-status-row strong {
    color: #0d3440;
    font-size: 20px;
    font-weight: 950;
}

@media (max-width: 1100px) {
    .plan-upload-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-height: 720px) {
    .batch-upload-panel {
        min-height: calc(100vh - 96px);
        min-height: calc(100svh - 96px);
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .plan-upload-grid {
        gap: 10px;
    }

    .plan-upload-card {
        min-height: 118px;
        padding: 14px 16px 12px;
    }

    .batch-upload-card strong {
        font-size: 22px;
    }

    .batch-upload-card small {
        margin-top: 6px;
        line-height: 1.35;
    }
}

@media (max-width: 720px) {
    .batch-upload-panel {
        max-height: none;
        min-height: calc(100vh - 88px);
        min-height: calc(100svh - 88px);
        padding: 14px;
    }

    .plan-upload-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .plan-upload-card {
        min-height: 112px;
        padding: 14px 16px 12px;
    }

    .plan-upload-stage {
        grid-template-columns: minmax(0, 1fr);
    }

    .plan-upload-stage strong {
        min-height: 54px;
    }

    .plan-upload-status-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.module-accent {
    position: absolute;
    left: 18px;
    top: 16px;
    width: 32px;
    height: 5px;
    border-radius: 999px;
    background: #70bd8a;
}

.module-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 24px;
    margin-bottom: 12px;
    padding: 0 9px;
    border: 1px solid #cfe3d3;
    border-radius: 999px;
    background: #f0f8f2;
    color: #3d7151;
    font-size: 12px;
    font-weight: 900;
}

.module-card strong {
    display: block;
    margin-bottom: 8px;
    color: #1f2f28;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 900;
}

.module-card small {
    color: #50685a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

.primary-module {
    border-color: #6fba84;
    background: linear-gradient(180deg, #2f7546 0%, #23683c 100%);
    box-shadow: 0 16px 32px rgba(35, 104, 60, .18);
}

.primary-module .module-accent {
    background: #a7e6b8;
}

.primary-module .module-kicker {
    border-color: rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .12);
    color: #ecfff0;
}

.primary-module strong {
    color: #ffffff;
}

.primary-module small {
    color: #dff7e6;
}

.primary-module:hover {
    border-color: #91d6a3;
    background: linear-gradient(180deg, #347f4d 0%, #267143 100%);
}

.news-rail {
    align-self: stretch;
    min-height: 0;
    max-height: calc(100vh - 70px);
    margin-top: 28px;
    margin-bottom: 30px;
    padding: 18px 16px;
    border: 1px solid #bdd4c5;
    border-radius: 8px;
    background: rgba(251, 254, 250, .96);
    box-shadow: 0 16px 34px rgba(34, 83, 56, .08);
    overflow-y: auto;
    animation: home-rise .32s ease-out both;
}

.news-rail h2 {
    margin: 0 0 14px;
    padding: 0 0 12px;
    border-bottom: 1px solid #c7dacd;
    color: #233f30;
    font-size: 20px;
    font-weight: 900;
}

.news-item {
    margin-bottom: 8px;
    padding: 12px 12px 12px 14px;
    border: 1px solid #d4e4d8;
    border-left: 4px solid #76bd8f;
    border-radius: 7px;
    background: #ffffff;
    box-shadow: none;
}

.news-item time {
    display: block;
    margin-bottom: 8px;
    color: #658273;
    font-size: 12px;
    font-weight: 800;
}

.news-item strong {
    display: block;
    margin-bottom: 6px;
    color: #2b6942;
    font-size: 15px;
    font-weight: 900;
}

.news-item p {
    margin: 0;
    color: #40594b;
    font-size: 13px;
    line-height: 1.5;
}

@keyframes home-rise {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-overview,
    .home-focus-strip,
    .module-card,
    .news-rail {
        animation: none;
    }
}

.settings-workspace {
    min-height: calc(100vh - 38px);
    padding: 18px 22px 24px;
    color: #21342c;
}

.settings-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.settings-hero h1 {
    margin: 0;
    color: #1f3329;
    font-size: 30px;
    font-weight: 900;
}

.settings-hero p:not(.eyebrow) {
    max-width: 680px;
    margin: 8px 0 0;
    color: #536b5d;
    font-size: 15px;
    line-height: 1.55;
}

.settings-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.settings-save-status {
    min-width: 96px;
    color: #60776a;
    font-size: 13px;
    font-weight: 900;
    text-align: right;
}

.settings-save-status.is-dirty {
    color: #9d4a42;
}

.settings-save-status.is-saved {
    color: #2f7546;
}

.primary-setting-action,
.secondary-setting-action,
.settings-block-head button {
    min-height: 36px;
    border: 1px solid #c5d8ca;
    border-radius: 7px;
    padding: 7px 14px;
    background: #ffffff;
    color: #285d3d;
    font-weight: 900;
}

.primary-setting-action {
    border-color: #57bd7b;
    background: #57bd7b;
    color: #ffffff;
}

.settings-shell {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 16px;
}

.settings-sidebar,
.settings-panel,
.settings-block {
    border: 1px solid #c7dacd;
    border-radius: 8px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 10px 22px rgba(33, 79, 55, .07);
}

.settings-sidebar {
    min-height: 620px;
    padding: 10px;
}

.settings-nav-item {
    width: 100%;
    display: block;
    margin-bottom: 8px;
    border: 1px solid transparent;
    border-radius: 7px;
    padding: 12px 12px 11px;
    background: transparent;
    color: #254236;
    text-align: left;
}

.settings-nav-item span,
.settings-nav-item small {
    display: block;
}

.settings-nav-item span {
    font-size: 16px;
    font-weight: 900;
}

.settings-nav-item small {
    margin-top: 6px;
    color: #60796b;
    font-size: 12px;
    line-height: 1.4;
}

.settings-nav-item.is-active {
    border-color: #9fc9ac;
    background: #e8f6ec;
    box-shadow: inset 4px 0 0 #57bd7b;
}

.settings-nav-item:disabled {
    cursor: not-allowed;
    opacity: .58;
}

.settings-panel {
    min-width: 0;
    padding: 16px;
}

.settings-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid #d6e5da;
}

.settings-section-head h2 {
    margin: 0;
    color: #1f3329;
    font-size: 24px;
    font-weight: 900;
}

.permission-scope {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border: 1px solid #c8dccf;
    border-radius: 7px;
    background: #f8fcf8;
}

.permission-scope span {
    color: #6a8073;
    font-size: 13px;
    font-weight: 800;
}

.permission-scope strong {
    color: #245c3c;
}

.permission-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.permission-stat {
    min-height: 92px;
    padding: 14px 16px;
    border: 1px solid #c9dbce;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f1f9f3 100%);
}

.permission-stat span,
.permission-stat small {
    display: block;
}

.permission-stat span {
    color: #587265;
    font-size: 13px;
    font-weight: 900;
}

.permission-stat strong {
    display: block;
    margin: 4px 0;
    color: #2f7546;
    font-size: 30px;
    font-weight: 900;
}

.permission-stat small {
    color: #60776a;
    line-height: 1.35;
}

.permission-content-grid {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 14px;
    margin-bottom: 14px;
}

.settings-block {
    padding: 14px;
}

.settings-block-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.settings-block-head h3 {
    margin: 0;
    color: #243b31;
    font-size: 18px;
    font-weight: 900;
}

.settings-block-head span {
    color: #60776a;
    font-size: 13px;
    font-weight: 800;
}

.settings-block-head select {
    min-height: 34px;
    border: 1px solid #c9d9ce;
    border-radius: 6px;
    padding: 4px 10px;
    background: #ffffff;
    color: #21342c;
    font-weight: 800;
}

.account-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 58px;
    padding: 10px 12px;
    border-radius: 7px;
}

.account-row:nth-child(odd) {
    background: #f2f8f4;
}

.account-row.is-current {
    background: #e4f5e9;
    box-shadow: inset 4px 0 0 #57bd7b;
}

.account-row strong,
.account-row small,
.account-row span {
    display: block;
}

.account-row strong {
    color: #1f3329;
    font-size: 15px;
    font-weight: 900;
}

.account-row small {
    margin-top: 3px;
    color: #60776a;
}

.account-row span {
    color: #2f7546;
    font-size: 13px;
    font-weight: 900;
}

.settings-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.settings-field-grid label,
.permission-switches label {
    display: grid;
    gap: 6px;
    color: #243b31;
    font-weight: 900;
}

.settings-field-grid span {
    color: #60776a;
    font-size: 13px;
}

.settings-field-grid input,
.settings-field-grid select {
    min-height: 38px;
    border: 1px solid #cbdad0;
    border-radius: 7px;
    padding: 7px 10px;
    background: #ffffff;
    color: #21342c;
}

.permission-switches {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}

.permission-switches label {
    grid-template-columns: auto 1fr;
    align-items: center;
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid #d4e2d8;
    border-radius: 7px;
    background: #f8fcf8;
    font-size: 13px;
}

.permission-table-frame {
    overflow: auto;
}

.permission-matrix table {
    width: 100%;
    min-width: 780px;
    border-collapse: collapse;
}

.permission-matrix th,
.permission-matrix td {
    border-bottom: 1px solid #d4e2d8;
    padding: 12px 12px;
    text-align: center;
}

.permission-matrix th {
    background: #e7f3ea;
    color: #244336;
    font-size: 14px;
    font-weight: 900;
}

.permission-matrix th:first-child,
.permission-matrix td:first-child {
    width: 38%;
    text-align: left;
}

.permission-matrix tbody tr:nth-child(even) {
    background: #f6fbf7;
}

.permission-matrix td strong,
.permission-matrix td small {
    display: block;
}

.permission-matrix td strong {
    color: #21342c;
    font-size: 15px;
    font-weight: 900;
}

.permission-matrix td small {
    margin-top: 4px;
    color: #60776a;
    font-size: 12px;
    line-height: 1.35;
}

.permission-settings-workspace input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #57bd7b;
}

.control-permission-workspace {
    padding: 18px 22px;
}

.staff-action,
.permission-action,
.sms-action,
.parameter-action {
    display: none;
}

.staff-action.is-visible,
.permission-action.is-visible,
.sms-action.is-visible,
.parameter-action.is-visible {
    display: inline-flex;
    align-items: center;
}

.settings-save-status.staff-action.is-visible,
.settings-save-status.permission-action.is-visible,
.settings-save-status.sms-action.is-visible,
.settings-save-status.parameter-action.is-visible {
    display: inline-block;
}

.system-setting-hub {
    display: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-width: 1120px;
}

.system-setting-hub.is-active {
    display: grid;
}

.system-setting-card {
    position: relative;
    min-height: 178px;
    border: 1px solid #c5dacb;
    border-radius: 8px;
    padding: 20px 20px 18px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .96) 0%, rgba(246, 252, 248, .94) 100%);
    color: #21342c;
    text-align: left;
    box-shadow: 0 12px 26px rgba(33, 79, 55, .08);
}

.system-setting-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18px;
    width: 4px;
    height: 64px;
    border-radius: 0 4px 4px 0;
    background: #70bd8a;
}

.system-setting-card.is-primary {
    border-color: #91cda3;
    background: linear-gradient(180deg, #effaf2 0%, #ffffff 100%);
}

.system-setting-card.is-primary::before {
    background: #57bd7b;
}

.system-setting-card span,
.system-setting-card strong,
.system-setting-card small {
    display: block;
}

.system-setting-card span {
    color: #3f7652;
    font-size: 13px;
    font-weight: 900;
}

.system-setting-card strong {
    margin-top: 14px;
    color: #1f3329;
    font-size: 22px;
    font-weight: 900;
}

.system-setting-card small {
    margin-top: 12px;
    color: #5f7569;
    font-size: 14px;
    line-height: 1.55;
}

.system-setting-card:hover {
    border-color: #79bf8f;
    background: #ffffff;
}

.setting-placeholder-panel,
.sms-settings-panel,
.staff-basic-panel,
.control-permission-panel {
    display: none;
}

.setting-placeholder-panel.is-active,
.sms-settings-panel.is-active,
.staff-basic-panel.is-active,
.control-permission-panel.is-active {
    display: block;
}

.setting-placeholder-panel .settings-block {
    max-width: 760px;
    min-height: 220px;
}

.setting-placeholder-panel h2 {
    margin: 18px 0 8px;
    color: #1f3329;
    font-size: 26px;
    font-weight: 900;
}

.setting-placeholder-panel p {
    max-width: 620px;
    color: #5b7266;
    line-height: 1.6;
}

.parameter-settings-page .settings-block {
    max-width: 920px;
    min-height: 0;
}

.parameter-settings-content {
    display: grid;
    gap: 12px;
}

.parameter-option-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    align-items: center;
    gap: 24px;
    padding: 18px;
    border: 1px solid #d6e5da;
    border-radius: 8px;
    background: #f8fcf8;
}

.parameter-option-copy h2 {
    margin: 0 0 8px;
}

.parameter-option-copy p {
    margin: 0;
}

.parameter-choice-field {
    margin: 0;
    border: 0;
    padding: 0;
}

.parameter-choice-field legend {
    margin-bottom: 8px;
    color: #60776a;
    font-size: 13px;
    font-weight: 900;
}

.parameter-crud-head .parameter-choice-field {
    display: flex;
    align-items: center;
    gap: 8px;
}

.parameter-crud-head .parameter-choice-field legend {
    margin: 0;
    white-space: nowrap;
}

.parameter-choice-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.parameter-choice-tabs label {
    display: block;
}

.parameter-choice-tabs input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.parameter-choice-tabs span {
    min-height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid #c5d8ca;
    border-radius: 7px;
    background: #ffffff;
    color: #285d3d;
    font-size: 22px;
    font-weight: 900;
    cursor: pointer;
}

.parameter-crud-head .parameter-choice-tabs span {
    min-width: 42px;
    min-height: 32px;
    font-size: 16px;
}

.parameter-choice-tabs input:checked + span {
    border-color: #57bd7b;
    background: #e8f6ec;
    color: #245c3c;
    box-shadow: inset 0 0 0 2px #57bd7b;
}

.parameter-choice-tabs input:focus + span {
    outline: 2px solid rgba(87, 189, 123, .25);
    outline-offset: 2px;
}

.parameter-settings-page .is-hidden {
    display: none !important;
}

.parameter-maintenance-block {
    max-width: 1280px;
}

.parameter-crud-panel {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid #d6e5da;
    border-radius: 8px;
    background: #fbfefa;
}

.parameter-crud-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.parameter-crud-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.parameter-crud-head h2,
.parameter-list-panel h3 {
    margin: 0;
    color: #1f3329;
    font-weight: 900;
}

.parameter-crud-head p,
.parameter-list-panel p {
    margin: 5px 0 0;
    color: #60776a;
    font-size: 13px;
    font-weight: 800;
}

.parameter-crud-shell {
    min-height: 520px;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr) 310px;
    gap: 14px;
}

.parameter-crud-shell.is-detail {
    grid-template-columns: minmax(0, 1fr) 310px;
}

.parameter-crud-shell.is-detail .parameter-presentation-panel,
.parameter-crud-shell.is-detail .clinic-drug-panel {
    grid-column: 1 / -1;
}

.parameter-category-list {
    display: grid;
    align-content: start;
    gap: 8px;
}

.parameter-category-list button {
    min-height: 74px;
    border: 1px solid #d2e2d7;
    border-radius: 8px;
    padding: 12px 14px;
    background: #ffffff;
    color: #21342c;
    text-align: left;
}

.parameter-category-list button.is-active {
    border-color: #79bf8f;
    background: #eaf7ef;
    box-shadow: inset 4px 0 0 #57bd7b;
}

.parameter-category-list strong,
.parameter-category-list span {
    display: block;
}

.parameter-category-list strong {
    font-size: 16px;
    font-weight: 900;
}

.parameter-category-list span {
    margin-top: 6px;
    color: #60776a;
    font-size: 12px;
    font-weight: 900;
}

.parameter-presentation-panel {
    grid-column: 2 / 4;
    min-width: 0;
    min-height: 0;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 18px;
    border: 1px solid #d6e5da;
    border-radius: 8px;
    padding: 28px;
    background: #ffffff;
    text-align: center;
    overflow: hidden;
}

.parameter-presentation-panel h3 {
    margin: 0 0 8px;
    color: #1f3329;
    font-size: 24px;
    font-weight: 900;
}

.parameter-presentation-panel p {
    margin: 0;
    color: #60776a;
    font-size: 14px;
    font-weight: 800;
}

.parameter-presentation-panel .parameter-choice-field {
    display: grid;
    justify-items: center;
    gap: 10px;
}

.parameter-presentation-panel .parameter-choice-field legend {
    margin: 0;
    color: #2f7546;
}

.parameter-presentation-panel .parameter-choice-tabs {
    width: min(280px, 100%);
}

.parameter-presentation-panel .parameter-choice-tabs span {
    min-height: 64px;
    font-size: 26px;
}

.parameter-presentation-switch-field {
    width: min(360px, 100%);
}

.parameter-setting-switch {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 2px 12px;
    border: 1px solid #cfe0d4;
    border-radius: 8px;
    padding: 13px 15px;
    background: #f8fcfa;
    color: #22382d;
    text-align: left;
    cursor: pointer;
}

.parameter-setting-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.parameter-setting-switch-track {
    grid-row: 1 / 3;
    position: relative;
    width: 48px;
    height: 26px;
    border: 1px solid #b9cbd2;
    border-radius: 999px;
    background: #eef3f5;
    transition: background .16s ease, border-color .16s ease;
}

.parameter-setting-switch-track::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(7, 23, 53, .24);
    transition: transform .16s ease;
}

.parameter-setting-switch strong {
    font-size: 16px;
    font-weight: 900;
}

.parameter-setting-switch small {
    color: #60776a;
    font-size: 12px;
    font-weight: 800;
}

.parameter-setting-switch input:checked + .parameter-setting-switch-track {
    border-color: #009b86;
    background: #009b86;
}

.parameter-setting-switch input:checked + .parameter-setting-switch-track::after {
    transform: translateX(22px);
}

.parameter-setting-switch input:focus + .parameter-setting-switch-track {
    outline: 2px solid rgba(0, 155, 134, .22);
    outline-offset: 2px;
}

.parameter-list-panel,
.parameter-editor-form {
    min-width: 0;
    border: 1px solid #d6e5da;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.parameter-list-panel header {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid #dce9df;
    background: #f5fbf6;
}

#parameterListCount {
    flex: 0 0 auto;
    border: 1px solid #bfe0c8;
    border-radius: 999px;
    padding: 5px 10px;
    background: #effaf2;
    color: #2f7546;
    font-size: 12px;
    font-weight: 900;
}

.parameter-table-frame {
    max-height: 446px;
    overflow: auto;
}

.parameter-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.parameter-table th,
.parameter-table td {
    border-bottom: 1px solid #dce9df;
    padding: 10px 11px;
    color: #21342c;
    text-align: left;
}

.parameter-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #e7f3ea;
    color: #244336;
    font-size: 13px;
    font-weight: 900;
}

.parameter-table th:first-child,
.parameter-table td:first-child {
    width: 64px;
    text-align: center;
}

.parameter-table th:nth-child(2),
.parameter-table td:nth-child(2) {
    width: 88px;
}

.parameter-table tbody tr {
    cursor: pointer;
}

.parameter-table tbody tr:nth-child(even) {
    background: #f8fcf8;
}

.parameter-table tbody tr.is-selected {
    background: #e6f6eb;
    box-shadow: inset 4px 0 0 #57bd7b;
}

.parameter-table td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 800;
}

.parameter-table td strong {
    color: #285d3d;
    font-weight: 900;
}

.parameter-empty-row td {
    height: 120px;
    color: #60776a;
    text-align: center;
}

.parameter-editor-form {
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 14px;
}

.parameter-editor-form label {
    display: grid;
    gap: 5px;
    color: #243b31;
    font-size: 13px;
    font-weight: 900;
}

.parameter-editor-form span {
    color: #60776a;
}

.parameter-editor-form input,
.parameter-editor-form textarea {
    width: 100%;
    min-height: 36px;
    border: 1px solid #cbdad0;
    border-radius: 7px;
    padding: 7px 9px;
    background: #ffffff;
    color: #21342c;
    font-weight: 800;
}

.parameter-editor-form textarea {
    resize: vertical;
    min-height: 86px;
}

.parameter-note-field {
    min-height: 0;
}

.parameter-editor-form footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 4px;
}

.parameter-editor-form footer button {
    min-height: 38px;
}

.parameter-settings-page .setting-placeholder-panel.is-active {
    min-height: 0;
}

.parameter-settings-page .setting-placeholder-panel .settings-block.parameter-maintenance-block {
    height: 100%;
    max-width: none;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 8px;
    overflow: hidden;
}

.parameter-settings-page .parameter-settings-content {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    gap: 10px;
    overflow: hidden;
}

.parameter-settings-page .parameter-option-group {
    min-height: 0;
    padding: 10px 14px;
}

.parameter-settings-page .parameter-option-copy h2 {
    margin-bottom: 4px;
    font-size: 20px;
}

.parameter-settings-page .parameter-option-copy p {
    line-height: 1.35;
}

.parameter-settings-page .parameter-choice-tabs span {
    min-height: 36px;
    font-size: 18px;
}

.parameter-settings-page .parameter-crud-panel {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
    overflow: hidden;
}

.parameter-settings-page.is-clinic-drug-detail .parameter-crud-panel {
    grid-template-rows: minmax(0, 1fr);
    gap: 0;
}

.parameter-settings-page .parameter-crud-head {
    min-height: 0;
}

.parameter-settings-page .parameter-crud-head h2 {
    font-size: 20px;
}

.parameter-settings-page .parameter-crud-head p {
    margin-top: 3px;
    line-height: 1.3;
}

.parameter-settings-page .parameter-crud-shell {
    min-height: 0;
    height: 100%;
}

.parameter-settings-page .parameter-category-list,
.parameter-settings-page .parameter-presentation-panel,
.parameter-settings-page .parameter-list-panel,
.parameter-settings-page .parameter-editor-form {
    min-height: 0;
}

.parameter-settings-page .parameter-category-list {
    overflow: auto;
}

.parameter-settings-page .parameter-category-list button {
    min-height: 60px;
    padding: 9px 12px;
}

.parameter-settings-page .parameter-list-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.parameter-settings-page .parameter-list-panel header {
    min-height: 58px;
    padding: 9px 12px;
}

.parameter-settings-page .parameter-table-frame {
    max-height: none;
    min-height: 0;
    overflow: auto;
}

.parameter-settings-page .parameter-table th,
.parameter-settings-page .parameter-table td {
    padding: 8px 10px;
}

.parameter-settings-page .parameter-editor-form {
    align-content: stretch;
    gap: 8px;
    padding: 12px;
    overflow: auto;
}

.parameter-settings-page .parameter-editor-form input,
.parameter-settings-page .parameter-editor-form textarea {
    min-height: 32px;
    padding: 5px 8px;
}

.parameter-settings-page .parameter-editor-form textarea {
    min-height: 58px;
}

.parameter-settings-page .parameter-editor-form footer {
    position: sticky;
    bottom: -12px;
    margin: 0 -12px -12px;
    padding: 8px 12px 12px;
    background: #ffffff;
    border-top: 1px solid #d6e5da;
}

.clinic-drug-panel {
    grid-column: 2 / 4;
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
    border: 1px solid #d6e5da;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.clinic-drug-head {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid #dce9df;
    background: #f5fbf6;
}

.clinic-drug-head.is-compact {
    min-height: 44px;
    justify-content: flex-end;
    padding: 8px 12px;
}

.clinic-drug-head h3 {
    margin: 0;
    color: #1f3329;
    font-size: 20px;
    font-weight: 900;
}

.clinic-drug-head p {
    margin: 4px 0 0;
    color: #60776a;
    font-size: 13px;
    font-weight: 800;
}

#clinicDrugStatus {
    flex: 0 0 auto;
    border: 1px solid #bfe0c8;
    border-radius: 999px;
    padding: 5px 10px;
    background: #effaf2;
    color: #2f7546;
    font-size: 12px;
    font-weight: 900;
}

.clinic-drug-layout {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, 320px) minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
    overflow: hidden;
}

.clinic-drug-source-panel,
.clinic-drug-local-panel,
.clinic-drug-editor-form {
    min-width: 0;
    min-height: 0;
    border: 1px solid #d6e5da;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.clinic-drug-source-panel,
.clinic-drug-local-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.clinic-drug-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid #dce9df;
    background: #fbfefa;
}

.clinic-drug-search-form label {
    min-width: 0;
    display: grid;
    gap: 5px;
    margin: 0;
    color: #285d3d;
    font-size: 12px;
    font-weight: 900;
}

.clinic-drug-search-form input {
    width: 100%;
}

.clinic-drug-table-frame {
    min-height: 0;
    overflow: auto;
}

.clinic-drug-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    table-layout: fixed;
}

.clinic-drug-local-panel .clinic-drug-table {
    min-width: 520px;
}

.clinic-drug-table th,
.clinic-drug-table td {
    border-bottom: 1px solid #dce9df;
    padding: 8px 9px;
    color: #21342c;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 800;
}

.clinic-drug-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #e7f3ea;
    color: #244336;
    font-weight: 900;
}

.clinic-drug-table tbody tr {
    cursor: pointer;
}

.clinic-drug-table tbody tr:nth-child(even) {
    background: #f8fcf8;
}

.clinic-drug-table tbody tr.is-selected {
    background: #e6f6eb;
    box-shadow: inset 4px 0 0 #57bd7b;
}

.clinic-drug-table td strong {
    color: #285d3d;
}

.clinic-drug-editor-form {
    display: grid;
    align-content: start;
    gap: 9px;
    padding: 12px;
}

.clinic-drug-editor-form label {
    min-width: 0;
    display: grid;
    gap: 5px;
    margin: 0;
    color: #285d3d;
    font-size: 12px;
    font-weight: 900;
}

.clinic-drug-wide-field {
    grid-column: 1 / -1;
}

.clinic-drug-editor-form input,
.clinic-drug-editor-form textarea {
    width: 100%;
}

.clinic-drug-editor-form textarea {
    resize: vertical;
}

.clinic-drug-editor-form footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 4px;
}

.sequence-logic-panel {
    grid-column: 1 / -1;
    display: grid;
    gap: 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.sequence-logic-panel > header {
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0;
    border-bottom: 0;
    background: transparent;
}

.sequence-flow-note {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    border: 1px solid #b9d7f4;
    border-radius: 999px;
    background: #eef7ff;
    color: #315b88;
    padding: 4px 14px;
    font-size: 13px;
    font-weight: 900;
}

.sequence-logic-panel h3 {
    margin: 0 0 4px;
    color: #1f3329;
    font-size: 20px;
    font-weight: 900;
}

.sequence-logic-panel p {
    margin: 0;
    color: #60776a;
    font-size: 13px;
    font-weight: 800;
}

#sequenceLogicStatus {
    flex: 0 0 auto;
    border: 1px solid #bfe0c8;
    border-radius: 999px;
    padding: 5px 10px;
    background: #effaf2;
    color: #2f7546;
    font-size: 12px;
    font-weight: 900;
}

.sequence-logic-form {
    display: grid;
    gap: 0;
    padding: 0;
}

.sequence-logic-layout {
    display: grid;
    grid-template-columns: minmax(330px, 440px) minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

.sequence-logic-controls {
    display: grid;
    gap: 8px;
    align-content: start;
}

.sequence-batch-card {
    display: grid;
    gap: 8px;
    border: 1px solid #cfe1dc;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fcf9 100%);
    padding: 11px 12px;
}

.sequence-batch-card h3 {
    margin: 0;
    color: #007f79;
    font-size: 17px;
    font-weight: 900;
}

.sequence-batch-card .sequence-availability-filters {
    grid-template-columns: 1fr;
}

.sequence-channel-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.sequence-channel-tabs button {
    min-height: 36px;
    border: 1px solid #cbded3;
    border-radius: 7px;
    background: #ffffff;
    color: #1f3329;
    padding: 6px 10px;
    font-weight: 900;
}

.sequence-channel-tabs button[data-sequence-channel="his"] {
    color: #007f45;
}

.sequence-channel-tabs button[data-sequence-channel="online"] {
    color: #1f5f9f;
}

.sequence-channel-tabs button.is-active {
    border-color: #009b86;
    background: linear-gradient(180deg, #10aa82 0%, #008a68 100%);
    color: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .22);
}

.sequence-channel-tabs button[data-sequence-channel="online"].is-active {
    border-color: #2878d8;
    background: linear-gradient(180deg, #3d8df2 0%, #1f66c2 100%);
}

.sequence-weekday-actions,
.sequence-parity-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sequence-weekday-actions button,
.sequence-parity-actions button {
    min-height: 32px;
    border: 1px solid #cbded3;
    border-radius: 7px;
    background: #ffffff;
    color: #1f3329;
    padding: 6px 12px;
    font-weight: 900;
}

.sequence-parity-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sequence-parity-actions button.is-active {
    border-color: #009b86;
    background: #e2f5ee;
    color: #007f79;
    box-shadow: inset 0 0 0 1px #009b86;
}

.sequence-weekday-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
}

.sequence-weekday-grid label {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #cbded3;
    border-radius: 7px;
    background: #ffffff;
    color: #163a34;
    font-weight: 900;
    cursor: pointer;
}

.sequence-weekday-grid label:has(input:checked) {
    border-color: #8ed9b3;
    background: #ddf6e6;
    color: #007f45;
}

.sequence-weekday-grid input {
    width: 17px;
    height: 17px;
}

.sequence-logic-scope {
    margin: 0;
}

.sequence-choice-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sequence-choice-tabs span {
    min-height: 48px;
    place-items: start;
    align-content: center;
    gap: 6px;
    padding: 8px 10px;
    text-align: left;
}

.sequence-choice-tabs strong,
.sequence-choice-tabs small {
    display: block;
}

.sequence-choice-tabs strong {
    color: #1f3329;
    font-size: 14px;
    font-weight: 900;
}

.sequence-choice-tabs small {
    color: #60776a;
    font-size: 11px;
    font-weight: 800;
}

.sequence-logic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.sequence-logic-grid label {
    display: grid;
    gap: 5px;
    align-content: start;
    border: 1px solid #d6e5da;
    border-radius: 8px;
    padding: 8px 10px;
    background: #fbfefa;
}

.sequence-switch-field {
    grid-column: 1 / -1;
}

.sequence-logic-grid label > span {
    color: #245c3c;
    font-size: 13px;
    font-weight: 900;
}

.sequence-logic-grid input[type="number"] {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 16px;
    font-weight: 900;
}

.sequence-switch-field input[type="checkbox"] {
    width: 20px;
    height: 20px;
}

.sequence-switch-field small {
    display: none;
    color: #60776a;
    font-size: 12px;
    font-weight: 800;
}

.sequence-availability-panel {
    display: grid;
    gap: 12px;
    border: 1px solid #d6e5da;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
    min-width: 0;
}

.sequence-availability-panel > header {
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid #dce9df;
    background: #ffffff;
}

.sequence-availability-panel strong {
    display: block;
    color: #245c3c;
    font-size: 18px;
    font-weight: 900;
}

.sequence-availability-panel p {
    display: none;
    margin-top: 4px;
}

.sequence-availability-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.sequence-availability-filters label {
    display: grid;
    gap: 5px;
}

.sequence-availability-filters span {
    color: #245c3c;
    font-size: 12px;
    font-weight: 900;
}

.sequence-availability-filters select {
    min-height: 38px;
    border: 1px solid #cbded3;
    border-radius: 7px;
    background: #ffffff;
    padding: 6px 10px;
    color: #1f3329;
    font-size: 14px;
    font-weight: 800;
}

.sequence-availability-actions {
    display: flex;
    justify-content: stretch;
    gap: 8px;
}

.sequence-availability-actions button {
    flex: 1 1 0;
    min-height: 40px;
    border: 1px solid #bfe0c8;
    border-radius: 7px;
    background: #ffffff;
    color: #1c7a44;
    padding: 6px 12px;
    font-size: 16px;
    font-weight: 900;
}

.sequence-availability-actions .is-allow {
    border-color: #009b61;
    background: linear-gradient(180deg, #10aa82 0%, #008a68 100%);
    color: #ffffff;
}

.sequence-availability-actions .is-deny {
    border-color: #f3a7a7;
    background: #fffafa;
    color: #d73333;
}

.sequence-number-legend {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.sequence-number-legend span {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #dce7e4;
    border-radius: 7px;
    background: #f8fbfa;
    padding: 4px 8px;
    color: #1f3329;
    font-size: 13px;
    font-weight: 900;
}

.sequence-number-legend b {
    font: inherit;
}

.sequence-number-legend i {
    width: 18px;
    height: 18px;
    border-radius: 5px;
    display: inline-block;
}

.sequence-number-legend i.is-allow {
    background: #ddf6e6;
    border: 1px solid #8ed9b3;
}

.sequence-number-legend i.is-deny {
    background: #fff0ef;
    border: 1px solid #e6aaa6;
}

.sequence-logic-form.is-channel-online .sequence-number-legend i.is-allow {
    background: #eaf3ff;
    border-color: #8dbcf7;
}

.sequence-number-matrix {
    min-width: 0;
    min-height: 420px;
    margin: 0 12px;
    border: 1px solid #cbded8;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.sequence-matrix-scroll {
    width: 100%;
    height: 100%;
    min-height: 420px;
    max-height: min(58vh, 620px);
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.sequence-matrix-canvas {
    min-width: 760px;
}

.sequence-matrix-header,
.sequence-matrix-row {
    display: grid;
    grid-template-columns: 84px repeat(7, minmax(86px, 1fr));
    box-sizing: border-box;
}

.sequence-matrix-header *,
.sequence-matrix-row * {
    box-sizing: border-box;
}

.sequence-matrix-header {
    position: sticky;
    top: 0;
    z-index: 6;
    min-height: 52px;
    border-bottom: 2px solid #9fc8bc;
    background: #edf6f3;
}

.sequence-matrix-axis,
.sequence-matrix-header button {
    min-width: 0;
    min-height: 52px;
    border: 0;
    border-right: 1px solid #cbded8;
    background: #edf6f3;
    color: #173c34;
    padding: 6px 5px;
    font-weight: 900;
    text-align: center;
}

.sequence-matrix-axis {
    position: sticky;
    left: 0;
    z-index: 8;
    display: grid;
    place-content: center;
    gap: 1px;
    background: #173c34;
    color: #ffffff;
}

.sequence-matrix-axis b,
.sequence-matrix-axis small,
.sequence-matrix-header button span,
.sequence-matrix-header button small {
    display: block;
}

.sequence-matrix-axis small,
.sequence-matrix-header button small {
    margin-top: 2px;
    font-size: 10px;
    font-weight: 800;
}

.sequence-matrix-axis small {
    color: #cce4dc;
}

.sequence-matrix-header button {
    cursor: pointer;
}

.sequence-matrix-header button:hover {
    background: #deeee9;
}

.sequence-matrix-header button.is-selected {
    background: #d9f3e7;
    color: #006f45;
    box-shadow: inset 0 -4px 0 #009b61;
}

.sequence-matrix-header button.is-weekend {
    color: #8a5a14;
}

.sequence-matrix-header button.is-weekend.is-selected {
    background: #f8eed8;
    box-shadow: inset 0 -4px 0 #c78a24;
}

.sequence-matrix-spacer {
    position: relative;
    min-width: 760px;
}

.sequence-matrix-rows {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    will-change: transform;
}

.sequence-matrix-row {
    min-width: 760px;
    border-bottom: 1px solid #e0ebe7;
    background: #ffffff;
}

.sequence-matrix-row:nth-child(even) {
    background: #f9fcfb;
}

.sequence-matrix-number {
    position: sticky;
    left: 0;
    z-index: 3;
    display: grid;
    place-items: center;
    border-right: 2px solid #b9d4cb;
    background: #eef5f3;
    color: #173c34;
    font-variant-numeric: tabular-nums;
    font-size: 15px;
    font-weight: 900;
}

.sequence-matrix-row button {
    min-width: 0;
    border: 0;
    border-right: 1px solid #e0ebe7;
    background: #f2fbf5;
    color: #087542;
    padding: 3px 5px;
    font-size: 12px;
    font-weight: 900;
    cursor: crosshair;
    user-select: none;
    touch-action: none;
}

.sequence-matrix-row button.is-weekend:not(.is-disabled) {
    background: #fffaf0;
    color: #875916;
}

.sequence-matrix-row button.is-disabled {
    background: #fff0ef;
    color: #b93832;
}

.sequence-matrix-row button:hover {
    position: relative;
    z-index: 2;
    box-shadow: inset 0 0 0 2px #009b61;
}

.sequence-logic-form.is-channel-online .sequence-availability-actions .is-allow {
    border-color: #2878d8;
    background: linear-gradient(180deg, #3d8df2 0%, #1f66c2 100%);
}

.sequence-logic-form.is-channel-online .sequence-matrix-row button:not(.is-disabled) {
    border-color: #b9d7f4;
    background: #eef6ff;
    color: #1f5f9f;
}

.sequence-logic-form.is-channel-online .sequence-matrix-row button.is-weekend:not(.is-disabled) {
    background: #f5f2ff;
    color: #6650a8;
}

.sequence-logic-form.is-channel-online .sequence-matrix-row button:hover {
    box-shadow: inset 0 0 0 2px #2878d8;
}

@media (max-width: 1380px) {
    .clinic-drug-layout {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 310px);
    }

    .sequence-logic-layout {
        grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    }

    .sequence-number-matrix,
    .sequence-matrix-scroll {
        min-height: 360px;
    }

    .clinic-drug-local-panel {
        grid-column: 1 / -1;
        min-height: 220px;
    }
}

@media (max-width: 980px) {
    .clinic-drug-panel {
        grid-column: 1 / -1;
    }

    .sequence-logic-layout {
        grid-template-columns: 1fr;
    }

    .sequence-number-matrix,
    .sequence-matrix-scroll {
        min-height: 300px;
        max-height: 48vh;
    }

    .clinic-drug-layout {
        grid-template-columns: 1fr;
        overflow: auto;
    }
}

@media (max-height: 760px) {
    .clinic-drug-head {
        min-height: 48px;
        padding: 8px 10px;
    }

    .clinic-drug-head p {
        display: none;
    }

    .clinic-drug-layout {
        gap: 8px;
        padding: 8px;
    }

    .clinic-drug-table th,
    .clinic-drug-table td {
        padding: 6px 7px;
        font-size: 12px;
    }
}

.payment-product-page-shell {
    background: #fbfefd;
}

.payment-product-hub {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.payment-product-category-grid {
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-content: start;
}

.payment-product-category-card {
    min-height: 188px;
    display: grid;
    align-content: start;
    gap: 12px;
    padding: 22px;
    border: 1px solid #cfe3dc;
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f6fcf7 100%);
    color: #10251f;
    text-align: left;
    box-shadow: 0 18px 36px rgba(14, 71, 55, .08);
    cursor: pointer;
}

.payment-product-category-card:hover,
.payment-product-category-card:focus-visible {
    border-color: #00885f;
    box-shadow: 0 20px 42px rgba(14, 71, 55, .13);
    outline: none;
}

.payment-product-category-card span {
    width: max-content;
    border-radius: 999px;
    padding: 5px 10px;
    background: #e7f7ef;
    color: #00784f;
    font-size: 13px;
    font-weight: 900;
}

.payment-product-category-card strong {
    color: #006b45;
    font-size: 24px;
    font-weight: 900;
}

.payment-product-category-card small {
    color: #40564e;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.55;
}

.payment-product-category-card.is-primary {
    border-color: #00885f;
    background: linear-gradient(180deg, #ffffff 0%, #ecf8f2 100%);
}

.payment-product-page .settings-hero .primary-setting-action,
.payment-product-page .payment-product-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.payment-product-panel.is-active {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.payment-product-workspace {
    min-height: 0;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 12px;
}

.payment-product-menu {
    min-height: 0;
    overflow: auto;
}

.payment-product-main {
    grid-column: 1 / -1;
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) minmax(220px, .82fr);
    gap: 12px;
}

.payment-product-list-card,
.payment-product-detail-card,
.payment-product-rules {
    min-width: 0;
    min-height: 0;
}

.payment-product-list-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
}

.payment-product-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.payment-product-head.is-compact {
    align-items: center;
}

.payment-product-head h2,
.payment-product-rules h2 {
    margin: 0;
    color: #071735;
    font-size: 20px;
    font-weight: 900;
}

.payment-product-head p {
    margin: 4px 0 0;
    color: #48627b;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
}

.payment-product-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.payment-product-list-tools {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.payment-product-search-field {
    min-width: 360px;
    display: grid;
    grid-template-columns: auto minmax(220px, 1fr);
    align-items: center;
    gap: 8px;
    color: #31564b;
    font-size: 13px;
    font-weight: 900;
}

.payment-product-search-field[hidden] {
    display: none !important;
}

.payment-product-search-field input {
    width: 100%;
    min-height: 36px;
    border: 1px solid #cbded8;
    border-radius: 6px;
    background: #ffffff;
    padding: 6px 10px;
    color: #173c34;
    font-weight: 800;
}

.payment-product-actions button:disabled,
.payment-product-page .primary-setting-action:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.payment-product-actions .is-danger {
    border-color: #ffc2bf;
    color: #d93d35;
}

.payment-product-actions .is-danger:hover {
    border-color: #e45c55;
    background: #fff2f1;
}

.payment-product-table-frame {
    min-height: 0;
    border: 1px solid #d8e5e6;
    border-radius: 8px;
    overflow: auto;
}

.payment-product-table {
    width: 100%;
    min-width: 1060px;
    border-collapse: collapse;
    table-layout: fixed;
}

.payment-product-table th,
.payment-product-table td {
    border-right: 1px solid #d8e5e6;
    border-bottom: 1px solid #d8e5e6;
    padding: 8px 9px;
    color: #071735;
    font-size: 14px;
    font-weight: 800;
    vertical-align: middle;
}

.payment-product-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #eef9f7;
    color: #008f85;
    text-align: center;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.payment-product-table tbody tr:nth-child(even) {
    background: #f7fbfa;
}

.payment-product-table tbody tr.is-selected {
    background: #e8f7f3;
    box-shadow: inset 4px 0 0 #009b86;
}

.payment-product-table input[type="text"],
.payment-product-table select,
.payment-product-detail-grid input[type="text"],
.payment-product-detail-grid select {
    width: 100%;
    min-height: 32px;
    border: 1px solid #cbdde2;
    border-radius: 6px;
    padding: 5px 8px;
    background: #ffffff;
    color: #071735;
    font-weight: 800;
}

.payment-product-table input[type="text"]:focus,
.payment-product-table select:focus,
.payment-product-detail-grid input[type="text"]:focus,
.payment-product-detail-grid select:focus {
    outline: 2px solid rgba(0, 155, 134, .18);
    border-color: #009b86;
}

.payment-product-select-col {
    width: 44px;
    text-align: center;
}

.payment-product-select-col input[type="radio"] {
    pointer-events: none;
}

.payment-product-enable-col {
    width: 64px;
    text-align: center;
}

.payment-product-mini-switch {
    width: 42px;
    height: 22px;
    display: inline-block;
    position: relative;
    margin: 0;
    vertical-align: middle;
}

.payment-product-mini-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.payment-product-mini-switch span {
    position: absolute;
    inset: 0;
    border: 1px solid #b9cbd2;
    border-radius: 999px;
    background: #eef3f5;
}

.payment-product-mini-switch span::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(7, 23, 53, .24);
    transition: transform .16s ease;
}

.payment-product-mini-switch input:checked + span {
    border-color: #009b86;
    background: #009b86;
}

.payment-product-mini-switch input:checked + span::after {
    transform: translateX(20px);
}

.payment-product-table-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 36px;
    color: #48627b;
    font-size: 13px;
    font-weight: 800;
}

.payment-product-lower-grid {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 12px;
}

.payment-product-registration-layout {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 12px;
}

.payment-product-subsidy-card {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.payment-product-subsidy-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    table-layout: fixed;
}

.payment-product-subsidy-table th,
.payment-product-subsidy-table td {
    border-right: 1px solid #d8e5e6;
    border-bottom: 1px solid #d8e5e6;
    padding: 7px 9px;
    color: #10251f;
    font-size: 14px;
    font-weight: 800;
    vertical-align: middle;
}

.payment-product-subsidy-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f1faf6;
    color: #006b45;
    text-align: center;
    font-weight: 900;
}

.payment-product-subsidy-table input[type="text"] {
    width: 100%;
    min-height: 30px;
    border: 1px solid #cbdde2;
    border-radius: 6px;
    padding: 4px 8px;
    background: #ffffff;
    color: #10251f;
    font-weight: 800;
}

.payment-product-detail-card {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.payment-product-detail-grid {
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(130px, 1fr));
    gap: 10px 12px;
    overflow: auto;
    padding-right: 2px;
}

.payment-product-detail-grid label,
.payment-product-detail-field {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 5px;
    color: #071735;
    font-weight: 900;
}

.payment-product-detail-grid label.is-wide,
.payment-product-detail-field.is-wide {
    grid-column: span 2;
}

.payment-product-detail-grid span,
.payment-product-enable span {
    color: #008f85;
    font-size: 13px;
    font-weight: 900;
}

.payment-product-enable {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #071735;
    font-weight: 900;
}

.payment-product-enable input {
    width: 20px;
    height: 20px;
    accent-color: #009b86;
}

.payment-product-rules {
    display: grid;
    align-content: start;
    gap: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f4fbfa 100%);
}

.payment-product-rules h2 {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #008f85;
}

.payment-product-rules ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding-left: 20px;
    color: #233647;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.55;
}

.payment-product-empty-row td,
.payment-product-empty-detail {
    color: #48627b;
    text-align: center;
}

.payment-product-empty-row td {
    height: 118px;
}

.payment-product-table tbody tr.is-selected td {
    background: #eaf7ef;
}

.payment-product-page .primary-setting-action {
    background: #00885f;
    border-color: #00885f;
    color: #ffffff;
}

@media (max-width: 1180px) {
    .payment-product-workspace {
        grid-template-columns: 190px minmax(0, 1fr);
    }

    .payment-product-lower-grid {
        grid-template-columns: 1fr;
    }

    .payment-product-rules {
        min-height: 150px;
    }

    .payment-product-list-tools {
        flex-wrap: wrap;
    }

    .payment-product-search-field {
        min-width: 280px;
    }
}

@media (max-width: 820px) {
    .payment-product-workspace {
        grid-template-columns: 1fr;
    }

    .payment-product-menu {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        display: grid;
    }

    .payment-product-menu button {
        min-height: 76px;
    }

    .payment-product-main {
        grid-template-rows: minmax(280px, 1fr) auto;
    }

    .payment-product-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .payment-product-head {
        align-items: stretch;
        flex-direction: column;
    }

    .payment-product-list-tools {
        align-items: stretch;
        justify-content: flex-start;
    }

    .payment-product-search-field {
        width: 100%;
        min-width: 0;
    }
}

@media (max-height: 760px) {
    .payment-product-page.settings-workspace {
        padding: 8px 12px 10px;
    }

    .payment-product-page .settings-hero {
        min-height: 44px;
        margin-bottom: 6px;
        padding-bottom: 6px;
    }

    .payment-product-page .settings-hero h1 {
        font-size: 20px;
    }

    .payment-product-page .settings-hero p:not(.eyebrow),
    .payment-product-page .eyebrow,
    .payment-product-head p {
        display: none;
    }

    .payment-product-workspace {
        gap: 8px;
    }

    .payment-product-main,
    .payment-product-lower-grid {
        gap: 8px;
    }

    .payment-product-head {
        margin-bottom: 7px;
    }

    .payment-product-head h2,
    .payment-product-rules h2 {
        font-size: 17px;
    }

    .payment-product-table th,
    .payment-product-table td {
        padding: 6px 7px;
        font-size: 12px;
    }

    .payment-product-detail-grid {
        gap: 7px 9px;
    }
}

@media (max-height: 720px) {
    .parameter-settings-page.settings-workspace {
        padding: 8px 12px 10px;
    }

    .parameter-settings-page .settings-hero {
        min-height: 44px;
        margin-bottom: 6px;
        padding-bottom: 6px;
    }

    .parameter-settings-page .settings-hero h1 {
        font-size: 20px;
    }

    .parameter-settings-page .settings-hero p:not(.eyebrow),
    .parameter-settings-page .eyebrow,
    .parameter-settings-page .parameter-option-copy p,
    .parameter-settings-page .parameter-crud-head p {
        display: none;
    }

    .parameter-settings-page .settings-subnav {
        min-height: 26px;
        margin-bottom: 4px;
    }

    .parameter-settings-page .parameter-settings-content {
        gap: 6px;
    }

    .parameter-settings-page .parameter-crud-head h2 {
        font-size: 17px;
    }

    .parameter-settings-page .parameter-choice-tabs span {
        min-height: 30px;
        font-size: 15px;
    }

    .parameter-settings-page .parameter-crud-head .parameter-choice-tabs span {
        min-width: 34px;
        min-height: 28px;
        font-size: 14px;
    }

    .parameter-settings-page .parameter-crud-actions {
        gap: 6px;
    }

    .parameter-settings-page .parameter-crud-panel {
        gap: 7px;
        padding: 8px;
    }

    .parameter-settings-page .parameter-crud-shell {
        grid-template-columns: 180px minmax(0, 1fr) 270px;
        gap: 8px;
    }

    .parameter-settings-page .parameter-category-list button {
        min-height: 46px;
        padding: 7px 9px;
    }

    .parameter-settings-page .parameter-category-list strong {
        font-size: 14px;
    }

    .parameter-settings-page .parameter-category-list span {
        margin-top: 3px;
        font-size: 11px;
    }

    .parameter-settings-page .parameter-presentation-panel {
        gap: 10px;
        padding: 16px;
    }

    .parameter-settings-page .parameter-presentation-panel h3 {
        font-size: 19px;
    }

    .parameter-settings-page .parameter-presentation-panel p {
        display: none;
    }

    .parameter-settings-page .parameter-presentation-panel .parameter-choice-tabs span {
        min-height: 42px;
        font-size: 20px;
    }

    .parameter-settings-page .parameter-list-panel header {
        min-height: 44px;
        padding: 7px 9px;
    }

    .parameter-settings-page .parameter-list-panel h3 {
        font-size: 16px;
    }

    .parameter-settings-page .parameter-table th,
    .parameter-settings-page .parameter-table td {
        padding: 6px 8px;
        font-size: 12px;
    }

    .parameter-settings-page .parameter-editor-form {
        gap: 5px;
        padding: 8px;
    }

    .parameter-settings-page .parameter-editor-form label {
        gap: 3px;
        font-size: 12px;
    }

    .parameter-settings-page .parameter-editor-form input,
    .parameter-settings-page .parameter-editor-form textarea {
        min-height: 28px;
        padding: 4px 7px;
    }

    .parameter-settings-page .parameter-editor-form textarea {
        min-height: 44px;
    }

    .parameter-settings-page .parameter-editor-form footer {
        bottom: -8px;
        margin: 0 -8px -8px;
        padding: 6px 8px 8px;
    }
}

.sms-settings-grid {
    display: grid;
    gap: 16px;
    max-width: 980px;
}

.sms-setting-card {
    overflow: hidden;
    border: 1px solid #c4ded2;
    border-radius: 10px;
    background: #fbfefa;
    box-shadow: 0 12px 26px rgba(33, 79, 55, .08);
}

.sms-setting-card header {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 16px;
    border-bottom: 1px solid #d5e7dc;
    background: #f4faf6;
}

.sms-setting-card h2 {
    margin: 0;
    color: #0f5f75;
    font-size: 18px;
    font-weight: 900;
}

.sms-line-message-card {
    border-color: #ead1aa;
    background: #fffdfa;
}

.sms-line-message-card header {
    border-bottom-color: #edd8b6;
    background: #fffaf0;
}

.sms-line-message-card h2 {
    color: #9a5d00;
}

.sms-mitake-card h2 {
    color: #254c39;
}

.sms-setting-badge {
    flex: 0 0 auto;
    border: 1px solid;
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 13px;
    font-weight: 900;
}

.sms-setting-badge.is-required {
    border-color: #84d5aa;
    background: #effbf3;
    color: #168249;
}

.sms-setting-badge.is-optional {
    border-color: #f3bb77;
    background: #fff8ec;
    color: #b26100;
}

.sms-setting-form {
    display: grid;
    gap: 10px 14px;
    padding: 16px;
}

.sms-setting-form label {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    color: #14364a;
    font-size: 14px;
    font-weight: 900;
}

.sms-setting-form span {
    padding-top: 9px;
}

.sms-setting-form input,
.sms-setting-form textarea {
    width: min(100%, 320px);
    max-width: none;
    border: 1px solid #c6d9df;
    border-radius: 8px;
    background: #ffffff;
    color: #21342c;
    font: inherit;
    font-weight: 800;
}

.sms-setting-form input {
    min-height: 36px;
    padding: 0 12px;
}

.sms-setting-form textarea {
    min-height: 92px;
    padding: 10px 12px;
    resize: vertical;
}

.sms-setting-form input::placeholder,
.sms-setting-form textarea::placeholder {
    color: #6b7477;
}

.sms-setting-form .is-textarea {
    align-items: start;
}

.sms-mitake-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sms-mitake-form label {
    grid-template-columns: 92px minmax(0, 1fr);
}

.sms-mitake-form input {
    width: 100%;
}

.settings-subnav {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.settings-subnav span {
    color: #60776a;
    font-size: 13px;
    font-weight: 900;
}

.staff-basic-workspace {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}

.staff-basic-workspace .settings-block {
    min-height: calc(100vh - 168px);
}

.staff-list,
.staff-list-rows {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.staff-list .settings-block-head {
    margin-bottom: 4px;
}

.staff-list .settings-block-head h2 {
    margin: 0;
    color: #21342c;
    font-size: 18px;
    font-weight: 900;
}

.staff-list-button {
    width: 100%;
    min-height: 76px;
    border: 1px solid #d0ded5;
    border-radius: 8px;
    padding: 12px 13px;
    background: #fbfefa;
    color: #243b31;
    text-align: left;
    box-shadow: 0 4px 12px rgba(33, 79, 55, .04);
}

.staff-list-button strong,
.staff-list-button span,
.staff-list-button small {
    display: block;
}

.staff-list-button strong {
    font-size: 16px;
    font-weight: 900;
}

.staff-list-button span {
    margin-top: 5px;
    color: #63796d;
    font-size: 13px;
    line-height: 1.35;
}

.staff-list-button small {
    margin-top: 5px;
    color: #2f7546;
    font-size: 12px;
    font-weight: 900;
}

.staff-list-button.is-active {
    border-color: #84c698;
    background: #e6f6eb;
    box-shadow: inset 4px 0 0 #57bd7b, 0 8px 16px rgba(33, 79, 55, .08);
}

.staff-basic-detail {
    min-width: 0;
}

.staff-detail-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #d4e2d8;
}

.staff-detail-head h2 {
    margin: 0;
    color: #1f3329;
    font-size: 25px;
    font-weight: 900;
}

.staff-detail-head p:not(.eyebrow) {
    margin: 7px 0 0;
    color: #5a7164;
    font-weight: 700;
}

.staff-status-pill {
    min-width: 86px;
    border: 1px solid #a7d3b5;
    border-radius: 999px;
    padding: 7px 13px;
    background: #e7f7ec;
    color: #2f7546;
    font-size: 13px;
    font-weight: 900;
    text-align: center;
    white-space: nowrap;
}

.staff-status-pill.is-leave {
    border-color: #d7c687;
    background: #fbf7e4;
    color: #7a6421;
}

.staff-status-pill.is-inactive {
    border-color: #ddb4ae;
    background: #fff0ee;
    color: #9d4a42;
}

.staff-basic-form {
    max-width: 960px;
}

.staff-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.staff-form-grid label {
    display: grid;
    gap: 6px;
    color: #243b31;
    font-weight: 900;
}

.staff-form-grid label.is-wide {
    grid-column: 1 / -1;
}

.staff-form-grid span {
    color: #60776a;
    font-size: 13px;
}

.staff-form-grid input,
.staff-form-grid select,
.staff-form-grid textarea {
    width: 100%;
    min-height: 38px;
    border: 1px solid #cbdad0;
    border-radius: 7px;
    padding: 7px 10px;
    background: #ffffff;
    color: #21342c;
}

.staff-form-grid textarea {
    min-height: 94px;
    resize: vertical;
}

.control-permission-shell {
    display: grid;
    grid-template-columns: 270px 300px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}

.control-permission-shell .settings-block {
    min-height: calc(100vh - 168px);
}

.permission-user-list,
.permission-page-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.permission-user-list .settings-block-head,
.permission-page-list .settings-block-head {
    margin-bottom: 4px;
}

.permission-user-list .settings-block-head h2,
.permission-page-list .settings-block-head h2 {
    margin: 0;
    color: #21342c;
    font-size: 18px;
    font-weight: 900;
}

.permission-entity-button {
    width: 100%;
    min-height: 64px;
    border: 1px solid #d0ded5;
    border-radius: 8px;
    padding: 11px 12px;
    background: #fbfefa;
    color: #243b31;
    text-align: left;
    box-shadow: 0 4px 12px rgba(33, 79, 55, .04);
}

.permission-entity-button strong,
.permission-entity-button span {
    display: block;
}

.permission-entity-button strong {
    font-size: 15px;
    font-weight: 900;
}

.permission-entity-button span {
    margin-top: 5px;
    color: #63796d;
    font-size: 12px;
    line-height: 1.35;
}

.permission-entity-button.is-active {
    border-color: #84c698;
    background: #e6f6eb;
    box-shadow: inset 4px 0 0 #57bd7b, 0 8px 16px rgba(33, 79, 55, .08);
}

.control-permission-detail {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.control-permission-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid #d4e2d8;
}

.control-permission-head h2 {
    margin: 0;
    color: #1f3329;
    font-size: 25px;
    font-weight: 900;
}

.control-permission-head p:not(.eyebrow) {
    margin: 7px 0 0;
    color: #5a7164;
    font-weight: 700;
}

.permission-context-card {
    min-width: 180px;
    padding: 11px 13px;
    border: 1px solid #c9d9ce;
    border-radius: 8px;
    background: #f7fcf8;
}

.permission-context-card span,
.permission-context-card strong,
.permission-context-card small {
    display: block;
}

.permission-context-card span {
    color: #63796d;
    font-size: 12px;
    font-weight: 900;
}

.permission-context-card strong {
    margin-top: 4px;
    color: #245c3c;
    font-size: 18px;
    font-weight: 900;
}

.permission-context-card small {
    margin-top: 4px;
    color: #60776a;
}

.permission-template-bar {
    display: grid;
    grid-template-columns: minmax(220px, 280px) auto minmax(0, 1fr);
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
    padding: 12px;
    border: 1px solid #d3e1d7;
    border-radius: 8px;
    background: #f6fbf7;
}

.permission-template-bar label {
    display: grid;
    gap: 6px;
    color: #243b31;
    font-weight: 900;
}

.permission-template-bar span {
    color: #60776a;
    font-size: 13px;
}

.permission-template-bar select {
    min-height: 36px;
    border: 1px solid #cbdad0;
    border-radius: 7px;
    padding: 6px 10px;
    background: #ffffff;
}

.permission-template-bar button {
    min-height: 36px;
    border: 1px solid #57bd7b;
    border-radius: 7px;
    padding: 6px 13px;
    background: #ffffff;
    color: #2f7546;
    font-weight: 900;
}

.permission-template-bar p {
    margin: 0;
    color: #5d7568;
    font-size: 13px;
    line-height: 1.45;
}

.control-permission-table-frame {
    flex: 1;
    min-height: 0;
    overflow: auto;
    border: 1px solid #c9d9ce;
    border-radius: 8px;
    background: #ffffff;
}

.control-permission-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    table-layout: fixed;
}

.control-permission-table th,
.control-permission-table td {
    border-bottom: 1px solid #d6e3da;
    padding: 11px 8px;
    text-align: center;
    vertical-align: middle;
}

.control-permission-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #e7f3ea;
    color: #244336;
    font-size: 13px;
    font-weight: 900;
}

.control-permission-table td:first-child,
.control-permission-table th:first-child {
    width: 188px;
    text-align: left;
}

.control-permission-table td:nth-child(2),
.control-permission-table th:nth-child(2) {
    width: 78px;
}

.control-permission-table td:nth-child(3),
.control-permission-table th:nth-child(3),
.control-permission-table td:nth-child(4),
.control-permission-table th:nth-child(4),
.control-permission-table td:nth-child(5),
.control-permission-table th:nth-child(5),
.control-permission-table td:nth-child(6),
.control-permission-table th:nth-child(6) {
    width: 70px;
}

.control-permission-table td:last-child,
.control-permission-table th:last-child {
    text-align: left;
    word-break: break-word;
}

.control-permission-table tbody tr:nth-child(even) {
    background: #f6fbf7;
}

.control-permission-table td strong,
.control-permission-table td small {
    display: block;
}

.control-permission-table td strong {
    color: #21342c;
    font-size: 15px;
    font-weight: 900;
}

.control-permission-table td small {
    margin-top: 4px;
    color: #64796d;
    font-size: 12px;
}

/* Compact setting pages: each setting detail should fit in one viewport. */
.settings-workspace {
    height: calc(100vh - 38px);
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 10px 14px 12px;
    box-sizing: border-box;
}

.settings-workspace .settings-hero {
    flex: 0 0 auto;
    align-items: center;
    min-height: 50px;
    margin-bottom: 8px;
}

.settings-workspace .settings-hero h1 {
    font-size: 24px;
}

.settings-workspace .settings-hero p:not(.eyebrow) {
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.35;
}

.settings-workspace .settings-actions {
    align-items: center;
}

.settings-workspace .primary-setting-action,
.settings-workspace .secondary-setting-action {
    min-height: 30px;
    padding: 5px 11px;
}

.settings-workspace .settings-subnav {
    flex: 0 0 auto;
    min-height: 30px;
    margin-bottom: 8px;
}

.settings-workspace .settings-block {
    box-sizing: border-box;
}

.system-setting-hub.is-active,
.setting-placeholder-panel.is-active,
.sms-settings-panel.is-active,
.staff-basic-panel.is-active,
.control-permission-panel.is-active {
    flex: 1 1 auto;
    min-height: 0;
}

.sms-settings-page .sms-settings-grid {
    height: 100%;
    max-width: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.sms-settings-page .sms-setting-card {
    min-height: 0;
}

.sms-settings-page .sms-setting-card header {
    min-height: 38px;
    padding: 0 10px;
}

.sms-settings-page .sms-setting-card h2 {
    font-size: 15px;
}

.sms-settings-page .sms-setting-badge {
    padding: 3px 8px;
    font-size: 12px;
}

.sms-settings-page .sms-setting-form {
    gap: 6px;
    padding: 9px 10px;
}

.sms-settings-page .sms-setting-form label,
.sms-settings-page .sms-mitake-form label {
    grid-template-columns: 1fr;
    gap: 3px;
    font-size: 12px;
}

.sms-settings-page .sms-setting-form span {
    padding-top: 0;
}

.sms-settings-page .sms-setting-form input,
.sms-settings-page .sms-setting-form textarea {
    width: 100%;
    border-radius: 6px;
    font-size: 12px;
}

.sms-settings-page .sms-setting-form input {
    min-height: 30px;
    padding: 0 9px;
}

.sms-settings-page .sms-setting-form textarea {
    min-height: 58px;
    padding: 7px 9px;
    resize: none;
}

.sms-settings-page .sms-mitake-form {
    grid-template-columns: 1fr;
}

.staff-settings-page .staff-basic-panel,
.permission-settings-page .control-permission-panel {
    overflow: hidden;
}

.staff-settings-page .staff-basic-workspace {
    height: 100%;
    min-height: 0;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 10px;
}

.staff-settings-page .staff-basic-workspace .settings-block,
.permission-settings-page .control-permission-shell .settings-block {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: 10px;
}

.staff-settings-page .settings-block-head,
.permission-settings-page .settings-block-head {
    margin-bottom: 6px;
}

.staff-settings-page .staff-list,
.staff-settings-page .staff-list-rows,
.permission-settings-page .permission-user-list,
.permission-settings-page .permission-page-list {
    gap: 6px;
}

.staff-settings-page .staff-list-button {
    min-height: 58px;
    padding: 8px 10px;
}

.staff-settings-page .staff-list-button strong {
    font-size: 14px;
}

.staff-settings-page .staff-list-button span,
.staff-settings-page .staff-list-button small {
    margin-top: 3px;
    font-size: 11px;
}

.staff-settings-page .staff-detail-head {
    margin-bottom: 8px;
    padding-bottom: 8px;
}

.staff-settings-page .staff-detail-head h2 {
    font-size: 20px;
}

.staff-settings-page .staff-detail-head p:not(.eyebrow) {
    margin-top: 3px;
    font-size: 12px;
}

.staff-settings-page .staff-status-pill {
    min-width: 72px;
    padding: 5px 10px;
    font-size: 12px;
}

.staff-settings-page .staff-basic-form {
    max-width: none;
}

.staff-settings-page .staff-form-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px 10px;
}

.staff-settings-page .staff-form-grid label {
    gap: 3px;
    font-size: 12px;
}

.staff-settings-page .staff-form-grid span {
    font-size: 12px;
}

.staff-settings-page .staff-form-grid input,
.staff-settings-page .staff-form-grid select,
.staff-settings-page .staff-form-grid textarea {
    min-height: 30px;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
}

.staff-settings-page .staff-form-grid textarea {
    min-height: 52px;
    resize: none;
}

.permission-settings-page .control-permission-shell {
    height: 100%;
    min-height: 0;
    grid-template-columns: 190px 220px minmax(0, 1fr);
    gap: 10px;
}

.permission-settings-page .permission-entity-button {
    min-height: 48px;
    padding: 7px 9px;
}

.permission-settings-page .permission-entity-button strong {
    font-size: 13px;
}

.permission-settings-page .permission-entity-button span {
    margin-top: 3px;
    font-size: 11px;
}

.permission-settings-page .control-permission-head {
    margin-bottom: 8px;
    padding-bottom: 8px;
}

.permission-settings-page .control-permission-head h2 {
    font-size: 20px;
}

.permission-settings-page .control-permission-head p:not(.eyebrow) {
    margin-top: 3px;
    font-size: 12px;
}

.permission-settings-page .permission-context-card {
    min-width: 150px;
    padding: 8px 10px;
}

.permission-settings-page .permission-template-bar {
    grid-template-columns: minmax(150px, 190px) auto minmax(0, 1fr);
    gap: 8px;
    margin-bottom: 8px;
    padding: 8px;
}

.permission-settings-page .permission-template-bar select,
.permission-settings-page .permission-template-bar button {
    min-height: 30px;
}

.permission-settings-page .permission-template-bar p {
    font-size: 12px;
    line-height: 1.25;
}

.permission-settings-page .control-permission-table-frame {
    overflow: hidden;
}

.permission-settings-page .control-permission-table {
    min-width: 0;
    font-size: 12px;
}

.permission-settings-page .control-permission-table th,
.permission-settings-page .control-permission-table td {
    padding: 6px 5px;
}

.permission-settings-page .control-permission-table td:first-child,
.permission-settings-page .control-permission-table th:first-child {
    width: 128px;
}

.permission-settings-page .control-permission-table td:nth-child(2),
.permission-settings-page .control-permission-table th:nth-child(2) {
    width: 56px;
}

.permission-settings-page .control-permission-table td:nth-child(3),
.permission-settings-page .control-permission-table th:nth-child(3),
.permission-settings-page .control-permission-table td:nth-child(4),
.permission-settings-page .control-permission-table th:nth-child(4),
.permission-settings-page .control-permission-table td:nth-child(5),
.permission-settings-page .control-permission-table th:nth-child(5),
.permission-settings-page .control-permission-table td:nth-child(6),
.permission-settings-page .control-permission-table th:nth-child(6) {
    width: 45px;
}

.permission-settings-page .control-permission-table td strong {
    font-size: 12px;
}

.permission-settings-page .control-permission-table td small {
    margin-top: 2px;
    font-size: 10px;
}

.settings-workspace {
    --settings-medical-green: #5fc780;
    --settings-accent-strong: #2f7546;
    --settings-ink: #21342c;
    --settings-muted: #536b5d;
    --settings-surface: #fbfefa;
    --settings-panel: #e9f4ee;
    --settings-line: #b8d1c2;
    background: radial-gradient(circle at 42% 34%, rgba(221, 244, 223, .62), transparent 34%),
        linear-gradient(180deg, #f9fcf8 0%, #f1f8f2 100%);
    color: var(--settings-ink);
}

.settings-workspace .settings-hero {
    border-bottom: 1px solid #c9d9ce;
    color: var(--settings-ink);
}

.settings-workspace .settings-hero h1,
.settings-workspace h2,
.settings-workspace h3,
.settings-workspace strong {
    color: var(--settings-ink);
}

.settings-workspace .settings-hero p:not(.eyebrow),
.settings-workspace .eyebrow,
.settings-workspace p,
.settings-workspace small {
    color: var(--settings-muted);
}

.settings-workspace .settings-block,
.settings-workspace .settings-sidebar,
.settings-workspace .settings-panel,
.settings-workspace .system-setting-card,
.settings-workspace .sms-setting-card,
.settings-workspace .payment-product-category-card,
.settings-workspace .parameter-category-list,
.settings-workspace .parameter-presentation-panel,
.settings-workspace .parameter-list-panel,
.settings-workspace .parameter-editor-form {
    border-color: var(--settings-line);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 1px 0 rgba(35, 72, 61, .05);
}

.settings-workspace .primary-setting-action {
    border-color: #57bd7b;
    background: linear-gradient(180deg, #67cf88 0%, #52ba75 100%);
    color: #ffffff;
    box-shadow: 0 1px 0 rgba(35, 72, 61, .05);
}

.settings-workspace .secondary-setting-action,
.settings-workspace .settings-block-head button,
.settings-workspace .parameter-category-list button,
.settings-workspace .parameter-choice-tabs span,
.settings-workspace .permission-entity-button,
.settings-workspace .staff-list-button {
    border-color: #cbd9d0;
    background: #ffffff;
    color: #24352d;
    box-shadow: 0 1px 0 rgba(35, 72, 61, .05);
}

.settings-workspace .secondary-setting-action:hover,
.settings-workspace .settings-block-head button:hover,
.settings-workspace .parameter-category-list button:hover,
.settings-workspace .permission-entity-button:hover,
.settings-workspace .staff-list-button:hover {
    border-color: #9fc9ac;
    background: #e5f3ea;
    color: var(--settings-accent-strong);
}

.settings-workspace .secondary-setting-action.is-danger,
.settings-workspace #deleteParameterItem {
    border-color: #efc7c1;
    color: #9d4a42;
}

.settings-workspace .system-setting-card.is-primary,
.settings-workspace .payment-product-category-card.is-primary,
.settings-workspace .settings-nav-item.is-active,
.settings-workspace .parameter-category-list button.is-active,
.settings-workspace .parameter-choice-tabs span.is-active,
.settings-workspace .permission-entity-button.is-active,
.settings-workspace .staff-list-button.is-active {
    border-color: #9fc9ac;
    background: #e5f3ea;
    color: var(--settings-accent-strong);
    box-shadow: inset 4px 0 0 var(--settings-medical-green);
}

.settings-workspace input,
.settings-workspace select,
.settings-workspace textarea,
.settings-workspace .payment-product-table input[type="text"],
.settings-workspace .payment-product-detail-grid input[type="text"],
.settings-workspace .payment-product-subsidy-table input[type="text"] {
    border-color: #cbd9d0;
    background: #ffffff;
    color: #24352d;
}

.settings-workspace input:focus,
.settings-workspace select:focus,
.settings-workspace textarea:focus,
.settings-workspace .payment-product-table input[type="text"]:focus,
.settings-workspace .payment-product-detail-grid input[type="text"]:focus,
.settings-workspace .payment-product-subsidy-table input[type="text"]:focus {
    border-color: var(--settings-medical-green);
    box-shadow: 0 0 0 3px rgba(95, 199, 128, .16);
    outline: none;
}

.settings-workspace table th,
.settings-workspace .payment-product-table th,
.settings-workspace .payment-product-subsidy-table th,
.settings-workspace .parameter-table th,
.settings-workspace .control-permission-table th {
    border-color: #bfd4c6;
    background: #e9f4ee;
    color: #253f32;
}

.settings-workspace table td,
.settings-workspace .payment-product-table td,
.settings-workspace .payment-product-subsidy-table td,
.settings-workspace .parameter-table td,
.settings-workspace .control-permission-table td {
    border-color: #d7e4db;
    color: #24352d;
}

.settings-workspace table tbody tr:nth-child(even) td,
.settings-workspace .payment-product-table tbody tr:nth-child(even),
.settings-workspace .payment-product-subsidy-table tbody tr:nth-child(even) {
    background: #fbfefa;
}

.settings-workspace table tbody tr.is-selected td,
.settings-workspace .payment-product-table tbody tr.is-selected,
.settings-workspace .payment-product-table tbody tr.is-selected td {
    background: #dff3e8;
}

.settings-workspace .payment-product-mini-switch input:checked + span,
.settings-workspace input[type="checkbox"] {
    accent-color: var(--settings-medical-green);
}

.settings-workspace .payment-product-mini-switch input:checked + span {
    background: var(--settings-medical-green);
}

.session-modal {
    background: rgba(41, 86, 60, .42);
    backdrop-filter: blur(1px);
}

.session-dialog {
    width: min(370px, calc(100vw - 32px));
    padding: 26px 22px 22px;
    background: rgba(255, 255, 255, .96);
    border: 1px solid #d6e4da;
    box-shadow: 0 28px 70px rgba(38, 74, 52, .22);
}

.session-dialog h2 {
    margin-bottom: 10px;
    color: #20342b;
    font-size: 29px;
}

.session-suggestion {
    margin-bottom: 18px;
    padding: 0;
    background: transparent;
    color: #667c70;
    font-size: 14px;
}

.session-suggestion strong {
    color: #2d8b54;
}

.session-options.two-by-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.session-options.three-sessions {
    grid-template-columns: 1fr;
    gap: 10px;
}

.session-options button {
    min-height: 40px;
    border: 1px solid #d2ded6;
    background: #ffffff;
    color: #2b6743;
    box-shadow: 0 1px 0 rgba(31, 95, 56, .05);
}

.session-options button.is-recommended {
    background: #5fc780;
    border-color: #5fc780;
    color: #ffffff;
}

/* Portal home dashboard matching the white clinical launcher reference. */
.portal-body {
    margin: 0;
    overflow: hidden;
    background: var(--his-bg);
    color: #081936;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.portal-body *,
.portal-body *::before,
.portal-body *::after {
    box-sizing: border-box;
}

.portal-body button {
    font: inherit;
}

.portal-screen {
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    display: grid;
    grid-template-rows: 96px minmax(0, 1fr) 58px;
    overflow: hidden;
    background: var(--his-page-gradient);
}

.portal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 clamp(28px, 3.2vw, 48px);
    border-bottom: 1px solid var(--his-line);
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 10px 26px rgba(24, 74, 114, .06);
}

.portal-header-tools,
.portal-date,
.portal-user {
    display: flex;
    align-items: center;
}

.portal-brand {
    display: grid;
    grid-template-columns: 56px max-content;
    align-items: center;
    gap: 16px;
}

.portal-brand > div {
    min-height: 56px;
    display: grid;
    align-content: center;
}

.portal-logo-mark {
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    border-radius: 11px;
    background: linear-gradient(145deg, #12b8a9 0%, #00887f 56%, #176fba 100%);
    color: #ffffff;
    font-size: 33px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 10px 24px rgba(0, 139, 128, .24);
}

.portal-brand strong,
.portal-brand span {
    display: block;
}

.portal-brand strong {
    color: #008f85;
    font-size: clamp(24px, 1.8vw, 30px);
    font-weight: 900;
    letter-spacing: .02em;
    line-height: 1.05;
}

.portal-brand span:not(.portal-logo-mark) {
    margin-top: 4px;
    color: #53688b;
    font-size: clamp(14px, 1vw, 17px);
    font-weight: 800;
    line-height: 1.2;
}

.portal-header-tools {
    gap: 28px;
    color: #0c1b3b;
    white-space: nowrap;
}

.portal-date {
    gap: 14px;
    font-size: clamp(16px, 1.1vw, 19px);
    font-weight: 800;
}

.portal-line-icon {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    color: #009b86;
}

.portal-logo-mark,
.portal-avatar,
.portal-card-icon,
.portal-mini-icon,
.notice-icon,
.shield-icon {
    flex: 0 0 auto;
    box-sizing: border-box;
}

.portal-line-icon svg,
.portal-logo-mark svg,
.portal-avatar svg,
.portal-card-icon svg,
.portal-mini-icon svg,
.notice-icon svg,
.shield-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    color: inherit;
    stroke: currentColor;
}

.portal-line-icon svg,
.portal-mini-icon svg,
.notice-icon svg,
.shield-icon svg {
    stroke-width: 2.2;
}

.portal-line-icon::before {
    content: none;
}

.portal-bell {
    position: relative;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 0;
    border-left: 1px solid #e5ebf1;
    border-right: 1px solid #e5ebf1;
    background: transparent;
    color: #344d78;
}

.bell-icon::before {
    content: none;
}

.portal-bell b {
    position: absolute;
    right: 2px;
    top: 2px;
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #ff1515;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

.portal-user {
    border: 0;
    background: transparent;
    gap: 12px;
    color: #17274c;
    font-size: clamp(15px, 1vw, 18px);
    font-weight: 900;
    cursor: pointer;
}

.portal-user-menu {
    position: relative;
}

.portal-user:hover,
.portal-user:focus-visible,
.portal-user-menu.is-open .portal-user {
    color: #008f85;
}

.portal-user:focus-visible {
    outline: 3px solid rgba(0, 143, 133, .22);
    outline-offset: 5px;
}

.portal-avatar {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: #eef1f4;
    color: #8a98ab;
    padding: 12px;
}

.portal-avatar::before,
.portal-avatar::after {
    content: none;
}

.portal-user-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 40;
    min-width: 148px;
    padding: 8px;
    border: 1px solid #d8e5e6;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(24, 74, 114, .18);
}

.portal-user-dropdown[hidden] {
    display: none;
}

.portal-user-dropdown::before {
    content: "";
    position: absolute;
    top: -7px;
    right: 18px;
    width: 12px;
    height: 12px;
    border-top: 1px solid #d8e5e6;
    border-left: 1px solid #d8e5e6;
    background: #ffffff;
    transform: rotate(45deg);
}

.portal-user-dropdown a {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 0 12px;
    border-radius: 7px;
    color: #17274c;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
}

.portal-user-dropdown a:hover,
.portal-user-dropdown a:focus-visible {
    background: #eef8f7;
    color: #008f85;
    text-decoration: none;
}

.portal-menu-icon {
    display: inline-grid;
    place-items: center;
    width: 20px;
    height: 20px;
    color: currentColor;
}

.portal-menu-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    stroke-width: 2.2;
}

.portal-content {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(270px, 1.06fr) minmax(176px, .7fr);
    gap: clamp(14px, 1.9vh, 26px);
    padding: clamp(18px, 3.8vh, 44px) clamp(18px, 2.4vw, 44px) clamp(14px, 2.2vh, 28px);
    overflow: hidden;
}

.portal-card-grid {
    width: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(118px, 1fr));
    gap: clamp(12px, 1.4vw, 22px);
    padding: 2px;
    overflow: visible;
}

.portal-card {
    position: relative;
    display: grid;
    grid-template-rows: auto auto auto;
    align-content: center;
    justify-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 0;
    width: 100%;
    border: 1px solid var(--his-line-strong);
    border-radius: 16px;
    padding: clamp(14px, 1.9vh, 24px) 42px clamp(14px, 1.8vh, 22px) 24px;
    background: var(--his-card-gradient);
    color: #071735;
    text-align: center;
    box-shadow: var(--his-clinical-shadow);
}

.portal-card:hover {
    border-color: #98c9dc;
    background: linear-gradient(180deg, #ffffff 0%, #f4fbff 100%);
    transform: translateY(-2px);
}

.portal-card-icon {
    width: clamp(62px, 5.7vw, 102px);
    height: clamp(62px, 5.7vw, 102px);
    display: grid;
    place-items: center;
    align-self: center;
    padding: clamp(17px, 1.55vw, 28px);
    border-radius: 999px;
    background: var(--card-soft);
    color: var(--card-color);
}

.portal-card-icon svg {
    stroke-width: 2.25;
}

.portal-card-icon::before {
    content: none;
}

.portal-card-icon::after {
    content: none;
}

.portal-card strong {
    margin-top: 0;
    color: #071735;
    font-size: clamp(18px, 1.55vw, 27px);
    font-weight: 900;
    line-height: 1.18;
}

.portal-card small {
    margin-top: 0;
    color: #64789c;
    font-size: clamp(12px, .95vw, 17px);
    font-weight: 800;
    line-height: 1.25;
}

.portal-card-arrow {
    position: absolute;
    top: 50%;
    right: 27px;
    bottom: auto;
    transform: translateY(-50%);
    color: #304f7c;
    font-size: clamp(24px, 1.8vw, 34px);
    font-weight: 300;
}

.accent-green {
    --card-color: #009b86;
    --card-soft: var(--his-mint);
}

.accent-teal {
    --card-color: #00a7a2;
    --card-soft: #e5f9f7;
}

.accent-blue {
    --card-color: var(--his-blue);
    --card-soft: var(--his-sky);
}

.accent-purple {
    --card-color: #7f5fe8;
    --card-soft: var(--his-violet);
}

.accent-orange {
    --card-color: #f0882f;
    --card-soft: var(--his-amber);
}

.accent-rose {
    --card-color: #e95d8f;
    --card-soft: var(--his-rose);
}

.accent-gray {
    --card-color: #70809b;
    --card-soft: #f0f3f7;
}

.portal-bottom-grid {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
    gap: clamp(16px, 2.1vw, 42px);
}

.portal-panel {
    min-height: 0;
    border: 1px solid var(--his-line-strong);
    border-radius: 16px;
    background: var(--his-card-gradient);
    box-shadow: var(--his-clinical-shadow);
    overflow: hidden;
}

.portal-panel header {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 30px;
    border-bottom: 1px solid var(--his-line);
    background: linear-gradient(90deg, #ffffff 0%, var(--his-sky) 100%);
}

.portal-panel h2 {
    margin: 0;
    color: #071735;
    font-size: clamp(17px, 1.3vw, 22px);
    font-weight: 900;
}

.portal-panel header button {
    border: 0;
    background: transparent;
    color: #009b86;
    font-size: clamp(13px, 1vw, 17px);
    font-weight: 900;
}

.portal-panel ul {
    display: grid;
    margin: 0;
    padding: 0 30px;
    list-style: none;
}

.portal-panel li {
    min-height: 44px;
    display: grid;
    align-items: center;
    border-bottom: 1px solid #e8eef4;
}

.pending-panel li {
    grid-template-columns: 28px minmax(0, 1fr) 58px;
    gap: 18px;
}

.pending-panel li:last-child,
.announcement-panel li:last-child {
    border-bottom: 0;
}

.portal-mini-icon {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    color: var(--his-blue);
}

.portal-mini-icon::before {
    content: none;
}

.pending-clock-icon {
    color: #d97706;
}

.pending-note-icon {
    color: #009b86;
}

.pending-case-icon {
    color: #7f5fe8;
}

.pending-panel li strong,
.announcement-panel li strong {
    min-width: 0;
    color: #23365b;
    font-size: clamp(13px, 1vw, 17px);
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pending-panel li b {
    min-height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--his-mint);
    color: #087f5b;
    font-size: clamp(12px, .9vw, 16px);
    font-weight: 900;
}

.announcement-panel li {
    grid-template-columns: 30px 58px minmax(0, 1fr) 60px;
    gap: 12px;
}

.notice-icon {
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    padding: 5px;
    color: #ffffff;
}

.notice-pill {
    min-height: 24px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    font-size: clamp(12px, .9vw, 15px);
    font-weight: 900;
}

.is-important {
    background: #ff1717;
    color: #ffffff;
}

.notice-pill.is-important {
    background: var(--his-rose);
    color: #ff1717;
}

.is-reminder {
    background: #ff921a;
    color: #ffffff;
}

.notice-pill.is-reminder {
    background: var(--his-amber);
    color: #ff7a00;
}

.is-info {
    background: #168af1;
    color: #ffffff;
}

.notice-pill.is-info {
    background: var(--his-sky);
    color: #168af1;
}

.announcement-panel time {
    color: #3a4d77;
    font-size: clamp(12px, .9vw, 16px);
    font-weight: 800;
    text-align: right;
}

.portal-security-note {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 0 clamp(28px, 3.3vw, 62px);
    border-top: 1px solid var(--his-line);
    background: linear-gradient(90deg, #ffffff 0%, #f4fbff 100%);
    color: #53688b;
    font-size: clamp(13px, .95vw, 16px);
    font-weight: 800;
}

.portal-security-note p {
    margin: 0;
}

.shield-icon {
    width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    color: #009b86;
}

.shield-icon::before {
    content: none;
}

@media (max-width: 1280px) {
    .portal-screen {
        grid-template-rows: 76px minmax(0, 1fr) 44px;
    }

    .portal-logo-mark {
        width: 46px;
        height: 46px;
        font-size: 28px;
    }

    .portal-brand {
        grid-template-columns: 46px max-content;
    }

    .portal-brand > div {
        min-height: 46px;
    }

    .portal-header-tools {
        gap: 18px;
    }

    .portal-content {
        grid-template-rows: minmax(250px, 1fr) 168px;
        padding: 16px 26px 12px;
    }

    .portal-card {
        border-radius: 12px;
        gap: 6px;
        padding: 12px 44px 14px 20px;
    }

    .portal-card-arrow {
        top: 50%;
        right: 19px;
        bottom: auto;
        transform: translateY(-50%);
    }

    .portal-panel header {
        min-height: 42px;
        padding: 0 20px;
    }

    .portal-panel ul {
        padding: 0 20px;
    }

    .portal-panel li {
        min-height: 31px;
    }
}

/* Outpatient waiting list and SOAP chart workspaces. */
.outpatient-body,
.soap-body {
    margin: 0;
    background: #f7fafb;
    color: #071735;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
    overflow: hidden;
}

.outpatient-body *,
.soap-body * {
    box-sizing: border-box;
}

.outpatient-body button,
.outpatient-body input,
.outpatient-body select,
.soap-body button,
.soap-body input,
.soap-body select {
    font: inherit;
}

.clinic-logo {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 5px;
    background: linear-gradient(180deg, #16a58f 0%, #007f75 100%);
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    box-shadow: inset 0 -2px 0 rgba(0, 83, 79, .2);
}

.outpatient-screen {
    width: 100vw;
    height: 100vh;
    min-width: 0;
    display: grid;
    grid-template-rows: 38px 34px 64px minmax(0, 1fr) 126px 96px;
    overflow: hidden;
    background: #f6fcf7;
}

.outpatient-screen > * {
    min-width: 0;
}

.outpatient-titlebar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 18px;
    border-bottom: 1px solid var(--his-line);
    background: rgba(238, 247, 241, .98);
    white-space: nowrap;
    overflow: hidden;
}

.outpatient-brand,
.outpatient-version,
.soap-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.outpatient-brand span:not(.clinic-logo),
.outpatient-version span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.outpatient-brand strong,
.soap-brand strong {
    color: #009b86;
    font-size: 20px;
    font-weight: 900;
}

.outpatient-brand span:not(.clinic-logo),
.outpatient-version span {
    color: #071735;
    font-size: 15px;
    font-weight: 800;
}

.outpatient-menu {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 0 20px;
    border-bottom: 1px solid var(--his-line);
    background: rgba(238, 247, 241, .96);
    color: #071735;
    font-size: 15px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
}

.outpatient-toolbar {
    display: grid;
    grid-template-columns: minmax(265px, .95fr) minmax(300px, 1.02fr) minmax(170px, .62fr) minmax(270px, 1.08fr) 38px;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    border-bottom: 1px solid #c8d8ce;
    background: rgba(246, 252, 247, .96);
}

.outpatient-toolbar label,
.outpatient-session {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.outpatient-toolbar span {
    flex: 0 0 auto;
    color: #008f85;
    font-size: 20px;
    font-weight: 900;
}

.outpatient-toolbar input,
.outpatient-toolbar select,
.outpatient-toolbar button,
.help-button {
    min-height: 34px;
    border: 1px solid var(--his-line-strong);
    border-radius: 4px;
    background: #ffffff;
    color: #071735;
    font-size: 18px;
    font-weight: 800;
}

.outpatient-toolbar input,
.outpatient-toolbar select {
    min-width: 0;
    width: 100%;
    padding: 0 10px;
}

.outpatient-date input {
    width: 152px;
    flex: 1 1 120px;
}

.outpatient-date button {
    width: 36px;
    flex: 0 0 36px;
    color: #16a399;
    font-size: 30px;
    line-height: 1;
}

.outpatient-session button {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 13px;
}

.outpatient-session button.is-active {
    border-color: #3f8f72;
    background: #3f8f72;
    color: #ffffff;
}

.outpatient-select select {
    width: 100%;
}

.outpatient-search select {
    flex: .7 1 112px;
    width: auto;
}

.outpatient-search input {
    flex: 1 1 112px;
    width: auto;
}

.help-button {
    width: 38px;
    min-width: 0;
    color: #1e74d6;
}

.outpatient-search-button {
    display: inline-grid;
    place-items: center;
}

.outpatient-search-button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.outpatient-table-frame {
    min-height: 0;
    margin: 0;
    border-top: 1px solid #a9bdb1;
    border-bottom: 1px solid #a9bdb1;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    overflow: hidden;
    background: #ffffff;
}

.outpatient-grid {
    width: 100%;
    height: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.outpatient-grid th {
    height: 38px;
    border-right: 1px solid #a9bdb1;
    border-bottom: 1px solid #a9bdb1;
    background: #eef7f1;
    color: #13251e;
    font-size: 20px;
    font-weight: 900;
    text-align: center;
}

.outpatient-grid td {
    border-right: 1px solid #a9bdb1;
    border-bottom: 1px solid #d6e4dc;
    background: #ffffff;
}

.outpatient-grid th,
.outpatient-grid td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.outpatient-grid th:nth-child(1) { width: 4.4%; }
.outpatient-grid th:nth-child(2) { width: 5.8%; }
.outpatient-grid th:nth-child(3) { width: 5.8%; }
.outpatient-grid th:nth-child(4) { width: 6.4%; }
.outpatient-grid th:nth-child(5) { width: 7.4%; }
.outpatient-grid th:nth-child(6) { width: 4.8%; }
.outpatient-grid th:nth-child(7) { width: 4.6%; }
.outpatient-grid th:nth-child(8) { width: 5.3%; }
.outpatient-grid th:nth-child(9) { width: 7%; }
.outpatient-grid th:nth-child(10) { width: 6.3%; }
.outpatient-grid th:nth-child(11) { width: 6%; }
.outpatient-grid th:nth-child(12) { width: 8%; }
.outpatient-grid th:nth-child(13) { width: 6.6%; }
.outpatient-grid th:nth-child(14) { width: 7.4%; }
.outpatient-grid th:nth-child(15) { width: 8.2%; }
.outpatient-empty-row td {
    height: 38px;
}

.screening-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 116px;
    grid-template-rows: minmax(0, 70px) 34px;
    gap: 8px 12px;
    padding: 10px 12px 8px 22px;
    border-top: 1px solid #c8d8ce;
    border-bottom: 0;
    background: rgba(238, 247, 241, .92);
}

.screening-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-content: start;
    gap: 6px 24px;
}

.screening-fields label {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 58px;
    align-items: center;
    gap: 6px;
    color: #263a31;
    font-size: 18px;
    font-weight: 800;
}

.screening-fields input,
.screening-fields b {
    min-height: 30px;
    border: 1px solid #c6d7cc;
    border-radius: 0;
    background: #ffffff;
}

.screening-fields b {
    display: grid;
    place-items: center;
    background: #e9f4ec;
    font-size: 18px;
    font-weight: 800;
}

.screening-actions {
    display: grid;
    gap: 8px;
    align-content: center;
}

.screening-actions button {
    min-height: 34px;
    border: 1px solid #c6d7cc;
    border-radius: 4px;
    background: #ffffff;
    color: #2b6743;
    font-size: 18px;
    font-weight: 900;
}

.outpatient-counts {
    grid-column: 1 / -1;
    min-width: 0;
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 28px;
    color: #2b6f45;
    font-size: 17px;
    font-weight: 900;
    white-space: nowrap;
}

.outpatient-command-bar {
    min-height: 0;
    display: flex;
    align-items: center;
    padding: 4px 12px;
    border-top: 1px solid #c8d8ce;
    background: rgba(238, 247, 241, .95);
}

.outpatient-command-bar > strong {
    align-self: start;
    color: #008f85;
    font-size: 22px;
    font-weight: 900;
}

.outpatient-command-bar > strong b {
    margin-left: 12px;
    color: #071735;
}

.outpatient-buttons {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    gap: 6px;
}

.outpatient-buttons button {
    flex: 0 0 auto;
    min-width: 82px;
    min-height: 38px;
    padding: 0 9px;
    border: 1px solid #c6d7cc;
    border-radius: 5px;
    background: #ffffff;
    color: #21342c;
    font-size: 20px;
    font-weight: 900;
}

.outpatient-buttons button:first-child {
    border-color: #3f8f72;
    background: #3f8f72;
    color: #ffffff;
}

.outpatient-buttons .exit-button {
    color: #ff0000;
}

.outpatient-clock {
    display: grid;
    grid-template-columns: 48px 48px;
    gap: 6px 8px;
    justify-content: end;
    color: #0044ff;
    font-size: 22px;
    font-weight: 800;
    text-align: center;
}

.outpatient-clock span {
    min-height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid #d0dae2;
    border-radius: 5px;
    background: #ffffff;
    color: #071735;
    font-size: 18px;
}

.outpatient-clock b {
    grid-column: 1 / -1;
    line-height: 1.15;
    font-weight: 800;
}

.supplement-search-modal,
.supplement-history-modal,
.abnormal-visit-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px 28px;
    background: rgba(7, 23, 53, .18);
    backdrop-filter: blur(1px);
    box-sizing: border-box;
}

.supplement-search-modal.is-open,
.supplement-history-modal.is-open,
.abnormal-visit-modal.is-open {
    display: flex;
}

.supplement-search-card,
.supplement-history-card,
.abnormal-visit-card {
    overflow: hidden;
    border: 1px solid #bdd9d7;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 26px 72px rgba(0, 64, 82, .18);
    color: #071735;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
    box-sizing: border-box;
}

.supplement-search-card {
    width: min(620px, calc(100vw - 32px));
    display: grid;
    grid-template-rows: auto auto auto auto;
}

.supplement-search-card header,
.supplement-history-head,
.abnormal-visit-card header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid #d8e8e7;
    background: linear-gradient(180deg, #ffffff 0%, #f6fcf7 100%);
}

.supplement-search-card header {
    min-height: 64px;
    padding: 0 18px;
}

.supplement-search-card header p,
.abnormal-visit-card header p,
.supplement-search-card header h2,
.abnormal-visit-card header h2,
.supplement-history-head h2 {
    margin: 0;
}

.supplement-search-card header p,
.abnormal-visit-card header p {
    color: #008f85;
    font-size: 14px;
    font-weight: 900;
}

.supplement-search-card header h2,
.abnormal-visit-card header h2,
.supplement-history-head h2 {
    color: #00586f;
    font-size: 22px;
    font-weight: 900;
}

.supplement-search-card header button,
.abnormal-visit-card header button,
.supplement-history-head > button {
    width: 34px;
    height: 34px;
    border: 1px solid #cbdde2;
    border-radius: 7px;
    background: #ffffff;
    color: #00586f;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.supplement-search-fields {
    display: grid;
    grid-template-columns: 1fr 1.25fr;
    gap: 12px;
    padding: 16px 18px 10px;
}

.supplement-search-fields label {
    display: grid;
    gap: 6px;
    color: #00586f;
    font-size: 14px;
    font-weight: 900;
}

.supplement-search-fields select,
.supplement-search-fields input {
    width: 100%;
    min-width: 0;
    height: 38px;
    border: 1px solid #c8dce1;
    border-radius: 6px;
    padding: 0 10px;
    background: #ffffff;
    color: #071735;
    font-size: 17px;
    font-weight: 800;
}

.supplement-search-result {
    padding: 0 18px 14px;
}

.supplement-search-result button {
    width: 100%;
    min-height: 68px;
    display: grid;
    gap: 6px;
    justify-items: start;
    border: 1px solid #cbe1df;
    border-radius: 7px;
    padding: 10px 14px;
    background: #f6fcf7;
    color: #071735;
    cursor: pointer;
}

.supplement-search-result button:hover {
    border-color: #57c8c0;
    background: #e9fbf8;
}

.supplement-search-result strong {
    color: #008f85;
    font-size: 20px;
    font-weight: 900;
}

.supplement-search-result span {
    color: #425a73;
    font-size: 15px;
    font-weight: 800;
}

.supplement-search-card footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 18px 16px;
    border-top: 1px solid #e3ecef;
    background: #fbfdff;
}

.supplement-search-card footer button {
    min-width: 92px;
    min-height: 38px;
    border: 1px solid #cbdde2;
    border-radius: 6px;
    background: #ffffff;
    color: #00586f;
    font-size: 17px;
    font-weight: 900;
    cursor: pointer;
}

.supplement-search-card footer .is-primary {
    border-color: #009b86;
    background: linear-gradient(180deg, #16a58f 0%, #008f85 100%);
    color: #ffffff;
}

.abnormal-visit-card {
    width: min(1080px, calc(100vw - 56px));
    height: min(720px, calc(100vh - 36px));
    display: grid;
    grid-template-rows: 66px 70px minmax(0, 1fr) 62px;
}

.abnormal-visit-card header {
    min-width: 0;
    padding: 0 20px;
}

.abnormal-visit-card header > div {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.abnormal-visit-toolbar {
    display: grid;
    grid-template-columns: minmax(240px, 320px) minmax(300px, 390px) minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    padding: 10px 20px 12px;
    border-bottom: 1px solid #dce9ec;
    background: #fbfdff;
    box-sizing: border-box;
}

.abnormal-visit-toolbar > label {
    display: grid;
    gap: 5px;
    color: #00586f;
    font-size: 13px;
    font-weight: 900;
}

.abnormal-visit-mode {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin: 0;
    border: 0;
    padding: 18px 0 0;
}

.abnormal-visit-mode legend {
    position: absolute;
    margin-top: -18px;
    color: #00586f;
    font-size: 13px;
    font-weight: 900;
}

.abnormal-visit-mode label {
    min-width: 0;
    display: block;
}

.abnormal-visit-mode input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.abnormal-visit-mode span {
    min-height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid #c8dce1;
    border-radius: 6px;
    background: #ffffff;
    color: #00586f;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
}

.abnormal-visit-mode input:checked + span {
    border-color: #009b86;
    background: #e8f8f5;
    color: #008f85;
    box-shadow: inset 0 0 0 1px #009b86;
}

.abnormal-visit-toolbar input {
    width: 100%;
    height: 34px;
    border: 1px solid #c8dce1;
    border-radius: 6px;
    padding: 0 10px;
    background: #ffffff;
    color: #071735;
    font-size: 16px;
    font-weight: 800;
    box-sizing: border-box;
}

.abnormal-visit-toolbar strong {
    min-width: 0;
    overflow: hidden;
    align-self: end;
    min-height: 34px;
    display: flex;
    align-items: center;
    border: 1px solid #cfe4e2;
    border-radius: 6px;
    padding: 0 12px;
    background: #f3fbfa;
    color: #008f85;
    font-size: 16px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-sizing: border-box;
}

.abnormal-visit-table-frame {
    min-height: 0;
    overflow: auto;
    border-top: 1px solid #eef4f5;
}

.abnormal-visit-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.abnormal-visit-table th,
.abnormal-visit-table td {
    border-right: 1px solid #d9e6eb;
    border-bottom: 1px solid #e1ebef;
    padding: 7px 10px;
    color: #071735;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
    vertical-align: top;
}

.abnormal-visit-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    height: 38px;
    background: linear-gradient(180deg, #f8fdfc 0%, #edf7f5 100%);
    color: #007c76;
    font-size: 14px;
    font-weight: 900;
    text-align: left;
}

.abnormal-visit-table th:nth-child(1),
.abnormal-visit-table th:nth-child(2) {
    width: 112px;
}

.abnormal-visit-table th:nth-child(3) {
    width: 280px;
}

.abnormal-visit-modal:not(.is-issued-mode) .abnormal-visit-table th:nth-child(2),
.abnormal-visit-modal:not(.is-issued-mode) .abnormal-visit-table td:nth-child(2),
.abnormal-visit-modal.is-issued-mode .abnormal-visit-table th:nth-child(1),
.abnormal-visit-modal.is-issued-mode .abnormal-visit-table td:nth-child(1) {
    display: none;
}

.abnormal-visit-table tbody tr {
    cursor: pointer;
}

.abnormal-visit-table tbody tr:hover td {
    background: #f0fbf8;
}

.abnormal-visit-table tbody tr.is-selected td {
    background: #dff6f4;
    box-shadow: inset 0 1px 0 #8ccfca, inset 0 -1px 0 #8ccfca;
}

.abnormal-visit-table td:nth-child(1),
.abnormal-visit-table td:nth-child(2) {
    color: #00586f;
    font-size: 16px;
    font-weight: 900;
    text-align: center;
}

.abnormal-visit-card footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 18px;
    border-top: 1px solid #e3ecef;
    background: #fbfdff;
}

.abnormal-visit-card footer button {
    min-width: 92px;
    min-height: 38px;
    border: 1px solid #cbdde2;
    border-radius: 6px;
    background: #ffffff;
    color: #00586f;
    font-size: 17px;
    font-weight: 900;
    cursor: pointer;
}

.abnormal-visit-card footer .is-primary {
    border-color: #009b86;
    background: linear-gradient(180deg, #16a58f 0%, #008f85 100%);
    color: #ffffff;
}

.supplement-history-card {
    width: min(1560px, calc(100vw - 32px));
    height: min(900px, calc(100vh - 32px));
    display: grid;
    grid-template-rows: 74px minmax(0, 1fr);
    background: #fbfefe;
}

.supplement-history-head {
    min-width: 0;
    padding: 0 16px;
}

.supplement-history-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 204px;
    border-right: 1px solid #d2e2e4;
}

.supplement-title-icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 5px;
    background: linear-gradient(180deg, #16a58f 0%, #007f75 100%);
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
}

.supplement-patient-summary {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 22px;
    overflow: hidden;
    white-space: nowrap;
    color: #071735;
    font-size: 15px;
    font-weight: 800;
}

.supplement-patient-summary strong {
    color: #007c76;
    font-size: 19px;
    font-weight: 900;
}

.supplement-patient-summary span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.supplement-history-layout {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(720px, 1.9fr) minmax(430px, 1fr);
    gap: 12px;
    padding: 14px;
    overflow: hidden;
}

.supplement-visit-list,
.supplement-detail-panel {
    min-width: 0;
    min-height: 0;
    display: grid;
    overflow: hidden;
    border: 1px solid #c9dfe2;
    border-radius: 8px;
    background: #ffffff;
}

.supplement-visit-list {
    grid-template-rows: minmax(0, 1fr) 56px;
}

.supplement-visit-table-frame {
    min-width: 0;
    min-height: 0;
    overflow: auto;
    scrollbar-gutter: stable;
}

.supplement-visit-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    table-layout: fixed;
}

.supplement-visit-table th,
.supplement-visit-table td {
    border-right: 1px solid #d9e6eb;
    border-bottom: 1px solid #e1ebef;
    text-align: center;
    color: #071735;
    font-size: 17px;
    font-weight: 800;
}

.supplement-visit-table th {
    height: 47px;
    background: linear-gradient(180deg, #f8fdfc 0%, #edf7f5 100%);
    color: #007c76;
    font-size: 16px;
    font-weight: 900;
}

.supplement-visit-table td {
    height: 43px;
    background: #ffffff;
}

.supplement-visit-table th:first-child {
    width: 52px;
    background: linear-gradient(180deg, #009b91 0%, #008377 100%);
    color: #ffffff;
}

.supplement-visit-table th:nth-child(2) { width: 110px; }
.supplement-visit-table th:nth-child(3) { width: 126px; }
.supplement-visit-table th:nth-child(4) { width: 72px; }
.supplement-visit-table th:nth-child(5) { width: 72px; }
.supplement-visit-table th:nth-child(6) { width: 86px; }
.supplement-visit-table th:nth-child(7) { width: 70px; }
.supplement-visit-table th:nth-child(8) { width: 82px; }
.supplement-visit-table th:nth-child(9) { width: 70px; }
.supplement-visit-table th:nth-child(10) { width: 86px; }
.supplement-visit-table th:nth-child(11) { width: 88px; }
.supplement-visit-table th:nth-child(12) { width: 108px; }

.supplement-history-row {
    cursor: pointer;
}

.supplement-history-row:hover td {
    background: #f0fbf8;
}

.supplement-history-row.is-selected td {
    background: #dff6f4;
}

.supplement-history-row td:first-child span {
    width: 20px;
    height: 20px;
    display: inline-grid;
    place-items: center;
    border: 1px solid #c6d4db;
    border-radius: 3px;
    background: #ffffff;
}

.supplement-history-row.is-selected td:first-child span {
    border-color: #009b86;
    background: #009b86;
    color: #ffffff;
}

.supplement-history-row.is-selected td:first-child span::after {
    content: "✓";
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
}

.supplement-history-empty td {
    height: 96px;
    color: #6a7d85;
    font-weight: 800;
}

.supplement-history-pager {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 20px;
    padding: 8px 16px;
    border-top: 1px solid #dbe8eb;
    background: #fbfdff;
    color: #071735;
    font-size: 15px;
    font-weight: 800;
}

.supplement-history-pager label {
    display: flex;
    align-items: center;
    gap: 8px;
}

.supplement-history-pager select,
.supplement-history-pager button {
    height: 34px;
    border: 1px solid #d4e0e6;
    border-radius: 5px;
    background: #ffffff;
    color: #071735;
    font-weight: 800;
}

.supplement-history-pager select {
    width: 58px;
    padding-left: 10px;
}

.supplement-history-pager div {
    display: flex;
    gap: 8px;
}

.supplement-history-pager button {
    width: 48px;
}

.supplement-history-pager .is-current {
    border-color: #009b86;
    background: linear-gradient(180deg, #16a58f 0%, #008f85 100%);
    color: #ffffff;
}

.supplement-detail-panel {
    grid-template-rows: 44px repeat(3, minmax(0, auto));
    align-content: start;
    overflow-y: auto;
}

.supplement-detail-panel > header {
    display: flex;
    align-items: center;
    padding: 0 18px;
    background: linear-gradient(180deg, #009b91 0%, #008377 100%);
    color: #ffffff;
}

.supplement-detail-panel > header strong {
    font-size: 20px;
    font-weight: 900;
}

.supplement-detail-panel section {
    border-bottom: 1px solid #d5e4e7;
    background: #ffffff;
}

.supplement-detail-panel h3 {
    margin: 0;
    padding: 10px 24px;
    border-bottom: 1px solid #dce9ec;
    background: linear-gradient(180deg, #f8fdfc 0%, #edf7f5 100%);
    color: #007c76;
    font-size: 16px;
    font-weight: 900;
}

.supplement-detail-panel ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 11px 32px 14px 44px;
    border-bottom: 1px dashed #b8d5d4;
}

.supplement-detail-panel li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 160px;
    gap: 16px;
    color: #071735;
    font-size: 16px;
    font-weight: 800;
}

.supplement-detail-panel li b {
    font-weight: 800;
}

.supplement-detail-panel p {
    margin: 0;
    padding: 8px 24px;
    color: #071735;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.45;
}

@media (max-width: 1180px) {
    .supplement-history-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .supplement-detail-panel {
        display: none;
    }

    .supplement-patient-summary {
        gap: 12px;
        font-size: 13px;
    }
}

.soap-screen {
    width: 100vw;
    height: 100vh;
    display: grid;
    grid-template-rows: 46px 48px 52px 40px minmax(0, 1fr);
    gap: 0;
    padding: 8px 16px 14px;
    overflow: hidden;
    background: var(--his-page-gradient);
}

.soap-patient-bar {
    display: grid;
    grid-template-columns: 150px auto auto auto auto minmax(300px, 1fr) 150px 170px;
    align-items: center;
    gap: 18px;
    color: #071735;
    font-size: 18px;
    font-weight: 800;
    white-space: nowrap;
}

.soap-address {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.soap-vitals-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 10px;
    align-items: center;
}

.soap-vitals-row label {
    min-width: 0;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    min-height: 38px;
    border: 1px solid var(--his-line-strong);
    border-radius: 6px;
    overflow: hidden;
    background: var(--his-card-gradient);
}

.soap-vitals-row span,
.soap-vitals-row input {
    display: grid;
    align-items: center;
    border: 0;
    color: #071735;
    font-size: 18px;
    font-weight: 800;
}

.soap-vitals-row span {
    padding-left: 12px;
    border-right: 1px solid var(--his-line);
    background: var(--his-sky);
    color: #245c84;
}

.soap-vitals-row input {
    min-width: 0;
    padding: 0 12px;
    text-align: center;
}

.soap-chart-toolbar,
.soap-alert-strip {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.soap-chart-toolbar strong,
.soap-chart-toolbar button,
.soap-alert-strip button,
.soap-alert-strip span,
.soap-alert-strip b {
    min-height: 40px;
    border: 1px solid var(--his-line-strong);
    border-radius: 5px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    color: #071735;
    font-size: 18px;
    font-weight: 800;
}

.soap-chart-toolbar strong,
.soap-alert-strip span,
.soap-alert-strip b {
    display: grid;
    place-items: center;
}

.soap-chart-toolbar button,
.soap-alert-strip button {
    padding: 0 18px;
}

.soap-chart-toolbar .chart-number {
    width: 150px;
    color: #ff0000;
    font-size: 24px;
    letter-spacing: 2px;
    border-color: #ffc7c7;
    background: #fff7f7;
}

.soap-chart-toolbar .patient-name {
    width: 150px;
    color: #ff0000;
    font-size: 23px;
    border-color: #ffc7c7;
    background: #fff7f7;
}

.soap-chart-toolbar .insurance-warning {
    width: 140px;
    color: #ff0000;
    font-size: 22px;
    border-color: #ffc7c7;
    background: var(--his-rose);
}

.soap-mini-tabs {
    display: flex;
}

.soap-mini-tabs button {
    min-width: 48px;
    padding: 0 10px;
    border-radius: 0;
}

.soap-alert-strip {
    gap: 8px;
}

.soap-alert-strip button,
.soap-alert-strip span,
.soap-alert-strip b {
    min-height: 34px;
}

.soap-alert-strip span,
.soap-alert-strip b {
    width: 48px;
}

.soap-alert-strip b {
    color: #007f79;
    background: var(--his-mint);
}

.soap-alert-strip strong {
    min-height: 34px;
    display: grid;
    place-items: center;
    margin-left: auto;
    padding: 0 34px;
    border-radius: 5px;
    background: linear-gradient(180deg, #00aa99 0%, var(--his-green-2) 100%);
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
}

.soap-main-grid {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.38fr) minmax(420px, .98fr);
    gap: 12px;
}

.soap-left-panel,
.soap-right-panel {
    min-height: 0;
    display: grid;
    gap: 8px;
}

.soap-left-panel {
    grid-template-rows: 32px 172px 124px minmax(0, 1fr);
}

.soap-right-panel {
    grid-template-rows: 306px minmax(0, 1fr);
}

.soap-sign-row {
    display: grid;
    grid-template-columns: 90px 210px 86px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    color: #071735;
    font-size: 16px;
    font-weight: 800;
}

.soap-sign-row b,
.soap-sign-row em {
    min-height: 30px;
    display: grid;
    place-items: center;
    border-radius: 5px;
    background: linear-gradient(180deg, #00aa99 0%, var(--his-green-2) 100%);
    color: #ffffff;
    font-style: normal;
}

.soap-sign-row em {
    background: var(--his-sky);
    color: var(--his-blue);
    border: 1px solid var(--his-line-strong);
}

.soap-note-box,
.history-note,
.history-query-panel,
.visit-history-list,
.diagnosis-table,
.drug-table {
    border: 1px solid var(--his-line-strong);
    border-radius: 7px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 8px 22px rgba(24, 74, 114, .05);
}

.soap-note-box,
.history-note {
    padding: 10px 14px;
    color: #071735;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.65;
}

.soap-note-box p,
.history-note p {
    margin: 0;
}

.diagnosis-table,
.drug-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    table-layout: fixed;
}

.diagnosis-table th,
.diagnosis-table td,
.drug-table th,
.drug-table td {
    border-right: 1px solid #e3e9ee;
    border-bottom: 1px solid #e3e9ee;
    padding: 7px 10px;
    color: #071735;
    font-size: 16px;
    font-weight: 800;
    text-align: center;
}

.diagnosis-table th {
    width: 80px;
    background: var(--his-mint);
    color: #007f79;
    font-size: 13px;
}

.diagnosis-table td:nth-child(2) {
    width: 140px;
}

.diagnosis-table td:nth-child(3) {
    text-align: left;
}

.diagnosis-table td:last-child {
    width: 70px;
    color: #007f79;
}

.drug-table th {
    color: #007f79;
    background: linear-gradient(180deg, var(--his-sky) 0%, #f7fcff 100%);
}

.drug-col-no {
    width: 6%;
}

.drug-col-code {
    width: 10%;
}

.drug-col-name {
    width: 42%;
}

.drug-col-dose {
    width: 8%;
}

.drug-col-unit {
    width: 7%;
}

.drug-col-frequency {
    width: 7%;
}

.drug-col-days {
    width: 4%;
}

.drug-col-total {
    width: 6%;
}

.drug-col-route,
.drug-col-note {
    width: 5%;
}

.drug-table th:nth-child(3),
.drug-table td:nth-child(3) {
    text-align: left;
}

.drug-table th:nth-child(4),
.drug-table td:nth-child(4),
.drug-table th:nth-child(5),
.drug-table td:nth-child(5),
.drug-table th:nth-child(6),
.drug-table td:nth-child(6),
.drug-table th:nth-child(7),
.drug-table td:nth-child(7),
.drug-table th:nth-child(8),
.drug-table td:nth-child(8),
.drug-table th:nth-child(9),
.drug-table td:nth-child(9),
.drug-table th:nth-child(10),
.drug-table td:nth-child(10) {
    padding-right: 5px;
    padding-left: 5px;
}

.drug-table .is-selected {
    background: linear-gradient(90deg, #dff4eb 0%, #eaf4ff 100%);
}

.history-query-panel {
    min-height: 0;
    padding: 12px;
}

.visit-history-list h2 {
    margin: 0;
    color: #071735;
    font-size: 17px;
    font-weight: 900;
}

.history-tabs button {
    min-height: 34px;
    border: 1px solid var(--his-line-strong);
    border-radius: 5px;
    background: #ffffff;
    color: #071735;
    font-size: 15px;
    font-weight: 800;
}

.history-tabs {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.history-tabs button {
    min-width: 66px;
    border-radius: 5px 5px 0 0;
}

.history-tabs .is-active {
    background: var(--his-mint);
    color: #007f79;
    border-bottom-color: #009b86;
}

.history-note {
    min-height: 190px;
}

.visit-history-list {
    min-height: 0;
    display: grid;
    grid-template-rows: 40px repeat(6, 43px) minmax(0, 1fr);
    gap: 0;
    padding: 12px;
}

.visit-history-list button {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    align-items: center;
    border: 1px solid var(--his-line);
    border-radius: 6px;
    background: linear-gradient(90deg, #ffffff 0%, #f8fbff 100%);
    color: #007f79;
    font-size: 15px;
    font-weight: 800;
    text-align: left;
}

.visit-history-list time {
    color: #071735;
    text-align: right;
}

.workbench-body {
    background: #eef7f1;
}

.clinic-workbench.clinic-soft-grid {
    --workbench-medical-green: #5fc780;
    --workbench-accent-strong: #2f7546;
    grid-template-rows: 38px 34px 64px minmax(360px, 1fr) 160px 92px;
    background: radial-gradient(circle at 42% 34%, rgba(221, 244, 223, .62), transparent 34%),
        linear-gradient(180deg, #f9fcf8 0%, #f1f8f2 100%);
}

.clinic-soft-grid .workbench-status {
    height: 38px;
    justify-content: flex-end;
    min-width: 0;
    padding: 0;
    background: transparent;
    color: #f8fff9;
    box-shadow: none;
    overflow: hidden;
    white-space: nowrap;
}

.clinic-soft-grid .workbench-status span {
    flex: 0 0 auto;
}

.clinic-soft-grid .workbench-brand {
    min-width: 0;
    height: 38px;
    color: #f8fff9;
    white-space: nowrap;
}

.clinic-soft-grid .workbench-logo {
    width: 24px;
    height: 24px;
    border-radius: 7px;
    background: #66c889;
    font-size: 12px;
}

.clinic-soft-grid .workbench-metrics b {
    color: #dff8e6;
}

.registered-layout-body .clinic-soft-grid .workbench-status {
    justify-content: space-between;
    padding: 0 14px;
    border-bottom: 1px solid #c9d9ce;
    background: #f7faf8;
    color: #21342c;
}

.registered-layout-body .clinic-soft-grid .workbench-brand {
    color: #21342c;
}

.registered-layout-body .clinic-soft-grid .workbench-metrics b {
    color: #009b86;
}

.clinic-soft-grid .workbench-tabs {
    height: 34px;
    padding: 0 12px;
    background: rgba(255, 255, 255, .9);
    border-bottom: 1px solid #c9d9ce;
}

.clinic-soft-grid .workbench-tabs span {
    height: 26px;
    padding: 0 12px;
    border-radius: 3px;
    color: #2d4f3a;
    font-size: 14px;
}

.clinic-soft-grid .workbench-tabs .is-current {
    background: #e5f3ea;
    color: #2f7546;
}

.clinic-soft-grid .workbench-toolbar {
    height: 64px;
    padding: 10px 16px;
    background: rgba(248, 252, 248, .96);
    border-bottom: 1px solid #bfd4c6;
}

.clinic-soft-grid .workbench-toolbar button,
.clinic-soft-grid .workbench-toolbar input,
.clinic-soft-grid .workbench-toolbar select,
.clinic-soft-grid .summary-dock button,
.clinic-soft-grid .command-dock button {
    border: 1px solid #cbd9d0;
    border-radius: 5px;
    background: #ffffff;
    color: #24352d;
    box-shadow: 0 1px 0 rgba(35, 72, 61, .05);
}

.clinic-soft-grid .toolbar-check,
.clinic-soft-grid .toolbar-label,
.clinic-soft-grid .toolbar-field span {
    color: #253f32;
    font-size: 20px;
}

.clinic-soft-grid .toolbar-date,
.clinic-soft-grid .toolbar-field select {
    font-size: 22px;
}

.clinic-soft-grid .toolbar-check input {
    accent-color: #5fc780;
}

.clinic-soft-grid .toolbar-segments .is-active,
.clinic-soft-grid .command-dock .is-primary {
    background: linear-gradient(180deg, #67cf88 0%, #52ba75 100%);
    border-color: #57bd7b;
    color: #ffffff;
}

.clinic-soft-grid .toolbar-segments button {
    color: #2b6743;
}

.clinic-soft-grid .sheet-area {
    background: rgba(255, 255, 255, .9);
    border-top: 0;
    border-bottom: 1px solid #bdcfc4;
}

.clinic-soft-grid .registration-sheet {
    height: 100%;
    background-color: rgba(255, 255, 255, .96);
}

.clinic-soft-grid .registration-sheet tbody {
    height: calc(100% - 33px);
}

.clinic-soft-grid .registration-sheet th,
.clinic-soft-grid .registration-sheet td {
    border-right: 1px solid #a9bdb1;
    border-bottom: 1px solid #a9bdb1;
}

.clinic-soft-grid .registration-sheet tbody td {
    border-bottom: 0;
}

.clinic-soft-grid .registration-sheet th {
    height: 33px;
    background: #eaf4e8;
    color: #253a30;
    font-size: 19px;
    line-height: 33px;
}

.clinic-soft-grid .registration-sheet td {
    background: rgba(255, 255, 255, .88);
    color: #2b2f2b;
    font-size: 25px;
    line-height: 40px;
}

.clinic-soft-grid .registration-sheet tbody tr:not(.sheet-filler-row):nth-child(odd) td {
    background: rgba(255, 255, 255, .94);
}

.clinic-soft-grid .registration-sheet tbody tr:not(.sheet-filler-row):nth-child(even) td {
    background: #f0f8f2;
}

.clinic-soft-grid .registration-sheet tbody tr:not(.sheet-filler-row) td {
    cursor: pointer;
}

.clinic-soft-grid .registration-sheet tbody tr:not(.sheet-filler-row):hover td {
    background: #eef8ee;
}

.clinic-soft-grid .registration-sheet tbody tr.sheet-filler-row td {
    background: rgba(255, 255, 255, .94);
    cursor: default;
}

.clinic-soft-grid .registration-sheet tbody tr.sheet-filler-row {
    height: 100%;
}

.clinic-soft-grid .registration-sheet tbody tr.sheet-filler-row td {
    border-right: 1px solid #a9bdb1;
    border-bottom: 0;
}

.clinic-soft-grid .warning-cell {
    background: #e3f4d3 !important;
}

.clinic-soft-grid .sheet-scrollbar {
    background: #edf6f0;
    border-top: 1px solid #c4d6ca;
}

.clinic-soft-grid .sheet-scrollbar span {
    background: #f8fbf8;
    border-right: 1px solid #c4d6ca;
}

.clinic-soft-grid .summary-dock {
    grid-template-columns: 1fr 120px;
    grid-template-rows: 90px 1fr;
    padding: 12px 12px 8px 28px;
    background: rgba(238, 247, 241, .92);
    border-top: 0;
}

.clinic-soft-grid .screening-row {
    gap: 8px 34px;
}

.clinic-soft-grid .screening-row label {
    color: #263a31;
    font-size: 20px;
}

.clinic-soft-grid .screening-row input,
.clinic-soft-grid .screening-row span {
    height: 34px;
    border: 1px solid #c6d7cc;
    background: #ffffff;
}

.clinic-soft-grid .screening-row span {
    background: #e9f4ec;
}

.clinic-soft-grid .summary-counts {
    color: #2b6f45;
    font-size: 19px;
}

.clinic-soft-grid .dock-side-actions button {
    color: #2b6743;
    font-size: 20px;
}

.clinic-soft-grid .command-dock {
    background: rgba(238, 247, 241, .95);
    border-top: 1px solid #c8d8ce;
}

.clinic-soft-grid .command-row.primary {
    height: 54px;
}

.clinic-soft-grid .command-row.secondary {
    height: 38px;
}

.clinic-soft-grid .command-dock button {
    height: 38px;
    min-width: 96px;
    font-size: 20px;
}

.clinic-soft-grid .command-row.secondary button {
    height: 34px;
    min-width: 92px;
    font-size: 18px;
}

.clinic-soft-grid .waiting-count {
    color: #20342b;
    font-size: 22px;
}

.clinic-soft-grid .workbench-clock {
    color: #2b6f45;
    font-size: 24px;
}

.registered-layout-body .clinic-workbench.clinic-soft-grid {
    grid-template-rows: 38px 34px 64px minmax(0, 1fr) 126px 96px;
}

.registered-layout-body .clinic-soft-grid .registration-table-frame {
    background: rgba(255, 255, 255, .96);
}

.registered-layout-body .clinic-soft-grid .registration-sheet {
    --registered-column-width: 9.090909%;
    background-image: repeating-linear-gradient(
        to right,
        transparent 0,
        transparent calc(var(--registered-column-width) - 1px),
        #a9bdb1 calc(var(--registered-column-width) - 1px),
        #a9bdb1 var(--registered-column-width)
    );
}

.registered-layout-body .clinic-soft-grid .registration-sheet col {
    width: var(--registered-column-width);
}

.registered-layout-body .clinic-soft-grid .registration-sheet tbody tr.sheet-filler-row td {
    background: transparent;
}

.registered-layout-body .clinic-soft-grid .summary-dock {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) 116px;
    grid-template-rows: minmax(0, 70px) 34px;
    gap: 8px 12px;
    padding: 10px 12px 8px 22px;
    border-top: 1px solid #c8d8ce;
}

.registered-layout-body .clinic-soft-grid .screening-row {
    align-content: center;
    gap: 6px 24px;
}

.registered-layout-body .clinic-soft-grid .screening-row label {
    font-size: 18px;
}

.registered-layout-body .clinic-soft-grid .screening-row input,
.registered-layout-body .clinic-soft-grid .screening-row span {
    height: 30px;
}

.registered-layout-body .clinic-soft-grid .summary-counts {
    align-self: center;
    gap: 18px;
    font-size: 17px;
}

.registered-layout-body .clinic-soft-grid .dock-side-actions {
    align-content: center;
    gap: 8px;
}

.registered-layout-body .clinic-soft-grid .dock-side-actions button {
    height: 34px;
    font-size: 18px;
}

.registered-layout-body .clinic-soft-grid .command-dock {
    min-height: 0;
    display: grid;
    grid-template-rows: 1fr;
    padding: 0;
}

.registered-layout-body .clinic-soft-grid .command-row {
    min-height: 0;
    min-width: 0;
    padding: 4px 12px;
}

.registered-layout-body .clinic-soft-grid .command-row.primary {
    height: 100%;
    flex-wrap: nowrap;
}

.registered-layout-body .clinic-soft-grid .command-row.secondary {
    display: none;
}

.outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
    grid-template-rows: 38px 34px 64px minmax(0, 1fr) 126px 96px;
    min-width: 1180px;
}

.outpatient-body .outpatient-titlebar.workbench-status {
    height: 38px;
    padding: 0 14px;
    background: #23483d;
    color: #f1fff7;
}

.outpatient-body .workbench-status .outpatient-brand strong,
.outpatient-body .workbench-status .outpatient-brand span:not(.clinic-logo),
.outpatient-body .workbench-status .outpatient-version span {
    color: #f1fff7;
}

.outpatient-body .outpatient-menu.workbench-tabs {
    height: 34px;
    padding: 0 12px;
    background: #ffffff;
}

.outpatient-body .outpatient-toolbar.workbench-toolbar {
    height: 64px;
    display: flex;
    grid-template-columns: none;
    gap: 8px;
    padding: 10px 18px;
    background: #e9f4ee;
    border-bottom: 2px solid #a8c8b8;
}

.outpatient-body .outpatient-toolbar span {
    color: #263a32;
    font-size: 21px;
    font-weight: 900;
}

.outpatient-body .outpatient-toolbar input,
.outpatient-body .outpatient-toolbar select,
.outpatient-body .outpatient-toolbar button,
.outpatient-body .help-button {
    min-height: 40px;
    font-size: 18px;
}

.outpatient-body .outpatient-date input {
    width: 205px;
    flex: 0 0 205px;
    font-size: 24px;
}

.outpatient-body .outpatient-date button {
    width: 38px;
    flex: 0 0 38px;
    font-size: 19px;
}

.outpatient-body .outpatient-session button {
    flex: 0 0 auto;
    min-width: 76px;
}

.outpatient-body .outpatient-select select {
    width: 178px;
}

.outpatient-body .outpatient-search select {
    flex: 0 0 122px;
}

.outpatient-body .outpatient-search input {
    flex: 0 0 270px;
}

.outpatient-body .screening-panel.summary-dock {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) 116px;
    grid-template-rows: minmax(0, 70px) 34px;
    gap: 8px 12px;
    padding: 10px 12px 8px 22px;
    border-top: 1px solid #c8d8ce;
}

.outpatient-body .screening-fields.screening-row {
    align-content: center;
    gap: 6px 24px;
}

.outpatient-body .screening-fields.screening-row label {
    grid-template-columns: 52px minmax(0, 1fr) 58px;
    font-size: 18px;
}

.outpatient-body .screening-fields.screening-row input,
.outpatient-body .screening-fields.screening-row span {
    height: 30px;
    border: 1px solid #c6d7cc;
}

.outpatient-body .outpatient-counts.summary-counts {
    align-self: center;
    gap: 18px;
    font-size: 17px;
}

.outpatient-body .outpatient-command-bar.command-dock {
    min-height: 0;
    display: grid;
    grid-template-rows: 1fr;
    padding: 0;
}

.outpatient-body .outpatient-buttons.command-row.primary {
    height: 100%;
    min-height: 0;
    min-width: 0;
    flex-wrap: nowrap;
    padding: 4px 12px;
}

.health-card-status {
    align-self: center;
    margin-left: auto;
    padding: 4px 12px;
    border: 1px solid #b8d2c2;
    border-radius: 6px;
    background: #f8fcf8;
    color: #2f6f45;
    font-size: 18px;
    font-weight: 900;
    white-space: nowrap;
}

.health-card-status.is-reading {
    border-color: #b8d9e6;
    background: #f1f9fc;
    color: #0f6f8a;
}

.health-card-status.is-success {
    border-color: #8fd2a4;
    background: #e9f8ee;
    color: #168249;
}

.health-card-status.is-error {
    border-color: #efb5b5;
    background: #fff4f4;
    color: #b32b2b;
}

.doctor-card-status-button {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 0 12px;
    border: 1px solid #e1b86c;
    border-radius: 6px;
    background: #fff8e8;
    color: #895a00;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
}

.doctor-card-status-button::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #d99000;
    box-shadow: 0 0 0 3px rgba(217, 144, 0, .16);
}

.doctor-card-status-button.is-authenticated {
    border-color: #8fd2a4;
    background: #ecf9f0;
    color: #116b3d;
}

.doctor-card-status-button.is-authenticated::before {
    background: #16a05a;
    box-shadow: 0 0 0 3px rgba(22, 160, 90, .16);
}

.doctor-card-auth-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(13, 39, 31, .46);
    z-index: 80;
}

.doctor-card-auth-modal.is-open {
    display: flex;
}

.doctor-card-auth-card {
    width: min(520px, calc(100vw - 32px));
    border: 1px solid #a7d3bd;
    border-radius: 8px;
    background: #ffffff;
    color: #071735;
    box-shadow: 0 24px 60px rgba(14, 52, 38, .24);
    overflow: hidden;
}

.doctor-card-auth-card > header {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 16px;
    border-bottom: 1px solid #d7e8dd;
    background: linear-gradient(90deg, #f8fffb 0%, #eaf8f1 100%);
}

.doctor-card-auth-card > header p {
    margin: 0 0 2px;
    color: #008f85;
    font-size: 13px;
    font-weight: 900;
}

.doctor-card-auth-card > header h2 {
    margin: 0;
    color: #006c65;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: 0;
}

.doctor-card-auth-card > header button {
    width: 34px;
    height: 34px;
    border: 1px solid #b8d9cc;
    border-radius: 6px;
    background: #ffffff;
    color: #006c65;
    font-size: 24px;
    line-height: 1;
}

.doctor-card-auth-status {
    display: grid;
    gap: 6px;
    padding: 16px;
    border-bottom: 1px solid #e1efe7;
    background: #fbfffd;
}

.doctor-card-auth-status strong {
    color: #071735;
    font-size: 20px;
    font-weight: 900;
}

.doctor-card-auth-status span {
    color: #567066;
    font-size: 15px;
    font-weight: 800;
}

.doctor-card-auth-form {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.doctor-card-auth-form label {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}

.doctor-card-auth-form label span {
    color: #008f85;
    font-size: 18px;
    font-weight: 900;
}

.doctor-card-auth-form input {
    min-height: 44px;
    border: 1px solid #bed7ca;
    border-radius: 6px;
    padding: 0 12px;
    background: #ffffff;
    color: #071735;
    font-size: 22px;
    font-weight: 900;
}

.doctor-card-auth-error {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #efb5b5;
    border-radius: 6px;
    background: #fff4f4;
    color: #b32b2b;
    font-size: 15px;
    font-weight: 900;
}

.doctor-card-auth-form footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.doctor-card-auth-form button {
    min-width: 96px;
    min-height: 38px;
    border: 1px solid #bed7ca;
    border-radius: 6px;
    background: #ffffff;
    color: #006c65;
    font-size: 17px;
    font-weight: 900;
}

.doctor-card-auth-form button.is-primary {
    border-color: #009b86;
    background: linear-gradient(180deg, #15aa97 0%, #008f85 100%);
    color: #ffffff;
}

.doctor-card-auth-modal.is-authenticated .doctor-card-auth-form label,
.doctor-card-auth-modal.is-authenticated .doctor-card-auth-form button[type="submit"] {
    display: none;
}

.patient-name-cell {
    cursor: pointer;
    text-decoration: underline dotted rgba(47, 117, 70, .55);
    text-underline-offset: 4px;
}

.patient-name-cell:hover {
    background: #eef8ee !important;
    color: #1f6b3a !important;
}

.patient-profile-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(28, 66, 45, .42);
    z-index: 50;
}

.patient-profile-modal.is-open {
    display: flex;
}

.patient-profile-card {
    width: min(1060px, calc(100vw - 32px));
    height: min(880px, calc(100vh - 28px));
    border: 1px solid #dbe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 58px rgba(7, 23, 53, .16);
    overflow: hidden;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.patient-profile-card header {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 18px 0 22px;
    border-bottom: 1px solid #dce8ef;
    background: #ffffff;
    color: #1a2538;
}

.patient-profile-card header p,
.patient-profile-card header h2 {
    margin: 0;
}

.patient-profile-card header p {
    color: #008f85;
    font-size: 13px;
    font-weight: 800;
}

.patient-profile-card header h2 {
    margin-top: 3px;
    color: #152033;
    font-size: 22px;
    font-weight: 900;
}

.patient-profile-card header button {
    width: 38px;
    height: 38px;
    border: 1px solid #cfddea;
    border-radius: 7px;
    background: #ffffff;
    color: #006f91;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

#patientProfileForm {
    padding: 16px 18px 14px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 12px;
    background: #ffffff;
    min-height: 0;
    overflow: hidden;
}

.profile-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px 12px;
    min-height: 0;
    overflow-y: auto;
    padding-right: 4px;
    align-content: start;
}

.profile-grid label {
    display: grid;
    gap: 5px;
    color: #008f85;
    font-size: 13px;
    font-weight: 900;
}

.profile-grid input,
.profile-grid select,
.profile-grid textarea {
    width: 100%;
    max-width: none;
    border: 1px solid #d8e2ec;
    border-radius: 7px;
    background: #ffffff;
    color: #1a2538;
    font: inherit;
}

.profile-grid input,
.profile-grid select {
    height: 34px;
    padding: 0 9px;
}

.profile-grid textarea {
    resize: none;
    min-height: 58px;
    padding: 8px 9px;
}

.profile-hint {
    color: #6e819e;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.profile-grid input:focus,
.profile-grid select:focus,
.profile-grid textarea:focus {
    outline: 2px solid rgba(0, 143, 133, .18);
    border-color: #13a897;
}

.profile-wide {
    grid-column: 1 / -1;
}

.profile-grid .allergy-field input {
    background: #ffe8ec;
    border-color: #f1b8c1;
    color: #b42035;
    font-weight: 900;
}

.profile-sharing {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid #d8e2ec;
    border-radius: 7px;
    background: #ffffff;
    color: #1a2538;
}

.profile-sharing legend {
    padding: 0 6px;
    color: #008f85;
    font-size: 13px;
    font-weight: 900;
}

.profile-sharing label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 800;
}

.profile-sharing input {
    width: 14px;
    height: 14px;
}

.profile-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 0;
    padding-top: 12px;
    border-top: 1px solid #dce8ef;
    background: #ffffff;
}

.profile-actions button {
    min-width: 118px;
    height: 36px;
    border: 1px solid #cfddea;
    border-radius: 7px;
    background: #ffffff;
    color: #1a2538;
    font-weight: 900;
    cursor: pointer;
}

.profile-actions .is-primary {
    background: #57bd7b;
    border-color: #57bd7b;
    color: #ffffff;
}

.profile-actions .danger-profile-action {
    border-color: #efb5b5;
    color: #b32b2b;
}

.follow-up-modal,
.abnormal-patient-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(28, 66, 45, .42);
    z-index: 52;
}

.follow-up-modal.is-open,
.abnormal-patient-modal.is-open {
    display: flex;
}

.follow-up-card,
.abnormal-patient-card {
    width: min(1040px, calc(100vw - 40px));
    border: 1px solid #bdd4c5;
    border-radius: 10px;
    background: #fbfefa;
    box-shadow: 0 30px 80px rgba(29, 76, 49, .24);
    overflow: hidden;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.follow-up-card header,
.abnormal-patient-card header {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 20px 0 24px;
    background: linear-gradient(180deg, #2f7546 0%, #1f5f38 100%);
    color: #f7fff8;
}

.follow-up-card header p,
.follow-up-card header h2,
.abnormal-patient-card header p,
.abnormal-patient-card header h2 {
    margin: 0;
}

.follow-up-card header p,
.abnormal-patient-card header p {
    color: #dff7e6;
    font-size: 13px;
    font-weight: 800;
}

.follow-up-card header h2,
.abnormal-patient-card header h2 {
    margin-top: 3px;
    font-size: 23px;
    font-weight: 900;
}

.follow-up-card header button,
.abnormal-patient-card header button {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    color: #ffffff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.abnormal-patient-summary {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 12px 24px;
    border-bottom: 1px solid #dce9e0;
    background: #f2fbf5;
}

.abnormal-patient-summary span {
    color: #008f85;
    font-size: 14px;
    font-weight: 900;
}

.abnormal-patient-summary strong {
    min-width: 0;
    overflow: hidden;
    color: #008f85;
    font-size: 18px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.follow-up-filters {
    display: grid;
    grid-template-columns: 190px 1fr;
    gap: 14px;
    padding: 18px 24px 14px;
    border-bottom: 1px solid #dce9e0;
}

.follow-up-filters label {
    display: grid;
    gap: 6px;
    color: #2b4a39;
    font-size: 14px;
    font-weight: 900;
}

.follow-up-filters select,
.follow-up-filters input {
    height: 38px;
    border: 1px solid #c4d8ca;
    border-radius: 6px;
    background: #ffffff;
    padding: 0 10px;
    color: #20342b;
    font: inherit;
}

.follow-up-results {
    max-height: 380px;
    overflow: auto;
    padding: 0 24px 22px;
}

.follow-up-results table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.follow-up-results th,
.follow-up-results td {
    border-bottom: 1px solid #d4e3da;
    padding: 10px 8px;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.follow-up-results th {
    position: sticky;
    top: 0;
    background: #eaf4e8;
    color: #253a30;
    font-weight: 900;
}

.follow-up-results td {
    color: #20342b;
}

.follow-up-results tbody tr {
    cursor: pointer;
}

.follow-up-results tbody tr:hover td {
    background: #f1faf4;
}

.follow-up-results tbody tr.is-selected td {
    background: #dff4e8;
    color: #0a5f39;
    font-weight: 900;
}

.follow-up-results button {
    height: 32px;
    min-width: 64px;
    border: 1px solid #57bd7b;
    border-radius: 6px;
    background: #5fc780;
    color: #ffffff;
    font-weight: 900;
    cursor: pointer;
}

.empty-result {
    height: 80px;
    text-align: center !important;
    color: #64756c !important;
    font-weight: 900;
}

.visit-registration-modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(24, 55, 39, .38);
    z-index: 60;
}

.visit-registration-modal.is-open {
    display: flex;
}

.visit-registration-card {
    width: min(980px, calc(100vw - 38px));
    max-height: calc(100vh - 38px);
    overflow: auto;
    border: 1px solid #b8d3c1;
    border-radius: 10px;
    background: #fbfefa;
    box-shadow: 0 24px 60px rgba(29, 61, 42, .26);
}

.visit-registration-card header {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 22px;
    background: linear-gradient(180deg, #247243 0%, #1f633b 100%);
    color: #ffffff;
}

.visit-registration-card header p,
.visit-registration-card header h2 {
    margin: 0;
}

.visit-registration-card header p {
    color: #dff7e6;
    font-size: 13px;
    font-weight: 900;
}

.visit-registration-card header h2 {
    margin-top: 3px;
    font-size: 24px;
    font-weight: 900;
}

.visit-registration-card header button {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    color: #ffffff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}

#visitRegistrationForm {
    padding: 20px 24px 22px;
}

.visit-registration-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.visit-registration-summary div {
    min-height: 70px;
    display: grid;
    align-content: center;
    gap: 6px;
    padding: 10px 12px;
    border: 1px solid #cbe0d1;
    border-left: 4px solid #5fc780;
    border-radius: 8px;
    background: #f4fbf5;
}

.visit-registration-summary span {
    color: #65806e;
    font-size: 12px;
    font-weight: 900;
}

.visit-registration-summary strong {
    min-width: 0;
    color: #1f3c2d;
    font-size: 17px;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.visit-registration-layout {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 14px;
}

.visit-registration-panel {
    border: 1px solid #cbe0d1;
    border-radius: 8px;
    background: #ffffff;
}

.visit-registration-panel h3 {
    margin: 0;
    padding: 11px 14px;
    border-bottom: 1px solid #deebe2;
    background: #eef8ef;
    color: #21422f;
    font-size: 17px;
    font-weight: 900;
}

.visit-registration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
    padding: 14px;
}

.visit-registration-grid label {
    display: grid;
    gap: 6px;
    color: #2b4a39;
    font-size: 14px;
    font-weight: 900;
}

.visit-registration-grid input,
.visit-registration-grid select,
.visit-registration-note textarea {
    width: 100%;
    max-width: none;
    border: 1px solid #c4d8ca;
    border-radius: 6px;
    background: #ffffff;
    color: #20342b;
    font: inherit;
}

.visit-registration-grid input,
.visit-registration-grid select {
    height: 38px;
    padding: 0 10px;
}

.visit-registration-grid input:focus,
.visit-registration-grid select:focus,
.visit-registration-note textarea:focus {
    outline: 2px solid rgba(95, 199, 128, .28);
    border-color: #5fc780;
}

.visit-registration-note {
    grid-column: 1 / -1;
}

.visit-registration-note textarea {
    display: block;
    min-height: 92px;
    padding: 10px 12px;
    border: 0;
    border-radius: 0 0 8px 8px;
    resize: vertical;
}

.visit-registration-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #dce9e0;
}

.visit-registration-actions button {
    min-width: 112px;
    height: 40px;
    border: 1px solid #c4d8ca;
    border-radius: 6px;
    background: #ffffff;
    color: #244c36;
    font-weight: 900;
    cursor: pointer;
}

.visit-registration-actions .is-primary {
    background: linear-gradient(180deg, #67cf88 0%, #52ba75 100%);
    border-color: #57bd7b;
    color: #ffffff;
}

.patient-chart-cell {
    cursor: pointer;
    text-decoration: underline dotted #7aac8b;
    text-underline-offset: 5px;
}

.patient-chart-cell:hover {
    background: #eef8ee !important;
    color: #1f6b3a !important;
}

.registration-entry-modal {
    position: fixed;
    inset: 0;
    z-index: 64;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: rgba(20, 59, 42, .46);
    backdrop-filter: blur(2px);
}

.registration-entry-modal.is-open {
    display: flex;
}

.registration-entry-card {
    width: min(1280px, calc(100vw - 24px));
    height: calc(100vh - 24px);
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #b8d5c3;
    border-radius: 8px;
    background: #f5fbf6;
    box-shadow: 0 28px 78px rgba(18, 58, 38, .28);
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

#registrationEntryForm {
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    overflow: hidden;
}

.registration-entry-header {
    display: grid;
    grid-template-columns: minmax(240px, 330px) 1fr auto;
    align-items: center;
    gap: 18px;
    padding: 8px 14px;
    background: linear-gradient(180deg, #279a72 0%, #157c61 100%);
    color: #f8fff9;
}

.registration-entry-id {
    display: grid;
    gap: 5px;
}

.registration-entry-id strong {
    font-size: 31px;
    line-height: 1;
    font-weight: 900;
}

.registration-entry-id span {
    min-height: 36px;
    display: flex;
    align-items: center;
    padding: 4px 8px;
    border: 1px solid rgba(255, 255, 255, .44);
    border-radius: 5px;
    background: rgba(19, 61, 44, .55);
    font-size: 25px;
    font-weight: 900;
}

.registration-entry-title p,
.registration-entry-title h2 {
    margin: 0;
}

.registration-entry-title p {
    color: #dff8e6;
    font-size: 14px;
    font-weight: 900;
}

.registration-entry-title h2 {
    margin-top: 4px;
    font-size: 25px;
    font-weight: 900;
}

#closeRegistrationEntry {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 7px;
    background: rgba(255, 255, 255, .12);
    color: #ffffff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.registration-entry-profile {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    padding: 8px 14px;
    background: #e9f6ed;
    border-bottom: 1px solid #c5dccc;
}

.registration-entry-profile div {
    min-height: 50px;
    padding: 6px 10px;
    border: 1px solid #c8dccf;
    border-radius: 6px;
    background: #ffffff;
}

.registration-entry-profile .entry-profile-wide {
    grid-column: span 1;
}

.registration-entry-profile span,
.registration-entry-profile strong {
    display: block;
}

.registration-entry-profile span {
    color: #557064;
    font-size: 13px;
    font-weight: 900;
}

.registration-entry-profile strong {
    margin-top: 4px;
    color: #21342c;
    font-size: 18px;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registration-entry-benefits {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border-bottom: 1px solid #c1d8c9;
    background: #f8fcf8;
}

.registration-entry-benefits button {
    min-height: 34px;
    border: 0;
    border-right: 1px solid #c1d8c9;
    background: #ffffff;
    color: #254236;
    font-size: 16px;
    font-weight: 900;
}

.registration-entry-benefits button.is-active {
    background: #dff2e5;
    color: #1f6d43;
}

.registration-entry-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
    padding: 8px 14px;
    background: #123e78;
}

.registration-entry-grid label,
.registration-entry-vitals label {
    display: grid;
    gap: 3px;
}

.registration-entry-grid span,
.registration-entry-vitals span {
    color: #ecfff2;
    font-size: 13px;
    font-weight: 900;
}

.registration-entry-grid input,
.registration-entry-grid select,
.registration-entry-vitals input {
    min-width: 0;
    height: 30px;
    border: 1px solid #bad7c4;
    border-radius: 4px;
    padding: 4px 7px;
    background: #ffffff;
    color: #21342c;
    font-size: 16px;
    font-weight: 800;
}

.registration-entry-help {
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 8px;
    padding: 5px 12px;
    border-top: 1px solid #d5dee1;
    border-bottom: 1px solid #aab8bf;
    background: #e7ece9;
    color: #384d43;
    font-size: 15px;
    line-height: 1.45;
}

.registration-entry-help strong {
    color: #9d4a42;
}

.registration-entry-vitals {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    padding: 7px 14px;
    background: #163b78;
}

.registration-entry-lower {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: 10px;
    min-height: 0;
    padding: 8px 14px 0;
    background: #eef7f1;
}

.registration-entry-note,
.registration-entry-history {
    min-height: 0;
    display: grid;
    border: 1px solid #bdd7c7;
    border-radius: 6px;
    background: #ffffff;
    overflow: hidden;
}

.registration-entry-note {
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.registration-entry-history {
    grid-template-rows: auto minmax(0, 1fr);
}

.registration-entry-note h3,
.registration-entry-history h3 {
    margin: 0;
    padding: 8px 10px;
    background: #e5f3ea;
    color: #244336;
    font-size: 16px;
    font-weight: 900;
}

.registration-entry-note textarea {
    width: 100%;
    height: auto;
    min-height: 0;
    border: 0;
    padding: 10px;
    background: #9df0a1;
    color: #11361f;
    font-size: 16px;
    line-height: 1.38;
    resize: none;
}

.registration-entry-note p {
    margin: 0;
    padding: 6px 10px;
    background: #ffe4e6;
    color: #c9283e;
    font-size: 16px;
    font-weight: 900;
}

.registration-entry-history table {
    width: 100%;
    border-collapse: collapse;
}

.registration-entry-history th,
.registration-entry-history td {
    padding: 7px 8px;
    border-bottom: 1px solid #cbe0d2;
    text-align: left;
    font-size: 15px;
}

.registration-entry-history th {
    background: #f1f8f2;
    color: #26473a;
    font-weight: 900;
}

.registration-entry-history td {
    background: #b8ead1;
    color: #26513f;
}

.registration-entry-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 8px 14px 10px;
    background: #eef7f1;
}

.registration-entry-actions button {
    min-width: 104px;
    min-height: 36px;
    border: 1px solid #c7d8cf;
    border-radius: 6px;
    background: #ffffff;
    color: #c9283e;
    font-size: 18px;
    font-weight: 900;
    cursor: pointer;
}

.registration-entry-actions button.is-primary {
    border-color: #57bd7b;
    background: #57bd7b;
    color: #ffffff;
}

/* Legacy-style registration entry window matching the operational HIS reference. */
.registration-entry-modal {
    padding: 14px;
    background: rgba(226, 236, 241, .68);
    backdrop-filter: none;
}

.registration-entry-card {
    width: min(1760px, calc(100vw - 28px));
    height: min(840px, calc(100vh - 28px));
    border-color: #dbe7ef;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 58px rgba(7, 23, 53, .16);
}

.registration-entry-modal,
.registration-entry-modal * {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.registration-entry-modal::-webkit-scrollbar,
.registration-entry-modal *::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

#visitRegistrationForm {
    min-height: 0;
    display: grid;
    grid-template-rows: 46px 136px 104px 68px 64px minmax(0, 1fr) 52px;
    overflow: hidden;
}

#visitRegistrationForm > * {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.registration-entry-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    gap: 12px;
    align-items: center;
    padding: 0 18px;
    border-bottom: 1px solid #dce8ef;
    background: #ffffff;
    color: #1a2538;
}

.registration-window-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 18px;
    overflow: hidden;
    color: #1a2538;
    font-size: 18px;
    font-weight: 800;
    white-space: nowrap;
}

.registration-window-title strong {
    color: #152033;
    font-size: 18px;
    font-weight: 900;
}

#closeVisitRegistration {
    width: 32px;
    height: 32px;
    border: 1px solid #cfddea;
    border-radius: 7px;
    background: #ffffff;
    color: #006f91;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.registration-entry-profile {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.45fr) minmax(0, 1.15fr) minmax(0, 1.28fr) minmax(0, 1.28fr);
    grid-template-rows: 52px 52px;
    align-items: center;
    gap: 7px 28px;
    padding: 10px 30px 8px;
    border-bottom: 1px solid #dce8ef;
    background: #ffffff;
}

.registration-entry-profile > * {
    min-width: 0;
}

.registration-entry-id {
    grid-row: 1 / span 2;
    align-self: stretch;
    display: grid;
    grid-template-rows: 34px 52px;
    gap: 12px;
}

.registration-entry-id strong {
    color: #008f85;
    font-size: 30px;
    line-height: 1;
    letter-spacing: 0;
}

.registration-entry-id span {
    min-height: 0;
    justify-content: center;
    border: 0;
    border-radius: 7px;
    background: linear-gradient(180deg, #08a58e 0%, #008676 100%);
    color: #ffffff;
    font-size: 23px;
    box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .08);
}

.registration-entry-profile label {
    min-width: 0;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    overflow: hidden;
}

.registration-entry-profile label span,
.registration-age span {
    color: #008f85;
    font-size: 23px;
    font-weight: 900;
}

.registration-entry-profile input {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 44px;
    border: 1px solid #d8e2ec;
    border-radius: 7px;
    padding: 0 12px;
    background: #ffffff;
    color: #1a2538;
    font-size: 24px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
}

.registration-entry-profile .registration-address {
    grid-column: 3 / span 3;
    grid-row: 2;
    min-width: 0;
    grid-template-columns: 92px minmax(0, 1fr);
    overflow: hidden;
}

.registration-entry-profile .registration-address input {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.registration-age {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    align-self: center;
    gap: 10px;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: transparent;
    color: #008f85;
}

.registration-age strong {
    min-width: 0;
    text-align: left;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
}

.registration-age span {
    min-width: 0;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: normal;
}

.registration-entry-profile .is-hidden {
    display: none;
}

.registration-entry-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, .56fr) minmax(0, .46fr) minmax(0, .62fr) minmax(0, .72fr) minmax(0, .54fr) minmax(0, .48fr) minmax(0, .58fr) minmax(0, .68fr) minmax(0, .72fr) minmax(0, 1.25fr) minmax(0, .8fr) minmax(0, .72fr) minmax(0, .78fr) minmax(0, .78fr) minmax(0, .72fr);
    grid-auto-flow: column;
    align-items: end;
    gap: 8px 5px;
    padding: 14px 12px 12px;
    border-bottom: 1px solid #dce8ef;
    background: #ffffff;
    overflow: hidden;
}

.registration-entry-grid label,
.registration-entry-vitals label {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.registration-entry-grid label {
    grid-template-rows: 21px 40px;
}

.registration-entry-grid span,
.registration-entry-vitals span {
    color: #008f85;
    font-size: 21px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.registration-entry-grid input,
.registration-entry-grid select,
.registration-entry-vitals input,
.registration-entry-note input {
    min-width: 0;
    height: 40px;
    border: 1px solid #d8e2ec;
    border-radius: 7px;
    padding: 0 10px;
    background: #ffffff;
    color: #1a2538;
    font-size: 18px;
    font-weight: 800;
}

.registration-entry-grid input,
.registration-entry-grid select {
    text-align: center;
}

.registration-entry-grid label:first-child input,
.registration-entry-grid .registration-sequence-field input {
    text-align: left;
}

.registration-entry-help {
    min-height: 0;
    display: block;
    padding: 8px 16px;
    border-top: 0;
    border-bottom: 1px solid #dce8ef;
    background: #ffffff;
    color: #1a2538;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.45;
    overflow: hidden;
}

.registration-entry-help p {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registration-entry-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding: 6px 16px;
    border-top: 1px solid #dce8ef;
    background: #ffffff;
}

.registration-entry-actions button {
    min-width: 100px;
    min-height: 34px;
    border-color: #cfddea;
    border-radius: 7px;
    background: #ffffff;
    color: #e12b2b;
    font-size: 18px;
}

.registration-entry-actions button.is-primary {
    border-color: #cfddea;
    background: #ffffff;
    color: #008f85;
}

.registration-entry-vitals {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, .9fr) minmax(0, .9fr) minmax(0, .72fr) minmax(0, .72fr) minmax(0, .9fr) minmax(0, .9fr) minmax(0, 1fr);
    align-items: center;
    min-width: 0;
    gap: 10px 12px;
    padding: 10px 16px;
    border-bottom: 1px solid #dce8ef;
    background: #ffffff;
    overflow: hidden;
}

.registration-entry-vitals label {
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
}

.registration-entry-vitals input {
    height: 34px;
    text-align: center;
    font-size: 17px;
}

.registration-entry-lower {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) 44px minmax(0, .9fr);
    gap: 12px;
    min-height: 0;
    min-width: 0;
    padding: 8px 12px 12px;
    background: #ffffff;
    overflow: hidden;
}

.registration-entry-note,
.registration-entry-history {
    min-height: 0;
    border: 1px solid #dce8ef;
    border-radius: 7px;
    background: #ffffff;
    overflow: hidden;
}

.registration-entry-note {
    display: grid;
    grid-template-rows: 54px minmax(0, 1fr);
}

.registration-entry-note header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 50px 50px 50px 50px;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid #dce8ef;
}

.registration-entry-note header label {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.registration-entry-note header span {
    color: #008f85;
    font-size: 20px;
    font-weight: 900;
}

.registration-entry-note header button {
    height: 38px;
    border: 1px solid #cfddea;
    border-radius: 7px;
    background: #ffffff;
    color: #1a2538;
    font-size: 18px;
    font-weight: 900;
}

.registration-entry-note textarea {
    min-height: 0;
    border: 0;
    padding: 14px;
    background: #ffffff;
    color: #1a2538;
    font-size: 19px;
    line-height: 1.45;
    overflow: hidden;
    resize: none;
}

.registration-entry-history {
    position: relative;
    display: grid;
    grid-column: 3;
    grid-template-rows: minmax(0, 1fr);
}

.history-side-label {
    position: absolute;
    left: -44px;
    top: 0;
    bottom: 0;
    width: 44px;
    display: grid;
    place-items: center;
    border: 1px solid #dce8ef;
    border-radius: 7px;
    background: #ffffff;
    color: #008f85;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.4;
    writing-mode: vertical-rl;
    text-orientation: upright;
}

.registration-entry-history table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.registration-entry-history th,
.registration-entry-history td {
    height: 42px;
    overflow: hidden;
    border-bottom: 1px solid #edf2f5;
    padding: 6px 8px;
    background: #ffffff;
    color: #1a2538;
    font-size: 18px;
    font-weight: 800;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registration-entry-history th {
    color: #008f85;
    font-weight: 900;
}

.registration-entry-history tbody tr:nth-child(odd) td {
    background: #f4f9f8;
}

.registration-entry-history tbody tr.is-current td {
    background: linear-gradient(90deg, #66c8b4 0%, #18a28d 100%);
    color: #ffffff;
}

@media (max-width: 1080px) {
    .home-workspace {
        grid-template-columns: 1fr;
        padding: 0 18px;
    }

    .home-overview {
        grid-template-columns: 1fr;
    }

    .home-focus-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .staff-basic-workspace,
    .control-permission-shell {
        grid-template-columns: 1fr;
    }

    .staff-basic-workspace .settings-block,
    .control-permission-shell .settings-block {
        min-height: 0;
    }

    .staff-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .module-board {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-self: stretch;
        margin: 0;
    }

    .news-rail {
        grid-column: 1;
        max-height: none;
        margin-top: 0;
        min-height: auto;
    }
}

.login-shell {
    min-height: 100vh;
    margin: 0;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 22% 30%, rgba(138, 214, 160, .26), transparent 30%),
        radial-gradient(circle at 78% 72%, rgba(190, 235, 204, .42), transparent 34%),
        linear-gradient(135deg, #f9fcf8 0%, #eef8f1 100%);
    color: #1a2538;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.login-panel {
    width: min(940px, calc(100vw - 48px));
    min-height: 520px;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    border: 1px solid #c2d9c9;
    border-radius: 14px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 34px 90px rgba(35, 90, 55, .16);
    overflow: hidden;
}

.login-intro {
    display: grid;
    align-content: space-between;
    padding: 34px 38px;
    background:
        linear-gradient(135deg, rgba(36, 111, 62, .95), rgba(32, 91, 58, .92)),
        linear-gradient(180deg, #2f7546 0%, #1f5f38 100%);
    color: #f7fff8;
}

.login-card {
    display: grid;
    align-content: center;
    padding: 34px;
    background: rgba(255, 255, 255, .94);
}

.login-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.login-brand > span {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: #66c889;
    font-weight: 900;
}

.login-brand strong,
.login-brand small {
    display: block;
}

.login-brand strong {
    font-size: 19px;
    font-weight: 900;
}

.login-brand small {
    margin-top: 3px;
    color: #dff7e6;
}

.login-copy h1 {
    max-width: 360px;
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 36px;
    line-height: 1.2;
    font-weight: 900;
}

.login-copy p {
    max-width: 420px;
    margin: 0;
    color: #dff7e6;
    font-size: 16px;
    line-height: 1.8;
    font-weight: 700;
}

.login-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.login-highlights span {
    padding: 8px 12px;
    border: 1px solid rgba(227, 249, 233, .24);
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    color: #effff2;
    font-size: 13px;
    font-weight: 900;
}

.login-form {
    display: grid;
    gap: 14px;
    padding: 0;
}

.login-form h2 {
    margin: 0;
    font-size: 28px;
    font-weight: 900;
}

.login-form p {
    margin: -4px 0 4px;
    color: #60766a;
    font-size: 14px;
    font-weight: 800;
}

.login-form label {
    display: grid;
    gap: 7px;
    color: #2b4a39;
    font-weight: 900;
}

.login-form input {
    height: 44px;
    border: 1px solid #bfd5c7;
    border-radius: 7px;
    background: #fbfefa;
    padding: 0 12px;
    color: #20342b;
    font-size: 17px;
}

.login-form input:focus {
    outline: 2px solid rgba(95, 199, 128, .35);
    border-color: #5fc780;
}

.login-form button {
    height: 46px;
    border: 1px solid #57bd7b;
    border-radius: 7px;
    background: linear-gradient(180deg, #67cf88 0%, #52ba75 100%);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    cursor: pointer;
}

.login-error {
    padding: 10px 12px;
    border: 1px solid #e4b3ad;
    border-radius: 7px;
    background: #fff5f3;
    color: #9d4a42;
    font-weight: 900;
}

@media (max-width: 820px) {
    .staff-form-grid {
        grid-template-columns: 1fr;
    }

    .login-panel {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .login-intro {
        gap: 24px;
        padding: 28px;
    }

    .login-card {
        padding: 28px;
    }
}

/* Unified clinic chrome for login and settings pages. */
.his-app-shell {
    background: var(--his-page-gradient);
}

.his-app-shell .topbar {
    min-height: 64px;
    gap: 22px;
    padding: 0 28px;
    border-bottom: 1px solid var(--his-line);
    background: linear-gradient(90deg, #ffffff 0%, #fbfdff 56%, var(--his-sky) 100%);
    color: #071735;
    box-shadow: 0 10px 28px rgba(7, 23, 53, .05);
}

.layout-brand {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 220px;
}

.layout-logo-mark {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: linear-gradient(145deg, #12b8a9 0%, #00887f 56%, #176fba 100%);
    color: #ffffff;
    font-size: 21px;
    font-weight: 900;
    box-shadow: inset 0 -2px 0 rgba(0, 83, 79, .22);
}

.his-app-shell .brand-title {
    color: #009b86;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.1;
}

.his-app-shell .brand-subtitle {
    margin-top: 3px;
    color: #48627b;
    font-size: 13px;
    font-weight: 800;
    opacity: 1;
}

.his-app-shell .topbar-nav {
    gap: 8px;
    margin-left: 0;
}

.his-app-shell .topbar-nav a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    border-radius: 7px;
    padding: 0 12px;
    color: #24395a;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
}

.his-app-shell .topbar-nav a:hover {
    background: #eef9f7;
    color: #008f85;
}

.his-app-shell .topbar-status {
    gap: 12px;
    color: #24395a;
    font-size: 14px;
}

.his-app-shell .topbar-status span {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    border-left: 1px solid #dce7ec;
    padding-left: 12px;
}

.his-app-shell .topbar-status .logout-link {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    border: 1px solid #b9d7d4;
    border-radius: 7px;
    padding: 0 12px;
    background: #ffffff;
    color: #008f85;
    text-decoration: none;
}

.his-app-shell .topbar-status .logout-link:hover {
    border-color: #009b86;
    background: #eef9f7;
    color: #006f69;
}

.his-app-shell .app-main {
    min-height: calc(100vh - 64px);
    padding: 0;
    background: var(--his-page-gradient);
}

.login-shell {
    background: var(--his-page-gradient);
    color: #071735;
}

.login-panel {
    width: min(1040px, calc(100vw - 48px));
    min-height: 540px;
    grid-template-columns: minmax(0, 1.08fr) minmax(370px, .92fr);
    border-color: var(--his-line-strong);
    border-radius: 12px;
    background: var(--his-card-gradient);
    box-shadow: 0 24px 70px rgba(24, 74, 114, .12);
}

.login-intro {
    background: linear-gradient(145deg, #ffffff 0%, var(--his-sky) 48%, var(--his-mint) 100%);
    color: #071735;
}

.login-brand > span {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: linear-gradient(145deg, #12b8a9 0%, #00887f 56%, #176fba 100%);
    color: #ffffff;
    font-size: 18px;
    box-shadow: inset 0 -2px 0 rgba(0, 83, 79, .22);
}

.login-brand strong {
    color: #009b86;
    font-size: 24px;
}

.login-brand small {
    color: #48627b;
    font-size: 14px;
    font-weight: 800;
}

.login-copy h1 {
    color: #071735;
    font-size: 42px;
}

.login-copy p {
    color: #48627b;
    font-size: 17px;
}

.login-highlights span {
    border: 1px solid #c9e6e3;
    border-radius: 999px;
    background: #eef9f7;
    color: #008f85;
}

.login-highlights span:nth-child(2) {
    border-color: #c7dcf6;
    background: var(--his-sky);
    color: var(--his-blue);
}

.login-highlights span:nth-child(3) {
    border-color: #f6d9ae;
    background: var(--his-amber);
    color: #b45309;
}

.login-card {
    border-left: 1px solid var(--his-line);
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

.login-form h2 {
    color: #071735;
}

.login-form p,
.login-form label {
    color: #48627b;
}

.login-form input {
    border-color: #cbdde2;
    border-radius: 7px;
    background: #ffffff;
    color: #071735;
}

.login-form input:focus {
    outline: 2px solid rgba(0, 155, 134, .20);
    border-color: #009b86;
}

.login-form button,
.primary-setting-action,
.settings-workspace .primary-setting-action {
    border-color: #009b86;
    background: linear-gradient(180deg, #16a58f 0%, #008f85 100%);
    color: #ffffff;
}

.settings-workspace {
    height: calc(100vh - 64px);
    padding: 14px 18px 16px;
    background: var(--his-page-gradient);
    color: #071735;
}

.settings-workspace .settings-hero {
    min-height: 58px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--his-line);
    padding-bottom: 10px;
}

.settings-workspace .eyebrow {
    color: #009b86;
    font-weight: 900;
}

.settings-workspace .settings-hero h1,
.settings-section-head h2,
.staff-settings-page .staff-detail-head h2,
.permission-settings-page .control-permission-head h2,
.setting-placeholder-panel h2 {
    color: #071735;
}

.settings-workspace .settings-hero p:not(.eyebrow),
.settings-block-head span,
.system-setting-card small,
.sms-setting-form span,
.staff-settings-page .staff-detail-head p:not(.eyebrow),
.permission-settings-page .control-permission-head p:not(.eyebrow) {
    color: #48627b;
}

.secondary-setting-action,
.settings-workspace .secondary-setting-action,
.settings-block-head button,
.permission-settings-page .permission-template-bar button {
    border-color: #cbdde2;
    background: #ffffff;
    color: #008f85;
}

.secondary-setting-action:hover,
.settings-workspace .secondary-setting-action:hover,
.settings-block-head button:hover,
.permission-settings-page .permission-template-bar button:hover {
    border-color: #009b86;
    background: #eef9f7;
}

.settings-block,
.settings-panel,
.settings-sidebar,
.system-setting-card,
.sms-setting-card,
.permission-context-card,
.permission-template-bar,
.permission-stat {
    border-color: var(--his-line-strong);
    border-radius: 8px;
    background: rgba(255, 255, 255, .97);
    box-shadow: var(--his-clinical-shadow);
}

.system-setting-hub {
    max-width: none;
}

.system-setting-hub.is-active {
    align-content: start;
    grid-auto-rows: 168px;
}

.system-setting-card {
    min-height: 168px;
    height: 168px;
    background: var(--his-card-gradient);
}

.system-setting-card:nth-child(3n + 2) {
    background: linear-gradient(180deg, #ffffff 0%, var(--his-sky) 100%);
}

.system-setting-card:nth-child(3n + 3) {
    background: linear-gradient(180deg, #ffffff 0%, var(--his-violet) 100%);
}

.system-setting-card:nth-child(3n + 4) {
    background: linear-gradient(180deg, #ffffff 0%, var(--his-amber) 100%);
}

.system-setting-card::before,
.system-setting-card.is-primary::before,
.batch-upload-card::before {
    background: #009b86;
}

.system-setting-card.is-primary,
.staff-list-button.is-active,
.permission-entity-button.is-active,
.account-row.is-current,
.settings-nav-item.is-active {
    border-color: #8ccfca;
    background: #eef9f7;
    box-shadow: inset 4px 0 0 #009b86, 0 8px 18px rgba(7, 23, 53, .06);
}

.system-setting-card span,
.system-setting-card strong,
.sms-setting-card h2,
.settings-block-head h2,
.staff-list-button strong,
.permission-entity-button strong,
.permission-context-card strong,
.permission-stat strong {
    color: #071735;
}

.system-setting-card span,
.staff-list-button span,
.permission-entity-button span,
.account-row span {
    color: #009b86;
}

.sms-setting-card header {
    border-bottom-color: var(--his-line);
    background: linear-gradient(90deg, #ffffff 0%, var(--his-sky) 100%);
}

.sms-setting-badge.is-required {
    border-color: #8ccfca;
    background: #e6f8f5;
    color: #008f85;
}

.sms-setting-badge.is-optional {
    border-color: #cbdde2;
    background: #f7fafb;
    color: #48627b;
}

.sms-setting-form input,
.sms-setting-form textarea,
.staff-form-grid input,
.staff-form-grid select,
.staff-form-grid textarea,
.permission-settings-page .permission-template-bar select,
.settings-field-grid input,
.settings-field-grid select {
    border-color: #cbdde2;
    background: #ffffff;
    color: #071735;
}

.sms-setting-form input:focus,
.sms-setting-form textarea:focus,
.staff-form-grid input:focus,
.staff-form-grid select:focus,
.staff-form-grid textarea:focus,
.permission-settings-page .permission-template-bar select:focus {
    outline: 2px solid rgba(0, 155, 134, .20);
    border-color: #009b86;
}

.staff-status-pill,
.settings-save-status.is-saved {
    color: #008f85;
}

.permission-settings-workspace input[type="checkbox"] {
    accent-color: #009b86;
}

.permission-settings-page .control-permission-table th {
    background: #eef9f7;
    color: #008f85;
}

.permission-settings-page .control-permission-table td {
    color: #071735;
}

.setting-placeholder-panel .settings-block {
    display: grid;
    align-content: start;
    gap: 12px;
}

@media (max-width: 820px) {
    .login-card {
        border-left: 0;
        border-top: 1px solid #dce7ec;
    }

    .his-app-shell .topbar {
        min-height: auto;
        flex-wrap: wrap;
        gap: 10px;
        padding: 12px 16px;
    }

    .layout-brand {
        min-width: 100%;
    }
}

/* Laptop viewport tuning: keep the desktop look, but remove fixed-size pressure at 1366x768. */
@media (max-width: 1440px), (max-height: 800px) {
    .portal-screen {
        grid-template-rows: 74px minmax(0, 1fr) 42px;
    }

    .portal-header {
        gap: 18px;
        padding: 0 24px;
    }

    .portal-logo-mark {
        width: 44px;
        height: 44px;
        border-radius: 10px;
    }

    .portal-brand {
        grid-template-columns: 44px max-content;
        gap: 12px;
    }

    .portal-brand > div {
        min-height: 44px;
    }

    .portal-brand strong {
        font-size: 22px;
    }

    .portal-brand span:not(.portal-logo-mark) {
        font-size: 13px;
    }

    .portal-header-tools {
        gap: 16px;
    }

    .portal-date,
    .portal-user {
        font-size: 14px;
    }

    .portal-avatar {
        width: 38px;
        height: 38px;
        padding: 10px;
    }

    .portal-content {
        grid-template-rows: minmax(206px, 1fr) minmax(128px, .58fr);
        gap: 12px;
        padding: 12px 22px 10px;
    }

    .portal-card-grid {
        grid-template-rows: repeat(2, minmax(94px, 1fr));
        gap: 12px;
    }

    .portal-card {
        gap: 4px;
        border-radius: 10px;
        padding: 10px 34px 10px 14px;
    }

    .portal-card-icon {
        width: clamp(50px, 4.7vw, 72px);
        height: clamp(50px, 4.7vw, 72px);
        padding: clamp(13px, 1.25vw, 19px);
    }

    .portal-card strong {
        font-size: clamp(17px, 1.45vw, 22px);
    }

    .portal-card small {
        font-size: clamp(11px, .85vw, 14px);
    }

    .portal-card-arrow {
        right: 16px;
        font-size: 24px;
    }

    .portal-panel {
        border-radius: 10px;
    }

    .portal-panel header {
        min-height: 38px;
        padding: 0 18px;
    }

    .portal-panel h2 {
        font-size: 16px;
    }

    .portal-panel header button {
        font-size: 13px;
    }

    .portal-panel ul {
        padding: 0 18px;
    }

    .portal-panel li {
        min-height: 29px;
    }

    .portal-mini-icon,
    .notice-icon,
    .shield-icon {
        width: 20px;
        height: 20px;
    }

    .pending-panel li {
        grid-template-columns: 22px minmax(0, 1fr) 48px;
        gap: 10px;
    }

    .announcement-panel li {
        grid-template-columns: 22px 48px minmax(0, 1fr) 50px;
        gap: 8px;
    }

    .pending-panel li strong,
    .announcement-panel li strong,
    .pending-panel li b,
    .notice-pill,
    .announcement-panel time {
        font-size: 12px;
    }

    .portal-security-note {
        gap: 10px;
        padding: 0 24px;
        font-size: 12px;
    }

    .clinic-workbench {
        min-width: 0;
    }

    .registered-layout-body .clinic-workbench.clinic-soft-grid,
    .clinic-workbench.clinic-soft-grid {
        grid-template-rows: 34px 30px 54px minmax(0, 1fr) 112px 82px;
    }

    .workbench-status,
    .registered-layout-body .clinic-soft-grid .workbench-status {
        height: 34px;
        font-size: 13px;
    }

    .workbench-brand,
    .workbench-metrics {
        gap: 8px;
    }

    .doctor-card-status-button {
        min-height: 24px;
        padding: 0 8px;
        font-size: 12px;
    }

    .workbench-tabs {
        height: 30px;
        font-size: 13px;
    }

    .workbench-tabs span {
        height: 24px;
        padding: 0 8px;
    }

    .workbench-toolbar,
    .registered-layout-body .clinic-soft-grid .workbench-toolbar {
        height: 54px;
        gap: 6px;
        padding: 7px 10px;
        overflow: hidden;
    }

    .toolbar-check,
    .toolbar-label,
    .toolbar-field span {
        font-size: 17px;
    }

    .toolbar-label,
    .toolbar-field span {
        margin-left: 8px;
    }

    .workbench-toolbar > button,
    .toolbar-segments button,
    .toolbar-field select,
    .toolbar-field.search input,
    .toolbar-date {
        height: 34px;
        font-size: 17px;
    }

    .toolbar-date {
        width: 150px;
    }

    .toolbar-segments button {
        min-width: 58px;
        padding: 0 8px;
    }

    .toolbar-field select {
        width: 132px;
    }

    .toolbar-field.search input {
        width: 190px;
    }

    .registration-sheet th {
        height: 29px;
        font-size: 18px;
        line-height: 29px;
    }

    .registration-sheet td {
        font-size: 24px;
        line-height: 34px;
    }

    .registration-sheet tbody tr {
        height: 34px;
    }

    .registered-layout-body .clinic-soft-grid .summary-dock {
        grid-template-rows: minmax(0, 58px) 28px;
        padding: 6px 10px;
    }

    .registered-layout-body .clinic-soft-grid .screening-row {
        gap: 5px 18px;
    }

    .registered-layout-body .clinic-soft-grid .screening-row label {
        grid-template-columns: 48px 1fr 48px;
        font-size: 17px;
    }

    .registered-layout-body .clinic-soft-grid .screening-row input,
    .registered-layout-body .clinic-soft-grid .screening-row span {
        height: 25px;
    }

    .registered-layout-body .clinic-soft-grid .dock-side-actions button {
        height: 28px;
        font-size: 16px;
    }

    .registered-layout-body .clinic-soft-grid .summary-counts {
        gap: 16px;
        font-size: 16px;
    }

    .registered-layout-body .clinic-soft-grid .command-dock {
        grid-template-rows: 1fr;
    }

    .registered-layout-body .clinic-soft-grid .command-row {
        gap: 4px;
        padding: 3px 8px;
    }

    .command-dock button {
        height: 38px;
        min-width: 76px;
        padding: 0 9px;
        font-size: 18px;
    }

    .command-row.secondary button,
    .registered-layout-body .clinic-soft-grid .command-row.secondary button {
        height: 28px;
        min-width: 84px;
        font-size: 15px;
    }

    .waiting-count {
        gap: 8px;
        margin-left: 6px;
        font-size: 18px;
    }

    .waiting-count b {
        font-size: 24px;
    }

    .workbench-clock {
        margin-left: 18px;
        font-size: 22px;
    }

    .health-card-status {
        padding: 3px 8px;
        font-size: 14px;
    }

    .outpatient-screen {
        grid-template-rows: 34px 28px 42px minmax(0, 1fr) 92px 66px;
    }

    .outpatient-titlebar {
        gap: 10px;
        padding: 0 12px;
    }

    .outpatient-brand,
    .outpatient-version {
        gap: 8px;
    }

    .clinic-logo {
        width: 24px;
        height: 24px;
        font-size: 14px;
    }

    .outpatient-brand strong {
        font-size: 17px;
    }

    .outpatient-brand span:not(.clinic-logo),
    .outpatient-version span {
        font-size: 12px;
    }

    .outpatient-menu {
        gap: 12px;
        padding: 0 12px;
        font-size: 12px;
        overflow: hidden;
    }

    .outpatient-toolbar {
        grid-template-columns: minmax(188px, .95fr) minmax(224px, 1fr) minmax(128px, .62fr) minmax(170px, 1fr) 30px;
        gap: 8px;
        padding: 6px 10px;
    }

    .outpatient-toolbar span {
        font-size: 15px;
    }

    .outpatient-toolbar input,
    .outpatient-toolbar select,
    .outpatient-toolbar button,
    .help-button {
        min-height: 30px;
        font-size: 14px;
    }

    .outpatient-date input {
        width: 124px;
        flex-basis: 92px;
    }

    .outpatient-date button {
        width: 30px;
        flex-basis: 30px;
        font-size: 22px;
    }

    .outpatient-session button {
        padding: 0 7px;
    }

    .outpatient-search select {
        flex-basis: 82px;
    }

    .outpatient-search input {
        flex-basis: 84px;
    }

    .outpatient-grid th,
    .outpatient-grid td {
        font-size: 15px;
    }

    .screening-panel {
        grid-template-rows: 54px 22px;
        gap: 5px 10px;
        padding: 5px 12px;
    }

    .screening-fields {
        gap: 3px 10px;
    }

    .screening-fields label,
    .outpatient-counts {
        font-size: 14px;
    }

    .screening-fields label {
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        gap: 4px;
    }

    .screening-fields input,
    .screening-fields b {
        min-height: 24px;
    }

    .screening-actions {
        gap: 4px;
    }

    .screening-actions button {
        min-height: 24px;
        font-size: 13px;
    }

    .outpatient-counts {
        min-height: 22px;
        gap: 14px;
    }

    .outpatient-command-bar {
        gap: 10px;
        padding: 5px 12px 10px;
    }

    .outpatient-buttons {
        gap: 4px;
    }

    .outpatient-buttons button {
        min-height: 34px;
        min-width: 58px;
        padding: 0 5px;
        font-size: 15px;
    }

    .outpatient-clock {
        grid-template-columns: 34px 34px;
        gap: 3px 5px;
        font-size: 16px;
    }

    .outpatient-clock span {
        min-height: 22px;
        font-size: 13px;
    }

    .outpatient-clock b {
        font-size: 16px;
    }

    .soap-screen {
        grid-template-rows: 36px 40px 42px 34px minmax(0, 1fr);
        padding: 6px 10px 10px;
    }

    .soap-patient-bar {
        grid-template-columns: 120px auto auto auto auto minmax(180px, 1fr) 120px 145px;
        gap: 8px;
        font-size: 13px;
    }

    .soap-brand strong {
        font-size: 17px;
    }

    .soap-vitals-row {
        grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
        gap: 6px;
    }

    .soap-vitals-row label {
        grid-template-columns: 46px minmax(0, 1fr);
        min-height: 30px;
    }

    .soap-vitals-row span,
    .soap-vitals-row input {
        padding: 0 6px;
        font-size: 13px;
    }

    .soap-chart-toolbar,
    .soap-alert-strip {
        gap: 5px;
    }

    .soap-chart-toolbar strong,
    .soap-chart-toolbar button,
    .soap-alert-strip button,
    .soap-alert-strip span,
    .soap-alert-strip b {
        min-height: 30px;
        font-size: 13px;
    }

    .soap-chart-toolbar button,
    .soap-alert-strip button {
        padding: 0 8px;
    }

    .soap-chart-toolbar .chart-number,
    .soap-chart-toolbar .patient-name {
        width: 116px;
        font-size: 18px;
    }

    .soap-chart-toolbar .insurance-warning {
        width: 92px;
        font-size: 16px;
    }

    .soap-mini-tabs button {
        min-width: 34px;
    }

    .soap-alert-strip span,
    .soap-alert-strip b {
        width: 34px;
    }

    .soap-alert-strip strong {
        min-height: 30px;
        padding: 0 16px;
        font-size: 13px;
    }

    .soap-main-grid {
        grid-template-columns: minmax(0, 1.3fr) minmax(330px, .88fr);
        gap: 8px;
    }

    .soap-left-panel {
        grid-template-rows: 28px 136px 104px minmax(0, 1fr);
    }

    .soap-right-panel {
        grid-template-rows: 246px minmax(0, 1fr);
    }

    .soap-note-box,
    .history-note {
        padding: 7px 10px;
        font-size: 13px;
        line-height: 1.45;
    }

    .diagnosis-table th,
    .diagnosis-table td,
    .drug-table th,
    .drug-table td {
        padding: 5px 6px;
        font-size: 13px;
    }

    .history-query-panel,
    .visit-history-list {
        padding: 8px;
    }

    .history-note {
        min-height: 148px;
    }

    .visit-history-list {
        grid-template-rows: 32px repeat(6, 34px) minmax(0, 1fr);
    }

    .visit-history-list button {
        grid-template-columns: minmax(0, 1fr) 112px;
        font-size: 12px;
    }

    .registration-entry-card {
        width: min(1500px, calc(100vw - 16px));
        height: min(760px, calc(100vh - 16px));
    }

    #visitRegistrationForm {
        grid-template-rows: 40px 104px 86px 58px 50px minmax(0, 1fr) 44px;
    }

    .registration-window-title,
    .registration-entry-card > header {
        min-height: 40px;
    }

    .registration-entry-profile {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.42fr) minmax(0, 1.12fr) minmax(0, 1.24fr) minmax(0, 1.24fr);
        grid-template-rows: 40px 40px;
        gap: 5px 16px;
        padding: 7px 14px;
    }

    .registration-entry-id {
        grid-template-rows: 28px 38px;
        gap: 6px;
    }

    .registration-entry-id strong {
        font-size: 24px;
    }

    .registration-entry-id span {
        font-size: 18px;
    }

    .registration-age {
        grid-template-columns: 86px minmax(0, 1fr);
        gap: 10px;
    }

    .registration-age strong {
        font-size: 18px;
    }

    .registration-entry-grid {
        grid-template-columns: minmax(0, 1.55fr) minmax(0, .54fr) minmax(0, .44fr) minmax(0, .6fr) minmax(0, .68fr) minmax(0, .52fr) minmax(0, .46fr) minmax(0, .56fr) minmax(0, .64fr) minmax(0, .68fr) minmax(0, 1.12fr) minmax(0, .72fr) minmax(0, .66fr) minmax(0, .7fr) minmax(0, .7fr) minmax(0, .66fr);
        gap: 5px;
        padding: 9px 10px;
    }

    .registration-entry-grid label {
        grid-template-rows: 18px 32px;
        gap: 5px;
    }

    .registration-entry-profile input,
    .registration-entry-grid input,
    .registration-entry-grid select,
    .registration-entry-vitals input {
        height: 32px;
        font-size: 16px;
    }

    .registration-entry-grid span,
    .registration-entry-vitals span,
    .registration-entry-profile label span,
    .registration-age span {
        font-size: 17px;
    }

    .registration-entry-help {
        padding: 6px 14px;
        font-size: 14px;
        line-height: 1.35;
    }

    .registration-entry-actions {
        padding: 5px 14px;
    }

    .registration-entry-actions button {
        min-height: 32px;
        font-size: 16px;
    }

    .registration-entry-vitals {
        padding: 6px 14px;
    }

    .registration-entry-lower {
        grid-template-columns: minmax(0, 1.05fr) 38px minmax(0, .95fr);
        gap: 8px;
        padding: 5px 10px 8px;
    }

    .registration-entry-history th,
    .registration-entry-history td {
        height: 30px;
        padding: 3px 4px;
        font-size: 13px;
        font-weight: 800;
    }

    .history-side-label {
        left: -38px;
        width: 38px;
        font-size: 14px;
    }
}

@media (max-height: 720px) {
    .portal-bottom-grid {
        display: none;
    }

    .portal-content {
        grid-template-rows: minmax(0, 1fr);
    }

    .portal-card-grid {
        grid-template-rows: repeat(2, minmax(84px, 1fr));
    }

    .portal-card-icon {
        width: 48px;
        height: 48px;
        padding: 13px;
    }

    .registered-layout-body .clinic-workbench.clinic-soft-grid,
    .clinic-workbench.clinic-soft-grid {
        grid-template-rows: 32px 28px 48px minmax(0, 1fr) 92px 72px;
    }

    .registered-layout-body .clinic-soft-grid .summary-dock {
        grid-template-rows: minmax(0, 44px) 24px;
    }

    .registered-layout-body .clinic-soft-grid .command-dock {
        grid-template-rows: 40px 30px;
    }
}

@media (max-height: 620px) {
    .portal-screen {
        grid-template-rows: 58px minmax(0, 1fr) 30px;
    }

    .portal-header {
        padding: 0 16px;
    }

    .portal-logo-mark {
        width: 36px;
        height: 36px;
    }

    .portal-brand {
        grid-template-columns: 36px max-content;
        gap: 10px;
    }

    .portal-brand > div {
        min-height: 36px;
    }

    .portal-brand strong {
        font-size: 19px;
    }

    .portal-brand span:not(.portal-logo-mark) {
        margin-top: 1px;
        font-size: 11px;
    }

    .portal-date,
    .portal-user {
        font-size: 12px;
    }

    .portal-bell {
        width: 34px;
        height: 34px;
    }

    .portal-avatar {
        width: 32px;
        height: 32px;
        padding: 8px;
    }

    .portal-content {
        padding: 8px 16px 8px;
    }

    .portal-card-grid {
        grid-template-rows: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .portal-card {
        gap: 2px;
        border-radius: 8px;
        padding: 8px 28px 8px 10px;
    }

    .portal-card-icon {
        width: 40px;
        height: 40px;
        padding: 11px;
    }

    .portal-card strong {
        font-size: 16px;
    }

    .portal-card small {
        font-size: 10px;
    }

    .portal-card-arrow {
        right: 12px;
        font-size: 20px;
    }

    .portal-security-note {
        gap: 8px;
        padding: 0 18px;
        font-size: 11px;
    }

    .registered-layout-body .clinic-workbench.clinic-soft-grid,
    .clinic-workbench.clinic-soft-grid {
        grid-template-rows: 28px 0 40px minmax(0, 1fr) 74px 58px;
    }

    .registered-layout-body .clinic-soft-grid .workbench-tabs,
    .clinic-soft-grid .workbench-tabs {
        height: 0;
        overflow: hidden;
        border: 0;
    }

    .workbench-logo {
        width: 22px;
        height: 22px;
        border-radius: 6px;
    }

    .workbench-status,
    .registered-layout-body .clinic-soft-grid .workbench-status {
        height: 28px;
        font-size: 12px;
    }

    .workbench-metrics span:nth-child(1),
    .workbench-metrics span:nth-child(4) {
        display: none;
    }

    .workbench-toolbar,
    .registered-layout-body .clinic-soft-grid .workbench-toolbar {
        height: 40px;
        padding: 4px 8px;
    }

    .toolbar-check,
    .toolbar-label,
    .toolbar-field span {
        font-size: 14px;
    }

    .workbench-toolbar > button,
    .toolbar-segments button,
    .toolbar-field select,
    .toolbar-field.search input,
    .toolbar-date {
        height: 30px;
        font-size: 14px;
    }

    .toolbar-date {
        width: 138px;
        padding: 0 8px;
    }

    .toolbar-segments button {
        min-width: 48px;
        padding: 0 6px;
    }

    .toolbar-field select {
        width: 104px;
    }

    .toolbar-field.search input {
        width: 150px;
    }

    .registration-sheet th {
        height: 24px;
        font-size: 15px;
        line-height: 24px;
    }

    .registration-sheet td {
        font-size: 20px;
        line-height: 28px;
    }

    .registration-sheet tbody tr {
        height: 28px;
    }

    .registered-layout-body .clinic-soft-grid .summary-dock {
        grid-template-columns: minmax(0, 1fr) 88px;
        grid-template-rows: 44px 20px;
        gap: 3px 8px;
        padding: 4px 8px;
    }

    .registered-layout-body .clinic-soft-grid .screening-row {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-column: 1;
        grid-row: 1;
        gap: 3px 8px;
    }

    .registered-layout-body .clinic-soft-grid .screening-row label {
        grid-template-columns: 34px minmax(0, 1fr) 30px;
        gap: 2px;
        font-size: 11px;
    }

    .registered-layout-body .clinic-soft-grid .screening-row input,
    .registered-layout-body .clinic-soft-grid .screening-row span {
        height: 18px;
    }

    .registered-layout-body .clinic-soft-grid .dock-side-actions button {
        height: 24px;
        font-size: 13px;
    }

    .registered-layout-body .clinic-soft-grid .summary-counts {
        grid-column: 1;
        grid-row: 2;
        gap: 10px;
        font-size: 13px;
        align-self: end;
    }

    .registered-layout-body .clinic-soft-grid .dock-side-actions {
        grid-column: 2;
        grid-row: 1 / -1;
        gap: 4px;
        align-content: center;
    }

    .registered-layout-body .clinic-soft-grid .summary-counts span:nth-child(n + 5):nth-child(-n + 7) {
        display: none;
    }

    .registered-layout-body .clinic-soft-grid .command-dock {
        grid-template-rows: 1fr;
    }

    .command-dock button {
        height: 30px;
        min-width: 56px;
        padding: 0 5px;
        font-size: 12px;
    }

    .command-row.secondary button,
    .registered-layout-body .clinic-soft-grid .command-row.secondary button {
        height: 22px;
        min-width: 72px;
        font-size: 12px;
    }

    .waiting-count {
        font-size: 14px;
    }

    .waiting-count b {
        font-size: 18px;
    }

    .workbench-clock {
        margin-left: 10px;
        font-size: 17px;
    }

    .health-card-status {
        padding: 2px 6px;
        font-size: 12px;
    }

    .outpatient-screen {
        grid-template-rows: 26px 0 28px minmax(0, 1fr) 62px 44px;
    }

    .outpatient-menu {
        height: 0;
        padding: 0;
        overflow: hidden;
        border: 0;
    }

    .outpatient-titlebar {
        gap: 6px;
        padding: 0 8px;
    }

    .outpatient-version span:nth-child(n + 2):nth-child(-n + 4) {
        display: none;
    }

    .outpatient-toolbar {
        grid-template-columns: minmax(142px, .95fr) minmax(158px, 1fr) minmax(82px, .52fr) minmax(104px, 1fr) 24px;
        gap: 4px;
        padding: 2px 6px;
    }

    .outpatient-toolbar span {
        font-size: 12px;
    }

    .outpatient-toolbar input,
    .outpatient-toolbar select,
    .outpatient-toolbar button,
    .help-button {
        min-height: 22px;
        font-size: 11px;
    }

    .outpatient-date {
        gap: 3px;
    }

    .outpatient-date input {
        width: 82px;
        flex-basis: 72px;
        padding: 0 5px;
    }

    .outpatient-date button {
        width: 22px;
        flex-basis: 22px;
        font-size: 18px;
    }

    .outpatient-session {
        gap: 3px;
    }

    .outpatient-session button {
        padding: 0 3px;
    }

    .outpatient-search {
        gap: 3px;
    }

    .outpatient-search select {
        flex-basis: 58px;
        padding: 0 3px;
    }

    .outpatient-search input {
        flex-basis: 52px;
        padding: 0 4px;
    }

    .help-button {
        width: 24px;
    }

    .outpatient-table-frame {
        margin: 0 8px;
    }

    .outpatient-grid th {
        height: 24px;
    }

    .outpatient-grid th,
    .outpatient-grid td {
        font-size: 11px;
    }

    .outpatient-empty-row td {
        height: 21px;
    }

    .screening-panel {
        grid-template-columns: minmax(0, 1fr) 64px;
        grid-template-rows: 42px 16px;
        gap: 2px 6px;
        padding: 2px 8px;
    }

    .screening-fields {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 3px 8px;
    }

    .screening-fields label,
    .outpatient-counts {
        font-size: 10px;
    }

    .screening-fields label {
        grid-template-columns: 28px minmax(0, 1fr) 26px;
        gap: 2px;
    }

    .screening-fields input,
    .screening-fields b {
        min-height: 18px;
    }

    .screening-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2px;
    }

    .screening-actions button {
        min-height: 20px;
        font-size: 10px;
    }

    .outpatient-counts {
        min-height: 16px;
        gap: 7px;
    }

    .outpatient-counts span:nth-child(n + 5):nth-child(-n + 8) {
        display: none;
    }

    .outpatient-command-bar {
        gap: 6px;
        padding: 3px 8px 5px;
    }

    .outpatient-command-bar strong {
        font-size: 13px;
    }

    .outpatient-command-bar > strong b {
        margin-left: 5px;
    }

    .outpatient-buttons {
        gap: 4px;
    }

    .outpatient-buttons button {
        min-height: 26px;
        min-width: 42px;
        padding: 0 2px;
        font-size: 10px;
    }

    .outpatient-clock {
        grid-template-columns: 22px 22px;
        gap: 2px 4px;
        font-size: 12px;
    }

    .outpatient-clock span {
        min-height: 14px;
        font-size: 9px;
    }

    .outpatient-clock b {
        font-size: 13px;
    }

    .soap-screen {
        grid-template-rows: 30px 34px 36px 0 minmax(0, 1fr);
        padding: 4px 8px 8px;
    }

    .soap-patient-bar {
        grid-template-columns: 108px auto auto auto minmax(140px, 1fr) 108px 126px;
        gap: 6px;
        font-size: 12px;
    }

    .soap-patient-bar span:nth-of-type(3) {
        display: none;
    }

    .soap-vitals-row {
        grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
        gap: 4px;
    }

    .soap-vitals-row label {
        grid-template-columns: 38px minmax(0, 1fr);
        min-height: 26px;
    }

    .soap-vitals-row span,
    .soap-vitals-row input {
        font-size: 11px;
    }

    .soap-chart-toolbar strong,
    .soap-chart-toolbar button,
    .soap-alert-strip button,
    .soap-alert-strip span,
    .soap-alert-strip b {
        min-height: 26px;
        font-size: 11px;
    }

    .soap-chart-toolbar .chart-number,
    .soap-chart-toolbar .patient-name {
        width: 96px;
        font-size: 15px;
    }

    .soap-chart-toolbar .insurance-warning {
        width: 76px;
        font-size: 13px;
    }

    .soap-alert-strip {
        height: 0;
        min-height: 0;
        overflow: hidden;
    }

    .soap-main-grid {
        grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr);
    }

    .soap-left-panel {
        grid-template-rows: 24px 104px 82px minmax(0, 1fr);
    }

    .soap-right-panel {
        grid-template-rows: 190px minmax(0, 1fr);
    }

    .soap-sign-row {
        grid-template-columns: 70px 160px 58px minmax(0, 1fr);
        gap: 6px;
        font-size: 12px;
    }

    .soap-note-box,
    .history-note {
        padding: 5px 8px;
        font-size: 11px;
        line-height: 1.35;
    }

    .diagnosis-table th,
    .diagnosis-table td,
    .drug-table th,
    .drug-table td {
        padding: 3px 4px;
        font-size: 11px;
    }

    .history-query-panel,
    .visit-history-list {
        padding: 6px;
    }

    .history-note {
        min-height: 112px;
    }

    .history-tabs button {
        min-height: 26px;
        min-width: 46px;
        font-size: 11px;
    }

    .history-tabs {
        margin-bottom: 6px;
    }

    .visit-history-list {
        grid-template-rows: 28px repeat(6, 27px) minmax(0, 1fr);
    }

    .visit-history-list button {
        grid-template-columns: minmax(0, 1fr) 92px;
        font-size: 10px;
    }

    .registration-entry-modal {
        align-items: stretch;
        padding: 5px;
    }

    .registration-entry-card {
        width: calc(100vw - 10px);
        height: calc(100vh - 10px);
        overflow: hidden;
    }

    #visitRegistrationForm {
        grid-template-rows: 30px 64px 58px 30px 26px minmax(0, 1fr) 34px;
    }

    .registration-entry-grid {
        grid-template-columns: minmax(0, 1.5fr) minmax(0, .5fr) minmax(0, .4fr) minmax(0, .56fr) minmax(0, .62fr) minmax(0, .48fr) minmax(0, .42fr) minmax(0, .52fr) minmax(0, .58fr) minmax(0, .62fr) minmax(0, 1fr) minmax(0, .64fr) minmax(0, .58fr) minmax(0, .62fr) minmax(0, .62fr) minmax(0, .58fr);
        gap: 3px;
        padding: 5px 6px;
    }

    .registration-entry-profile {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.42fr) minmax(0, 1.12fr) minmax(0, 1.24fr) minmax(0, 1.24fr);
        grid-template-rows: 25px 25px;
        gap: 2px 8px;
        padding: 4px 8px;
    }

    .registration-entry-profile label {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 4px;
    }

    .registration-entry-profile .registration-address {
        grid-row: 2;
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .registration-entry-id {
        grid-template-rows: 19px 25px;
        gap: 3px;
    }

    .registration-entry-id strong,
    .registration-age strong {
        font-size: 16px;
    }

    .registration-entry-id span,
    .registration-entry-profile label span,
    .registration-age span {
        font-size: 12px;
    }

    .registration-entry-profile input {
        height: 23px;
        padding: 0 6px;
        font-size: 12px;
    }

    .registration-age {
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 4px;
    }

    .registration-entry-grid {
        gap: 4px;
        padding: 5px 6px;
    }

    .registration-entry-grid label {
        grid-template-rows: 14px 24px;
        gap: 3px;
    }

    .registration-entry-profile input,
    .registration-entry-grid input,
    .registration-entry-grid select,
    .registration-entry-vitals input {
        height: 24px;
        font-size: 12px;
    }

    .registration-entry-grid span,
    .registration-entry-vitals span,
    .registration-entry-profile label span,
    .registration-age span {
        font-size: 13px;
    }

    .registration-entry-profile input {
        height: 23px;
        padding: 0 6px;
        font-size: 12px;
    }

    .registration-entry-profile label span,
    .registration-age span {
        font-size: 12px;
        line-height: normal;
    }

    .registration-age {
        max-height: none;
    }

    .registration-entry-help {
        min-height: 0;
        padding: 4px 10px;
        font-size: 11px;
        line-height: 1.25;
    }

    .registration-entry-help p:nth-child(n + 2) {
        display: none;
    }

    .registration-entry-vitals {
        padding: 4px 10px;
        gap: 3px;
    }

    .registration-entry-actions {
        gap: 6px;
        padding: 3px 8px;
    }

    .registration-entry-actions button {
        min-width: 72px;
        min-height: 26px;
        font-size: 12px;
    }

    .registration-entry-lower {
        grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
        gap: 6px;
        padding: 4px 6px 6px;
    }

    .registration-entry-note {
        grid-template-rows: 30px minmax(0, 1fr);
        min-height: 0;
    }

    .registration-entry-note header {
        grid-template-columns: minmax(0, 1fr) 30px 30px 30px 30px;
        gap: 4px;
        padding: 3px 6px;
    }

    .registration-entry-note header label {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 5px;
    }

    .registration-entry-note header span,
    .registration-entry-note header input,
    .registration-entry-note header button {
        font-size: 12px;
    }

    .registration-entry-note header input,
    .registration-entry-note header button {
        height: 22px;
    }

    .registration-entry-note textarea {
        padding: 6px;
        font-size: 12px;
        line-height: 1.3;
    }

    .registration-entry-history {
        grid-column: auto;
    }

    .registration-entry-history th,
    .registration-entry-history td {
        height: 22px;
        padding: 2px 3px;
        font-size: 10px;
        font-weight: 800;
    }

    .history-side-label {
        display: none;
    }
}

/* Final Outpatient/Registered layout sync overrides. */
.outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
    grid-template-rows: 38px 34px 64px minmax(0, 1fr) 126px 96px;
}

@media (max-width: 1440px), (max-height: 800px) {
    .outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
        grid-template-rows: 34px 30px 54px minmax(0, 1fr) 112px 82px;
    }

    .outpatient-body .outpatient-toolbar.workbench-toolbar {
        height: 54px;
        display: flex;
        grid-template-columns: none;
        gap: 6px;
        padding: 7px 12px;
    }

    .outpatient-body .screening-panel.summary-dock {
        grid-template-rows: minmax(0, 58px) 28px;
        padding: 6px 10px;
    }

    .outpatient-body .outpatient-buttons.command-row.primary {
        gap: 4px;
        padding: 3px 8px;
    }

    .outpatient-body .outpatient-buttons button {
        height: 38px;
        min-width: 76px;
        padding: 0 9px;
        font-size: 18px;
    }
}

@media (max-height: 720px) {
    .outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
        grid-template-rows: 32px 28px 48px minmax(0, 1fr) 92px 72px;
    }

    .outpatient-body .screening-panel.summary-dock {
        grid-template-rows: minmax(0, 44px) 24px;
    }
}

@media (max-height: 620px) {
    .outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
        grid-template-rows: 28px 0 40px minmax(0, 1fr) 74px 58px;
    }

    .outpatient-body .outpatient-menu.workbench-tabs {
        height: 0;
        padding: 0;
        overflow: hidden;
        border: 0;
    }

    .outpatient-body .outpatient-toolbar.workbench-toolbar {
        height: 40px;
        display: flex;
        grid-template-columns: none;
        gap: 4px;
        padding: 4px 8px;
    }

    .outpatient-body .screening-panel.summary-dock {
        grid-template-columns: minmax(0, 1fr) 88px;
        grid-template-rows: 44px 20px;
        gap: 3px 8px;
        padding: 4px 8px;
    }

    .outpatient-body .screening-fields.screening-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-column: 1;
        grid-row: 1;
        gap: 3px 8px;
    }

    .outpatient-body .screening-fields.screening-row label {
        grid-template-columns: 34px minmax(0, 1fr) 30px;
        gap: 2px;
        font-size: 11px;
    }

    .outpatient-body .screening-fields.screening-row input,
    .outpatient-body .screening-fields.screening-row span {
        height: 18px;
    }

    .outpatient-body .screening-actions.dock-side-actions {
        grid-column: 2;
        grid-row: 1 / -1;
        gap: 4px;
        align-content: center;
    }

    .outpatient-body .screening-actions.dock-side-actions button {
        height: 24px;
        font-size: 13px;
    }

    .outpatient-body .outpatient-counts.summary-counts {
        grid-column: 1;
        grid-row: 2;
        gap: 10px;
        font-size: 13px;
        align-self: end;
    }

    .outpatient-body .outpatient-buttons.command-row.primary {
        gap: 4px;
        padding: 3px 8px;
    }

    .outpatient-body .outpatient-buttons button {
        height: 30px;
        min-width: 56px;
        padding: 0 5px;
        font-size: 12px;
    }
}






















/* Outpatient toolbar viewport guard - keep this at the end of the file. */
.outpatient-body .outpatient-screen.clinic-workbench.clinic-soft-grid {
    min-width: 0;
    width: 100vw;
    max-width: 100vw;
}

.outpatient-body .outpatient-toolbar.workbench-toolbar {
    min-width: 0;
    display: grid;
    grid-template-columns:
        minmax(218px, .9fr)
        minmax(252px, 1fr)
        minmax(128px, .48fr)
        minmax(254px, 1.1fr)
        34px;
    align-items: center;
    gap: 8px;
    overflow: hidden;
}

.outpatient-body .outpatient-toolbar label,
.outpatient-body .outpatient-session {
    min-width: 0;
}

.outpatient-body .outpatient-toolbar span {
    min-width: 0;
    overflow: hidden;
    text-overflow: clip;
}

.outpatient-body .outpatient-date input {
    width: auto;
    flex: 1 1 112px;
    min-width: 0;
}

.outpatient-body .outpatient-date button {
    flex: 0 0 32px;
    width: 32px;
    padding: 0;
}

.outpatient-body .outpatient-session button {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 7px;
}

.outpatient-body .outpatient-select select {
    width: auto;
    flex: 1 1 0;
    min-width: 0;
}

.outpatient-body .outpatient-search select {
    flex: 0 1 88px;
    min-width: 0;
}

.outpatient-body .outpatient-search input {
    flex: 1 1 118px;
    min-width: 0;
}

.outpatient-body .help-button {
    width: 34px;
    min-width: 0;
    padding: 0;
}

@media (max-width: 1080px), (max-height: 720px) {
    .outpatient-body .outpatient-toolbar.workbench-toolbar {
        grid-template-columns:
            minmax(190px, .86fr)
            minmax(214px, .95fr)
            minmax(108px, .42fr)
            minmax(198px, 1fr)
            30px;
        gap: 5px;
        padding-inline: 8px;
    }

    .outpatient-body .outpatient-toolbar label,
    .outpatient-body .outpatient-session {
        gap: 4px;
    }

    .outpatient-body .outpatient-toolbar span {
        font-size: 14px;
    }

    .outpatient-body .outpatient-toolbar input,
    .outpatient-body .outpatient-toolbar select,
    .outpatient-body .outpatient-toolbar button,
    .outpatient-body .help-button {
        min-height: 30px;
        font-size: 14px;
    }

    .outpatient-body .outpatient-date button {
        flex-basis: 28px;
        width: 28px;
    }

    .outpatient-body .outpatient-session button {
        padding: 0 4px;
    }

    .outpatient-body .outpatient-search select {
        flex-basis: 70px;
    }

    .outpatient-body .outpatient-search input {
        flex-basis: 92px;
    }

    .outpatient-body .help-button {
        width: 30px;
    }
}

@media (max-width: 860px) {
    .outpatient-body .outpatient-toolbar.workbench-toolbar {
        grid-template-columns:
            minmax(162px, .82fr)
            minmax(178px, .92fr)
            minmax(76px, .34fr)
            minmax(144px, 1fr)
            26px;
        gap: 4px;
        padding-inline: 5px;
    }

    .outpatient-body .outpatient-toolbar span {
        font-size: 12px;
    }

    .outpatient-body .outpatient-toolbar input,
    .outpatient-body .outpatient-toolbar select,
    .outpatient-body .outpatient-toolbar button,
    .outpatient-body .help-button {
        min-height: 26px;
        padding-inline: 4px;
        font-size: 12px;
    }

    .outpatient-body .outpatient-date button {
        flex-basis: 24px;
        width: 24px;
    }

    .outpatient-body .outpatient-search select {
        flex-basis: 54px;
    }

    .outpatient-body .help-button {
        width: 26px;
    }
}

/* Outpatient titlebar final alignment guard. */
.outpatient-body .outpatient-titlebar.workbench-status {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    justify-content: stretch;
    gap: 10px;
    padding: 0 12px;
}

.outpatient-body .outpatient-titlebar .outpatient-brand {
    min-width: 0;
    justify-self: start;
    justify-content: flex-start;
    gap: 8px;
}

.outpatient-body .outpatient-brand .clinic-logo,
.outpatient-body .outpatient-brand strong {
    flex: 0 0 auto;
}

.outpatient-body .outpatient-brand span:not(.clinic-logo) {
    flex: 1 1 auto;
    max-width: none;
    overflow: hidden;
    text-overflow: clip;
}

.outpatient-body .outpatient-titlebar .outpatient-version {
    min-width: 0;
    justify-self: end;
}

.outpatient-body .outpatient-version span {
    overflow: hidden;
    text-overflow: clip;
}

@media (max-width: 1120px), (max-height: 620px) {
    .outpatient-body .outpatient-brand span:not(.clinic-logo) {
        display: none;
    }
}

/* SOAP reference layout. */
.soap-reference-body {
    overflow: hidden;
    background: #eef5f6;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.soap-reference-screen {
    --soap-teal: #087e85;
    --soap-teal-dark: #055f67;
    --soap-blue: #2868a8;
    --soap-coral: #d64535;
    --soap-line: #ccdae1;
    --soap-line-strong: #9fbfc8;
    --soap-soft: #e8f5f5;
    --soap-soft-blue: #edf5fb;
    --soap-panel: #ffffff;
    --soap-panel-muted: #f7fafb;
    --soap-ink: #102136;
    --soap-muted: #566b7c;
    width: 100vw;
    height: 100vh;
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(680px, 1.45fr) minmax(360px, .72fr);
    grid-template-rows: minmax(34px, auto) 42px 46px minmax(40px, auto) minmax(0, 1fr);
    gap: 5px;
    padding: 8px 10px 10px;
    overflow: hidden;
    background: #eef5f6;
    color: var(--soap-ink);
}

.soap-reference-screen.has-soap-tray {
    grid-template-columns: minmax(520px, 1fr) minmax(380px, 460px) minmax(320px, .72fr);
}

.soap-reference-screen .soap-patient-bar,
.soap-reference-screen .soap-vitals-row,
.soap-reference-screen .soap-chart-toolbar {
    grid-column: 1 / -1;
}

.soap-reference-screen button,
.soap-reference-screen input,
.soap-reference-screen select {
    font: inherit;
}

.soap-reference-screen .soap-patient-bar {
    min-width: 0;
    min-height: 34px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    gap: 4px 10px;
    padding: 3px 8px;
    border: 1px solid var(--soap-line);
    border-radius: 6px;
    background: var(--soap-panel);
    color: var(--soap-muted);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.2;
    white-space: normal;
}

.soap-reference-screen .soap-patient-bar > strong,
.soap-reference-screen .soap-patient-bar > span,
.soap-reference-screen .soap-patient-bar > b {
    min-width: 0;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    border-left: 1px solid #dbe8ec;
    white-space: nowrap;
}

.soap-reference-screen .soap-patient-bar strong {
    flex: 0 0 auto;
    padding-left: 0;
    border-left: 0;
    color: var(--soap-teal-dark);
    font-size: 16px;
}

.soap-reference-screen .soap-patient-bar > span:not(.soap-address) {
    flex: 0 0 auto;
}

.soap-reference-screen .soap-patient-bar b {
    flex: 0 0 auto;
    color: var(--soap-ink);
}

.soap-reference-screen .soap-patient-bar .soap-next-patient-list {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}

.soap-reference-screen .soap-patient-bar .soap-next-patient-button {
    flex: 0 1 96px;
    width: 96px;
    min-height: 24px;
    overflow: hidden;
    border-color: #a9d3dd;
    background: #eefafd;
    color: #08758a;
    text-overflow: ellipsis;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.soap-reference-screen .soap-patient-bar .soap-next-patient-button:disabled {
    border-color: #d7dee2;
    background: #f1f3f4;
    color: #9aa8b1;
    opacity: 1;
    cursor: default;
}

.soap-reference-screen .soap-address {
    flex: 1 1 260px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.soap-reference-screen .soap-vitals-row {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
    align-items: center;
    gap: 7px;
}

.payment-product-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
}

.payment-product-status {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    border: 1px solid #cbded8;
    border-radius: 999px;
    background: #f6faf8;
    color: #536c63;
    padding: 4px 11px;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.payment-product-status.is-saved {
    border-color: #9fd8b5;
    background: #e8f7ee;
    color: #267246;
}

.payment-product-status.is-dirty,
.payment-product-status.is-loading {
    border-color: #d8c57a;
    background: #fff9df;
    color: #715b18;
}

.payment-product-status.is-error {
    border-color: #e2aaa5;
    background: #fff1f0;
    color: #a33d36;
}

.soap-reference-screen .soap-vitals-row label {
    min-width: 0;
    min-height: 34px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    border: 1px solid var(--soap-line);
    border-radius: 6px;
    background: var(--soap-panel);
    overflow: hidden;
}

.soap-reference-screen .soap-vitals-row span,
.soap-reference-screen .soap-vitals-row input {
    min-width: 0;
    border: 0;
    color: var(--soap-teal);
    font-size: 18px;
    font-weight: 900;
}

.soap-reference-screen .soap-vitals-row span {
    display: grid;
    align-items: center;
    padding-left: 7px;
    border-right: 1px solid var(--soap-line);
    background: var(--soap-soft-blue);
}

.soap-reference-screen .soap-vitals-row input {
    padding: 0 8px;
    color: #071735;
    text-align: right;
}

.soap-reference-screen .soap-chart-toolbar {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(408px, .36fr) minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
}

.soap-reference-screen .soap-chart-toolbar strong,
.soap-reference-screen .soap-chart-toolbar button,
.soap-reference-screen .soap-alert-strip button,
.soap-reference-screen .soap-alert-strip span,
.soap-reference-screen .soap-alert-strip b,
.soap-reference-screen .soap-alert-strip label {
    min-height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid var(--soap-line);
    border-radius: 6px;
    background: var(--soap-panel);
    color: var(--soap-ink);
    font-size: 16px;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

.soap-reference-screen .soap-chart-toolbar strong,
.soap-reference-screen .soap-chart-toolbar button {
    width: 100%;
}

.soap-chart-identity,
.soap-chart-tools {
    min-width: 0;
    display: grid;
    align-items: stretch;
    border: 1px solid var(--soap-line);
    border-radius: 6px;
    background: #f8fcfc;
    padding: 3px;
    overflow: hidden;
}

.soap-chart-identity {
    grid-template-columns: 132px 142px 122px;
    gap: 5px;
}

.soap-chart-tools {
    grid-template-columns: minmax(148px, .22fr) minmax(0, 1fr);
    gap: 7px;
    overflow-x: auto;
    overflow-y: hidden;
}

.soap-reference-screen .soap-chart-toolbar .chart-number {
    border-color: var(--soap-teal);
    background: var(--soap-teal);
    color: #ffffff;
    font-size: 22px;
    letter-spacing: 1px;
}

.soap-reference-screen .soap-chart-toolbar .patient-name {
    border-color: #72a9b2;
    background: #eff8f8;
    color: var(--soap-teal-dark);
    font-size: 21px;
}

.soap-reference-screen .soap-chart-toolbar .insurance-warning {
    border-color: #efb7af;
    background: #fff2f0;
    color: #aa3327;
    font-size: 20px;
}

.his-virtual-search-keyboard {
    width: min(100%, 520px);
    margin: 0 0 8px;
    padding: 6px;
    border: 1px solid #b5d8cb;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(25, 80, 58, 0.12);
}

.his-virtual-keyboard-key {
    min-height: 28px;
    border: 1px solid #9fc9bb;
    border-radius: 4px;
    background: #f7fcf9;
    color: #176044;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.his-virtual-keyboard-row {
    display: grid;
    grid-template-columns: repeat(13, minmax(22px, 1fr));
    gap: 4px;
}

.his-virtual-keyboard-row + .his-virtual-keyboard-row {
    margin-top: 4px;
}

.his-virtual-keyboard-row.is-numeric {
    grid-template-columns: repeat(10, minmax(22px, 1fr));
}

.his-virtual-keyboard-key:hover,
.his-virtual-keyboard-key:focus-visible {
    border-color: #12885a;
    background: #e3f5ec;
    outline: none;
}

@media (max-width: 640px) {
    .his-virtual-search-keyboard {
        width: 100%;
    }

    .his-virtual-keyboard-key {
        min-height: 30px;
    }
}

.soap-reference-screen .soap-mini-tabs {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
}

.soap-reference-screen .soap-mini-tabs button {
    min-width: 0;
    padding: 0;
    border-radius: 5px;
    background: #f7fbfc;
}

.soap-function-actions {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(9, minmax(48px, 1fr));
    gap: 5px;
}

.soap-function-actions button {
    min-width: 0;
    padding: 0 8px;
}

.soap-reference-screen .soap-alert-strip {
    grid-column: 1;
    grid-row: 4;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    align-items: center;
    padding: 3px 0;
    border: 0;
    background: transparent;
}

.soap-alert-flags {
    min-width: 0;
    max-width: 100%;
    flex: 0 1 auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.soap-alert-actions {
    min-width: 0;
    flex: 0 0 auto;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 6px;
}

.soap-alert-actions button {
    min-width: 58px;
    border-color: #a8ced3;
    background: #eef8f8;
    color: var(--soap-teal-dark);
}

.soap-flag-group {
    min-width: 0;
    max-width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 7px;
    border: 1px solid #d7e5e8;
    border-radius: 16px;
    background: #f7fbfc;
}

.soap-reference-screen .soap-alert-strip button,
.soap-reference-screen .soap-alert-strip span,
.soap-reference-screen .soap-alert-strip b,
.soap-reference-screen .soap-alert-strip label {
    min-height: 30px;
    color: var(--soap-teal);
    font-size: 14px;
}

.soap-special-note {
    min-width: 112px;
    border-color: #a8ced3;
    background: #eef8f8;
    color: var(--soap-teal-dark);
}

.soap-flag-group > span,
.soap-flag-group > b,
.soap-flag-group > button,
.soap-flag-group > label {
    min-width: 32px;
    padding: 0 8px;
    border-radius: 15px;
}

.soap-flag-group > span,
.soap-flag-group > b,
.soap-flag-group > .soap-clock-flag {
    background: #ffffff;
}

.soap-flag-group > b {
    background: #eff8f4;
    color: #10715c;
}

.soap-flag-group > .soap-clock-flag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
}

.soap-flag-group > .soap-clock-flag::before {
    content: "";
    width: 17px;
    height: 17px;
    border: 2px solid #10715c;
    border-radius: 50%;
    background:
        linear-gradient(#10715c, #10715c) 50% 48% / 2px 6px no-repeat,
        linear-gradient(#10715c, #10715c) 59% 58% / 6px 2px no-repeat,
        #ffffff;
}

.soap-flag-group > label {
    background: #ffffff;
}

.soap-flag-group input {
    width: 15px;
    height: 15px;
    accent-color: var(--soap-teal);
}

.soap-order-time-modal {
    position: fixed;
    inset: 0;
    z-index: 10080;
    display: none;
    align-items: stretch;
    justify-content: center;
    padding: 18px;
    background: rgba(8, 25, 46, .26);
    box-sizing: border-box;
}

.soap-order-time-modal.is-open {
    display: flex;
}

.soap-order-time-card {
    width: min(1520px, 100%);
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    gap: 14px;
    border: 1px solid #c8d9ec;
    border-radius: 8px;
    background: linear-gradient(180deg, #f0f8ff 0%, #ffffff 28%);
    box-shadow: 0 24px 60px rgba(7, 23, 53, .28);
    padding: 0 18px 18px;
    overflow: hidden;
}

.soap-order-time-patient {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0;
    min-height: 56px;
    margin: 0 -18px;
    padding: 0 22px;
    border-bottom: 1px solid #d7e5f2;
    background: rgba(255, 255, 255, .72);
    color: #0b2a55;
    font-size: 16px;
    font-weight: 850;
    overflow-x: auto;
    white-space: nowrap;
}

.soap-order-time-patient span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 20px;
    border-right: 1px solid #cbd8e8;
}

.soap-order-time-patient span:first-child {
    padding-left: 0;
}

.soap-order-time-patient span:last-child {
    border-right: 0;
}

.soap-order-time-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 16px;
    color: #0a2f66;
}

.soap-order-time-title h2 {
    margin: 0;
    font-size: 30px;
    font-weight: 950;
    line-height: 1.2;
}

.soap-order-time-title-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    border: 3px solid #2f7ed8;
    border-radius: 6px;
    background:
        linear-gradient(#2f7ed8, #2f7ed8) 10px 13px / 20px 3px no-repeat,
        linear-gradient(#2f7ed8, #2f7ed8) 10px 22px / 20px 3px no-repeat,
        linear-gradient(#2f7ed8, #2f7ed8) 10px 31px / 14px 3px no-repeat,
        #f7fbff;
}

.soap-order-time-actions {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    border: 1px solid #d9e5f2;
    border-radius: 7px;
    background: rgba(255, 255, 255, .82);
    padding: 18px 20px;
}

.soap-order-time-primary-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.soap-order-time-actions button,
.soap-order-time-reminder {
    min-height: 48px;
    border: 1px solid #b9cce3;
    border-radius: 6px;
    background: #ffffff;
    color: #10284c;
    font: inherit;
    font-size: 18px;
    font-weight: 900;
    box-sizing: border-box;
}

.soap-order-time-actions button {
    min-width: 120px;
    padding: 0 22px;
    cursor: pointer;
}

.soap-order-time-actions button:hover {
    border-color: #2f7ed8;
    color: #0b5bb7;
}

.soap-order-time-confirm {
    border-color: #2f7ed8 !important;
    background: #2475cf !important;
    color: #ffffff !important;
}

.soap-order-time-reminder {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-color: transparent;
    padding: 0 8px;
    background: transparent;
}

.soap-order-time-reminder input {
    width: 18px;
    height: 18px;
    accent-color: #2f7ed8;
}

.soap-order-time-table-frame {
    min-height: 0;
    border: 1px solid #cbd9e8;
    border-radius: 6px;
    background: #ffffff;
    overflow: auto;
}

.soap-order-time-table {
    width: 100%;
    min-width: 1340px;
    border-collapse: collapse;
    table-layout: fixed;
    color: #10284c;
    font-size: 17px;
}

.soap-order-time-table th,
.soap-order-time-table td {
    border: 1px solid #d7e1ec;
    padding: 10px;
    vertical-align: middle;
}

.soap-order-time-table th {
    height: 48px;
    background: #edf5ff;
    color: #0c2853;
    font-weight: 950;
    text-align: center;
}

.soap-order-time-table td {
    height: 58px;
    background: #ffffff;
}

.soap-order-time-table input,
.soap-order-time-table select {
    width: 100%;
    min-width: 0;
    height: 42px;
    border: 1px solid #c6d4e5;
    border-radius: 5px;
    background: #ffffff;
    color: #10284c;
    font: inherit;
    font-weight: 800;
    padding: 0 10px;
    box-sizing: border-box;
}

.soap-order-time-table input[readonly] {
    background: #fbfdff;
}

.soap-order-time-table input:focus,
.soap-order-time-table select:focus {
    outline: none;
    border-color: #2f7ed8;
    box-shadow: 0 0 0 3px rgba(47, 126, 216, .18);
}

.soap-order-col-code { width: 9%; }
.soap-order-col-name { width: 17%; }
.soap-order-col-staff { width: 12%; }
.soap-order-col-date { width: 10%; }
.soap-order-col-time { width: 9%; }
.soap-order-col-org { width: 12%; }
.soap-order-col-kind { width: 8%; }
.soap-order-col-error { width: 13%; }

.soap-order-time-kind-cell {
    color: #334b68;
    font-weight: 900;
    text-align: center;
}

.soap-order-time-error-cell {
    text-align: center;
}

.soap-order-time-error {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    border-radius: 5px;
    padding: 0 10px;
    background: #fff1ef;
    color: #b64235;
    font-size: 15px;
    font-weight: 950;
}

.soap-order-time-error::before {
    content: "!";
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    margin-right: 6px;
    border-radius: 50%;
    background: #ee6658;
    color: #ffffff;
    font-size: 13px;
    line-height: 1;
}

.soap-order-time-error[hidden] {
    display: none;
}

.soap-order-time-note {
    display: grid;
    gap: 14px;
    border-left: 5px solid #2f7ed8;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 0 0 1px #d8e6f4;
    padding: 24px 30px;
    color: #163361;
    font-size: 18px;
    font-weight: 850;
}

.soap-order-time-note p {
    margin: 0;
    padding-left: 36px;
}

.soap-save-modal {
    position: fixed;
    inset: 0;
    z-index: 10090;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 4vw, 56px);
    background: rgba(13, 27, 40, .38);
    box-sizing: border-box;
}

.soap-draft-modal {
    position: fixed;
    inset: 0;
    z-index: 10112;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 4vw, 44px);
    background: rgba(13, 27, 40, .34);
    box-sizing: border-box;
}

.soap-next-patient-modal {
    position: fixed;
    inset: 0;
    z-index: 10114;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 4vw, 44px);
    background: rgba(13, 27, 40, .36);
    box-sizing: border-box;
}

.soap-package-modal {
    position: fixed;
    inset: 0;
    z-index: 10088;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 4vw, 56px);
    background: rgba(13, 27, 40, .34);
    box-sizing: border-box;
}

.soap-drug-detail-modal {
    position: fixed;
    inset: 0;
    z-index: 10118;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(18px, 4vw, 48px);
    background: rgba(13, 27, 40, .36);
    box-sizing: border-box;
}

.soap-save-modal.is-open {
    display: flex;
}

.soap-chronic-prescription-modal {
    position: fixed;
    inset: 0;
    z-index: 10120;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(13, 27, 40, .36);
    box-sizing: border-box;
}

.soap-chronic-prescription-modal.is-open {
    display: flex;
}

.soap-chronic-prescription-card {
    width: min(440px, calc(100vw - 36px));
    display: grid;
    gap: 16px;
    padding: 20px;
    border: 1px solid #b9d8cc;
    border-top: 4px solid #008f85;
    border-radius: 10px;
    background: #fbfffd;
    box-shadow: 0 22px 52px rgba(12, 31, 48, .3);
    color: #17345a;
}

.soap-chronic-prescription-card > header,
.soap-chronic-prescription-card > footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.soap-chronic-prescription-card h2 {
    margin: 0;
    color: #087b62;
    font-size: 21px;
}

.soap-chronic-prescription-card > header button {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid #b9d8cc;
    border-radius: 6px;
    background: #fff;
    color: #087b62;
    font-size: 22px;
    cursor: pointer;
}

.soap-chronic-prescription-card fieldset {
    margin: 0;
    padding: 12px;
    border: 1px solid #d3e6de;
    border-radius: 7px;
}

.soap-chronic-prescription-card legend {
    padding: 0 6px;
    color: #087b62;
    font-weight: 850;
}

.soap-chronic-prescription-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.soap-chronic-prescription-options label,
.soap-chronic-prescription-force {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 0 10px;
    border: 1px solid #cfe3dc;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
}

.soap-chronic-prescription-options .is-cancel {
    color: #b43a3a;
}

.soap-chronic-prescription-date {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    color: #087b62;
    font-weight: 800;
}

.soap-chronic-prescription-date input {
    min-width: 0;
    height: 36px;
    border: 1px solid #bdd9cf;
    border-radius: 6px;
    padding: 0 10px;
    color: #17345a;
}

.soap-chronic-prescription-message {
    min-height: 0;
    margin: -6px 0 0;
    color: #c62828;
    font-weight: 750;
}

.soap-chronic-prescription-message:empty {
    display: none;
}

.soap-chronic-prescription-card > footer {
    justify-content: flex-end;
}

.soap-chronic-prescription-card > footer button {
    min-width: 88px;
    height: 38px;
    border: 1px solid #b9d8cc;
    border-radius: 6px;
    background: #fff;
    color: #087b62;
    font-weight: 800;
    cursor: pointer;
}

.soap-chronic-prescription-card > footer button.is-primary {
    border-color: #008f85;
    background: #008f85;
    color: #fff;
}

.soap-draft-modal.is-open {
    display: flex;
}

.soap-next-patient-modal.is-open {
    display: flex;
}

.soap-package-modal.is-open {
    display: flex;
}

.soap-drug-detail-modal.is-open {
    display: flex;
}

.soap-drug-detail-dialog {
    width: min(1060px, calc(100vw - 36px));
    max-height: min(820px, calc(100vh - 36px));
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    border: 1px solid #bfd6e8;
    border-top: 4px solid #008f85;
    border-radius: 8px;
    background: #fbfdff;
    box-shadow: 0 22px 52px rgba(12, 31, 48, .28);
    color: #17345a;
    overflow: hidden;
}

.soap-drug-detail-header {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid #d8e6f4;
    background: linear-gradient(180deg, #f7fcff 0%, #eef8fa 100%);
}

.soap-drug-detail-header span {
    display: block;
    color: #008f85;
    font-size: 13px;
    font-weight: 900;
}

.soap-drug-detail-header h2 {
    margin: 2px 0 0;
    color: #173d72;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: 0;
}

.soap-drug-detail-header button {
    width: 36px;
    height: 36px;
    border: 1px solid #a9c8e4;
    border-radius: 6px;
    background: #ffffff;
    color: #174b7c;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.soap-drug-detail-status {
    min-height: 0;
    padding: 8px 18px 0;
    color: #2874bd;
    font-size: 14px;
    font-weight: 850;
}

.soap-drug-detail-status:empty {
    display: none;
}

.soap-drug-detail-status.is-error {
    color: #c62828;
}

.soap-drug-detail-body {
    min-height: 0;
    display: grid;
    gap: 12px;
    padding: 14px 18px;
    overflow: auto;
}

.soap-drug-detail-section {
    display: grid;
    gap: 8px;
    border: 1px solid #d8e6f4;
    border-radius: 7px;
    background: #ffffff;
    padding: 12px;
}

.soap-drug-detail-section h3 {
    margin: 0;
    color: #007f79;
    font-size: 16px;
    font-weight: 950;
    letter-spacing: 0;
}

.soap-drug-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.soap-drug-detail-grid.compact {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.soap-drug-detail-grid label,
.soap-drug-detail-note-list label {
    min-width: 0;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    border: 1px solid #d5e2ef;
    border-radius: 6px;
    background: #fbfdff;
    overflow: hidden;
}

.soap-drug-detail-grid label.wide {
    grid-column: span 2;
}

.soap-drug-detail-grid span,
.soap-drug-detail-note-list span {
    min-width: 0;
    padding: 8px 9px;
    color: #007f79;
    font-size: 13px;
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}

.soap-drug-detail-grid input,
.soap-drug-detail-note-list input {
    min-width: 0;
    height: 34px;
    border: 0;
    border-left: 1px solid #d5e2ef;
    background: #ffffff;
    color: #10233f;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    padding: 0 9px;
    outline: none;
}

.soap-drug-detail-grid input[data-soap-drug-detail-combobox] {
    padding-right: 28px;
    background-color: #ffffff;
    background-image: linear-gradient(45deg, transparent 50%, #007f75 50%), linear-gradient(135deg, #007f75 50%, transparent 50%);
    background-position: calc(100% - 14px) 14px, calc(100% - 9px) 14px;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
}

.soap-drug-detail-combobox-menu {
    position: fixed;
    z-index: 30120;
    display: none;
    overflow-y: auto;
    padding: 4px;
    border: 1px solid #b9d4cf;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(15, 48, 44, 0.18);
    overscroll-behavior: contain;
}

.soap-drug-detail-combobox-menu.is-open {
    display: block;
}

.soap-drug-detail-combobox-option {
    display: grid;
    grid-template-columns: minmax(42px, 72px) minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 5px 8px;
    border-radius: 4px;
    color: #10223b;
    font-size: 14px;
    line-height: 1.35;
    cursor: pointer;
}

.soap-drug-detail-combobox-option:hover {
    background: #e5f6ef;
    color: #006d5f;
}

.soap-drug-detail-combobox-option.is-empty {
    display: block;
    color: #6f7f87;
    cursor: default;
}

.soap-drug-detail-combobox-option strong {
    color: #008f84;
    font-weight: 800;
    white-space: nowrap;
}

.soap-drug-detail-note-list {
    display: grid;
    gap: 8px;
}

.soap-drug-detail-footer {
    display: flex;
    justify-content: flex-end;
    padding: 12px 18px;
    border-top: 1px solid #d8e6f4;
    background: #f7fbfd;
}

.soap-drug-detail-footer button {
    min-width: 96px;
    min-height: 38px;
    border: 1px solid #a9c8e4;
    border-radius: 6px;
    background: #ffffff;
    color: #174b7c;
    font: inherit;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
}

.soap-drug-detail-modal.clinic-drug-detail-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 30000 !important;
    display: none !important;
    place-items: center !important;
    padding: 6px !important;
    background: rgba(12, 34, 28, .28) !important;
    box-sizing: border-box !important;
}

.soap-drug-detail-modal.clinic-drug-detail-modal.is-open {
    display: grid !important;
}

.soap-drug-detail-modal .clinic-drug-detail-dialog {
    width: min(1660px, calc(100vw - 12px)) !important;
    height: min(900px, calc(100vh - 12px)) !important;
    max-height: none !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    overflow: hidden !important;
    border: 1px solid #83c2a7 !important;
    border-radius: 8px !important;
    background: #eef7f3 !important;
    box-shadow: 0 18px 48px rgba(2, 39, 27, .22) !important;
    color: #10223b !important;
}

.soap-drug-detail-modal .clinic-drug-detail-header {
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 8px 14px !important;
    border-bottom: 1px solid #b9d9ca !important;
    background: linear-gradient(90deg, #f7fcfa 0%, #edf8f3 62%, #eef5ff 100%) !important;
}

.soap-drug-detail-modal .clinic-drug-detail-header h2 {
    margin: 2px 0 0 !important;
    color: #10223b !important;
    font-size: 22px !important;
    letter-spacing: 0 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-breadcrumb {
    color: #496172 !important;
    font-size: 12px !important;
}

.soap-drug-detail-modal .clinic-drug-detail-header-actions,
.soap-drug-detail-modal .clinic-drug-detail-footer {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
}

.soap-drug-detail-modal .clinic-drug-detail-header-actions button,
.soap-drug-detail-modal .clinic-drug-detail-footer button {
    min-width: 0 !important;
    min-height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 12px !important;
    border: 1px solid #9bcbb4 !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #007b55 !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.soap-drug-detail-modal .clinic-drug-detail-header-actions button.is-primary,
.soap-drug-detail-modal .clinic-drug-detail-footer button.is-primary {
    background: #008d62 !important;
    border-color: #008d62 !important;
    color: #fff !important;
}

.soap-drug-detail-modal .clinic-drug-detail-header-actions button.is-danger,
.soap-drug-detail-modal .clinic-drug-detail-footer button.is-danger {
    border-color: #ffb9b9 !important;
    color: #e01919 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-header-actions button.is-disabled,
.soap-drug-detail-modal .clinic-drug-detail-footer button.is-disabled,
.soap-drug-detail-modal .clinic-drug-detail-footer button:disabled {
    opacity: .52 !important;
    cursor: default !important;
}

.soap-drug-detail-modal .clinic-drug-detail-close {
    width: 30px !important;
    padding: 0 !important;
    border-color: #b9d8cc !important;
    color: #0d8662 !important;
}

.soap-drug-detail-modal .soap-drug-detail-status {
    min-height: 0 !important;
    padding: 5px 14px 0 !important;
    color: #007b55 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.soap-drug-detail-modal .soap-drug-detail-status:empty {
    display: none !important;
}

.soap-drug-detail-modal .soap-drug-detail-status.is-error {
    color: #d92d20 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 8px 12px !important;
    overflow: hidden !important;
    background: #eef7f3 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-section {
    min-width: 0 !important;
    display: block !important;
    border: 1px solid #bddacb !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, .95) !important;
    padding: 8px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8) !important;
}

.soap-drug-detail-modal .clinic-drug-detail-basic,
.soap-drug-detail-modal .clinic-drug-detail-alternatives {
    grid-column: 1 / -1 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(1) {
    background: #ffffff !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(2) {
    background: #fffaf0 !important;
    border-color: #e5c887 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(3) {
    grid-column: 1 / span 4 !important;
    background: #f4f8ff !important;
    border-color: #b8d1ef !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(4) {
    grid-column: 5 / span 5 !important;
    background: #f5fbf7 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(5) {
    grid-column: 10 / span 3 !important;
    background: #fff8f3 !important;
    border-color: #edc4a8 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(6) {
    grid-column: 1 / span 8 !important;
    background: #f7f6ff !important;
    border-color: #c9c4ef !important;
}

.soap-drug-detail-modal .clinic-drug-detail-section h3 {
    min-height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 0 6px !important;
    padding: 0 8px !important;
    border-radius: 4px !important;
    background: #e3f4ec !important;
    color: #007b55 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(2) h3 {
    background: #fff1c7 !important;
    color: #7a5200 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(3) h3 {
    background: #e5f0ff !important;
    color: #245d92 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(5) h3 {
    background: #ffe8d7 !important;
    color: #985012 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(6) h3 {
    background: #ebe7ff !important;
    color: #6751a7 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 6px 10px !important;
}

.soap-drug-detail-modal .clinic-drug-detail-grid.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.soap-drug-detail-modal .clinic-drug-detail-grid label,
.soap-drug-detail-modal .clinic-drug-detail-note-list label {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 6px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

.soap-drug-detail-modal .clinic-drug-detail-grid label.wide {
    grid-column: span 2 !important;
}

.soap-drug-detail-modal .clinic-drug-detail-grid span,
.soap-drug-detail-modal .clinic-drug-detail-note-list span {
    min-width: 0 !important;
    padding: 0 !important;
    color: #1f302a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.soap-drug-detail-modal .clinic-drug-detail-grid input,
.soap-drug-detail-modal .clinic-drug-detail-note-list input {
    width: 100% !important;
    min-width: 0 !important;
    height: 28px !important;
    border: 1px solid #cbdde4 !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #10223b !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    padding: 0 8px !important;
    outline: none !important;
}

.soap-drug-detail-modal .clinic-drug-detail-grid input[data-soap-drug-detail="price"] {
    background: #eef7f3 !important;
    border-color: #9ccfba !important;
    color: #006d55 !important;
    font-weight: 800 !important;
    cursor: default !important;
}

.soap-drug-detail-modal .clinic-drug-detail-basic input[readonly] {
    background: #f2f7f5 !important;
    border-color: #cbded7 !important;
    color: #263d39 !important;
    cursor: default !important;
    caret-color: transparent !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85) !important;
}

.soap-drug-detail-modal .clinic-drug-detail-basic input[readonly]:focus {
    outline: none !important;
    border-color: #cbded7 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85) !important;
}

.soap-drug-detail-modal .clinic-drug-detail-note-list {
    display: grid !important;
    gap: 6px 10px !important;
}

.soap-drug-detail-modal .clinic-drug-detail-mini-table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    font-size: 13px !important;
}

.soap-drug-detail-modal .clinic-drug-detail-mini-table th,
.soap-drug-detail-modal .clinic-drug-detail-mini-table td {
    height: 24px !important;
    padding: 2px 8px !important;
    border: 1px solid #cfe0d6 !important;
    background: rgba(255, 255, 255, .78) !important;
    color: #10223b !important;
}

.soap-drug-detail-modal .clinic-drug-group-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

.soap-drug-detail-modal .clinic-drug-group-card {
    min-width: 0 !important;
    border: 1px solid #d4e6dc !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, .74) !important;
    overflow: hidden !important;
}

.soap-drug-detail-modal .clinic-drug-group-card.is-related {
    grid-column: 1 / -1 !important;
}

.soap-drug-detail-modal .clinic-drug-group-card header {
    min-height: 34px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 4px 7px !important;
    background: #fff5db !important;
    border-bottom: 1px solid #e8d6a3 !important;
}

.soap-drug-detail-modal .clinic-drug-group-card strong {
    color: #7a5200 !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

.soap-drug-detail-modal .clinic-drug-group-card header > span {
    color: #007b55 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.soap-drug-detail-modal .clinic-drug-group-table tbody tr:nth-child(even) td {
    background: #fffaf0 !important;
}

.soap-drug-detail-modal .clinic-drug-related-table tbody tr:nth-child(even) td {
    background: #eef8f3 !important;
}

.soap-drug-detail-modal .clinic-drug-group-table tbody tr.is-empty td,
.soap-drug-detail-modal .clinic-drug-related-table tbody tr.is-empty td {
    color: #6d7f83 !important;
    text-align: center !important;
}

.soap-drug-detail-modal .clinic-drug-related-table th:nth-child(1),
.soap-drug-detail-modal .clinic-drug-related-table td:nth-child(1) {
    width: 14% !important;
}

.soap-drug-detail-modal .clinic-drug-related-table th:nth-child(2),
.soap-drug-detail-modal .clinic-drug-related-table td:nth-child(2) {
    width: 18% !important;
}

.soap-drug-detail-modal .clinic-drug-related-table th:nth-child(3),
.soap-drug-detail-modal .clinic-drug-related-table td:nth-child(3) {
    width: 34% !important;
}

.soap-drug-detail-modal .clinic-drug-related-table th:nth-child(4),
.soap-drug-detail-modal .clinic-drug-related-table td:nth-child(4),
.soap-drug-detail-modal .clinic-drug-related-table th:nth-child(5),
.soap-drug-detail-modal .clinic-drug-related-table td:nth-child(5) {
    width: 10% !important;
}

.soap-drug-detail-modal .clinic-drug-related-table th:nth-child(6),
.soap-drug-detail-modal .clinic-drug-related-table td:nth-child(6) {
    width: 8% !important;
}

.soap-drug-detail-modal .clinic-drug-related-table td:nth-child(1),
.soap-drug-detail-modal .clinic-drug-related-table td:nth-child(2) {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-all !important;
    line-height: 1.2 !important;
}

.soap-drug-detail-modal .clinic-drug-related-table td:nth-child(3) {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.soap-drug-detail-modal .clinic-drug-detail-footer {
    min-height: 48px !important;
    padding: 8px 14px !important;
    border-top: 1px solid #b9d9ca !important;
    background: #f7fcfa !important;
}

.soap-drug-detail-modal .clinic-drug-detail-footer .workbench-icon {
    width: 16px !important;
    height: 16px !important;
}

@media (max-width: 1366px), (max-height: 760px) {
    .soap-drug-detail-modal .clinic-drug-detail-dialog {
        width: calc(100vw - 8px) !important;
        height: calc(100vh - 8px) !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-header {
        min-height: 44px !important;
        padding: 5px 10px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-header h2 {
        font-size: 18px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-body {
        gap: 4px !important;
        padding: 5px 8px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-section {
        padding: 5px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-section h3 {
        min-height: 19px !important;
        margin-bottom: 3px !important;
        padding: 0 6px !important;
        font-size: 13px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-grid,
    .soap-drug-detail-modal .clinic-drug-detail-grid.compact,
    .soap-drug-detail-modal .clinic-drug-detail-note-list {
        gap: 3px 6px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-grid label,
    .soap-drug-detail-modal .clinic-drug-detail-note-list label {
        grid-template-columns: 58px minmax(0, 1fr) !important;
        gap: 4px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-grid span,
    .soap-drug-detail-modal .clinic-drug-detail-note-list span {
        font-size: 12px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-grid input,
    .soap-drug-detail-modal .clinic-drug-detail-note-list input {
        height: 23px !important;
        font-size: 12px !important;
        padding: 0 6px !important;
    }

    .soap-drug-detail-modal .clinic-drug-group-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 5px !important;
    }

    .soap-drug-detail-modal .clinic-drug-group-card.is-related {
        grid-column: auto !important;
    }

    .soap-drug-detail-modal .clinic-drug-group-card header {
        min-height: 28px !important;
        padding: 3px 5px !important;
        gap: 4px !important;
    }

    .soap-drug-detail-modal .clinic-drug-group-card strong {
        font-size: 12px !important;
    }

    .soap-drug-detail-modal .clinic-drug-group-card header > span {
        font-size: 11px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-mini-table {
        font-size: 11px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-mini-table th,
    .soap-drug-detail-modal .clinic-drug-detail-mini-table td {
        height: 20px !important;
        padding: 1px 4px !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(3) {
        grid-column: 1 / span 3 !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(4) {
        grid-column: 4 / span 4 !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(5) {
        grid-column: 8 / span 3 !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(6) {
        grid-column: 11 / span 2 !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(6) .clinic-drug-detail-grid.compact {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-footer {
        min-height: 40px !important;
        padding: 5px 10px !important;
    }
}

@media (max-width: 980px) {
    .soap-drug-detail-modal .clinic-drug-detail-body {
        overflow: auto !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-grid,
    .soap-drug-detail-modal .clinic-drug-detail-grid.compact,
    .soap-drug-detail-modal .clinic-drug-group-grid {
        grid-template-columns: 1fr !important;
    }

    .soap-drug-detail-modal .clinic-drug-detail-grid label.wide,
    .soap-drug-detail-modal .clinic-drug-detail-basic,
    .soap-drug-detail-modal .clinic-drug-detail-alternatives,
    .soap-drug-detail-modal .clinic-drug-detail-body .clinic-drug-detail-section:nth-of-type(n) {
        grid-column: 1 / -1 !important;
    }
}

.soap-draft-card,
.soap-next-patient-card {
    width: min(420px, calc(100vw - 36px));
    display: grid;
    gap: 18px;
    border: 1px solid #bfd6e8;
    border-top: 4px solid #2874bd;
    border-radius: 8px;
    background: #fbfdff;
    box-shadow: 0 20px 44px rgba(12, 31, 48, .24);
    padding: 22px;
    color: #17345a;
    box-sizing: border-box;
}

.soap-next-patient-card {
    width: min(460px, calc(100vw - 36px));
}

.soap-draft-card h2,
.soap-next-patient-card h2 {
    margin: 0;
    color: #173d72;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: 0;
}

.soap-draft-card p,
.soap-next-patient-card p {
    margin: 0;
    color: #233c58;
    font-size: 18px;
    font-weight: 850;
}

.soap-next-patient-card span {
    min-height: 18px;
    color: #b42318;
    font-size: 13px;
    font-weight: 850;
}

.soap-draft-actions,
.soap-next-patient-actions {
    display: grid;
    gap: 10px;
}

.soap-draft-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.soap-next-patient-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.soap-draft-actions button,
.soap-next-patient-actions button {
    min-width: 0;
    min-height: 42px;
    border: 1px solid #a9c8e4;
    border-radius: 6px;
    background: #ffffff;
    color: #174b7c;
    font: inherit;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
}

.soap-draft-actions button:disabled,
.soap-next-patient-actions button:disabled {
    opacity: .68;
    cursor: progress;
}

.soap-draft-confirm,
.soap-next-patient-save {
    border-color: #2874bd !important;
    background: #2874bd !important;
    color: #ffffff !important;
}

.soap-next-patient-draft {
    border-color: #0f8c7d !important;
    background: #0f8c7d !important;
    color: #ffffff !important;
}

.soap-package-list-popup {
    position: fixed;
    top: 86px;
    right: clamp(10px, 2vw, 30px);
    z-index: 10105;
    width: min(860px, calc(100vw - 24px));
    max-height: min(78vh, 680px);
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #b8d3e9;
    border-top: 3px solid #2874bd;
    border-radius: 8px;
    background: #fbfdff;
    box-shadow: 0 18px 38px rgba(15, 37, 60, .22);
    color: #17345a;
    box-sizing: border-box;
}

.soap-package-list-popup[hidden] {
    display: none;
}

.soap-package-list-header {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid #d7e6f2;
    padding: 10px 12px;
    background: #eef6fc;
}

.soap-package-list-header h2 {
    margin: 0;
    color: #173d72;
    font-size: 17px;
    font-weight: 950;
    letter-spacing: 0;
}

.soap-package-list-close {
    width: 32px;
    height: 32px;
    border: 1px solid #a9c8e4;
    border-radius: 6px;
    background: #ffffff;
    color: #174b7c;
    font-size: 15px;
    font-weight: 950;
    cursor: pointer;
}

.soap-package-list-controls {
    min-width: 0;
    display: grid;
    gap: 8px;
    border-bottom: 1px solid #d7e6f2;
    padding: 9px;
    background: #f8fbfd;
}

.soap-package-list-search {
    width: 100%;
    min-width: 0;
    height: 36px;
    border: 1px solid #c6d9e9;
    border-radius: 6px;
    background: #ffffff;
    color: #17345a;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    padding: 0 10px;
    box-sizing: border-box;
}

.soap-package-list-search:focus {
    border-color: #2874bd;
    outline: 2px solid rgba(40, 116, 189, .18);
    outline-offset: 1px;
}

.soap-package-list-segment {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
}

.soap-package-list-mode {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.soap-package-list-segment button {
    min-width: 0;
    height: 32px;
    border: 1px solid #c6d9e9;
    border-radius: 6px;
    background: #ffffff;
    color: #315577;
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.soap-package-list-segment button:hover,
.soap-package-list-segment button.is-active {
    border-color: #0b8aa0;
    background: #0b8aa0;
    color: #ffffff;
}

.soap-package-list-content {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(240px, .85fr) minmax(340px, 1.15fr);
    overflow: hidden;
}

.soap-package-list-body {
    min-width: 0;
    min-height: 0;
    overflow: auto;
    display: grid;
    align-content: start;
    gap: 7px;
    padding: 9px;
    background: #ffffff;
}

.soap-package-list-item {
    width: 100%;
    min-width: 0;
    display: grid;
    gap: 3px;
    border: 1px solid #d3e1ed;
    border-left: 4px solid transparent;
    border-radius: 6px;
    background: #f8fbfd;
    padding: 9px 10px;
    color: #17345a;
    text-align: left;
    cursor: pointer;
}

.soap-package-list-item:hover,
.soap-package-list-item.is-active {
    border-color: #58a7dc;
    border-left-color: #0b8aa0;
    background: #e8f6fb;
}

.soap-package-list-item strong,
.soap-package-list-item span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-package-list-item strong {
    color: #0b6679;
    font-size: 16px;
    font-weight: 950;
}

.soap-package-list-item span {
    color: #5a7188;
    font-size: 13px;
    font-weight: 800;
}

.soap-package-list-empty {
    border: 1px dashed #bdd3e6;
    border-radius: 6px;
    padding: 16px 12px;
    color: #5a7188;
    font-size: 15px;
    font-weight: 850;
    text-align: center;
}

.soap-package-preview {
    min-width: 0;
    min-height: 0;
    overflow: auto;
    display: grid;
    align-content: start;
    gap: 10px;
    border-left: 1px solid #d7e6f2;
    padding: 10px;
    background: #f8fbfd;
}

.soap-package-preview > header {
    min-width: 0;
    display: grid;
    gap: 3px;
    border-bottom: 1px solid #d7e6f2;
    padding-bottom: 8px;
}

.soap-package-preview > header strong,
.soap-package-preview > header span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-package-preview > header strong {
    color: #0b6679;
    font-size: 18px;
    font-weight: 950;
}

.soap-package-preview > header span {
    color: #5a7188;
    font-size: 13px;
    font-weight: 850;
}

.soap-package-preview-section {
    min-width: 0;
    display: grid;
    gap: 6px;
}

.soap-package-preview-section h3 {
    margin: 0;
    color: #173d72;
    font-size: 14px;
    font-weight: 950;
    letter-spacing: 0;
}

.soap-package-preview-section pre,
.soap-package-preview-diagnoses,
.soap-package-preview-drugs {
    min-width: 0;
    border: 1px solid #d7e6f2;
    border-radius: 6px;
    background: #ffffff;
}

.soap-package-preview-section pre {
    max-height: 142px;
    overflow: auto;
    margin: 0;
    padding: 9px;
    color: #1d344d;
    font: inherit;
    font-size: 14px;
    line-height: 1.42;
    white-space: pre-wrap;
    word-break: break-word;
}

.soap-package-preview-diagnoses,
.soap-package-preview-drugs {
    max-height: 180px;
    overflow: auto;
    display: grid;
}

.soap-package-preview-diagnoses > div,
.soap-package-preview-drugs > div {
    min-width: 0;
    display: grid;
    gap: 5px;
    border-bottom: 1px solid #edf3f8;
    padding: 7px 9px;
}

.soap-package-preview-diagnoses > div {
    grid-template-columns: 28px minmax(70px, .45fr) minmax(0, 1fr);
    align-items: center;
}

.soap-package-preview-drugs > div {
    grid-template-columns: minmax(72px, .35fr) minmax(0, 1fr);
}

.soap-package-preview-diagnoses > div:last-child,
.soap-package-preview-drugs > div:last-child {
    border-bottom: 0;
}

.soap-package-preview-diagnoses b {
    display: inline-grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 999px;
    background: #e7f1fa;
    color: #155085;
    font-size: 12px;
    font-weight: 950;
}

.soap-package-preview-diagnoses strong,
.soap-package-preview-drugs strong {
    color: #0b6679;
    font-size: 13px;
    font-weight: 950;
}

.soap-package-preview-diagnoses span,
.soap-package-preview-drugs span,
.soap-package-preview-drugs em {
    min-width: 0;
    color: #263f58;
    font-size: 13px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-package-preview-drugs em {
    grid-column: 1 / -1;
    color: #5a7188;
    font-size: 12px;
}

.soap-package-preview-empty {
    padding: 12px;
    color: #5a7188;
    font-size: 13px;
    font-weight: 850;
    text-align: center;
}

.soap-package-card {
    width: min(1080px, calc(100vw - 42px));
    max-height: min(86vh, 720px);
    display: grid;
    grid-template-rows: auto auto auto auto auto;
    gap: 14px;
    overflow: auto;
    border: 1px solid #c8d8e6;
    border-top: 4px solid #2874bd;
    border-radius: 8px;
    background: #fbfdff;
    box-shadow: 0 24px 54px rgba(12, 31, 48, .24);
    padding: 18px;
    color: #17345a;
    box-sizing: border-box;
}

.soap-package-header {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.soap-package-header h2 {
    margin: 0;
    color: #173d72;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: 0;
}

.soap-package-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.soap-package-actions button {
    min-width: 104px;
    min-height: 42px;
    border: 1px solid #a9c8e4;
    border-radius: 6px;
    background: #ffffff;
    color: #174b7c;
    font: inherit;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
}

.soap-package-confirm {
    border-color: #2874bd !important;
    background: #2874bd !important;
    color: #ffffff !important;
}

.soap-package-name,
.soap-package-note {
    min-width: 0;
    display: grid;
    gap: 8px;
    color: #173d72;
    font-size: 15px;
    font-weight: 900;
}

.soap-package-name input,
.soap-package-note textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #cbd9e5;
    border-radius: 6px;
    background: #ffffff;
    color: #172a38;
    font: inherit;
    box-sizing: border-box;
}

.soap-package-name input {
    height: 42px;
    padding: 0 12px;
    font-size: 17px;
}

.soap-package-note textarea {
    min-height: 150px;
    resize: vertical;
    padding: 12px;
    font-family: Consolas, "Microsoft JhengHei", sans-serif;
    font-size: 16px;
    line-height: 1.45;
    white-space: pre-wrap;
}

.soap-package-section {
    min-width: 0;
    display: grid;
    gap: 8px;
    border-top: 1px solid #dbe7f1;
    padding-top: 12px;
}

.soap-package-section h3 {
    margin: 0;
    color: #173d72;
    font-size: 16px;
    font-weight: 950;
    letter-spacing: 0;
}

.soap-package-diagnosis-grid {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
}

.soap-package-diagnosis-grid label {
    min-width: 0;
    display: grid;
    grid-template-columns: 28px minmax(90px, .55fr) minmax(130px, 1fr);
    align-items: center;
    gap: 8px;
}

.soap-package-diagnosis-grid span {
    display: inline-grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 999px;
    background: #e7f1fa;
    color: #155085;
    font-size: 14px;
    font-weight: 950;
}

.soap-package-diagnosis-grid input,
.soap-package-drug-table input {
    width: 100%;
    min-width: 0;
    border: 1px solid #cbd9e5;
    border-radius: 5px;
    background: #ffffff;
    color: #172a38;
    font: inherit;
    box-sizing: border-box;
}

.soap-package-diagnosis-grid input {
    height: 36px;
    padding: 0 9px;
    font-size: 15px;
}

.soap-package-drug-table-wrap {
    min-width: 0;
    overflow: auto;
    border: 1px solid #d5e1ec;
    border-radius: 6px;
    background: #ffffff;
}

.soap-package-drug-table {
    width: 100%;
    min-width: 940px;
    border-collapse: collapse;
    table-layout: fixed;
}

.soap-package-drug-table th,
.soap-package-drug-table td {
    border-bottom: 1px solid #edf3f8;
    border-right: 1px solid #edf3f8;
    padding: 5px;
}

.soap-package-drug-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #edf5fb;
    color: #173d72;
    font-size: 13px;
    font-weight: 950;
    text-align: center;
}

.soap-package-drug-table th:last-child,
.soap-package-drug-table td:last-child {
    border-right: 0;
}

.soap-package-drug-table tr:last-child td {
    border-bottom: 0;
}

.soap-package-drug-table input {
    height: 32px;
    padding: 0 7px;
    font-size: 14px;
}

.soap-save-card {
    width: min(1380px, calc(100vw - 40px));
    max-height: min(86vh, 820px);
    display: grid;
    grid-template-rows: auto auto auto minmax(120px, 1fr);
    gap: 12px;
    border: 1px solid #c8ddd2;
    border-top: 4px solid #15834a;
    border-radius: 8px;
    background: #fbfdfc;
    box-shadow: 0 24px 54px rgba(12, 31, 48, .24);
    padding: 18px;
    overflow: auto;
    box-sizing: border-box;
}

.soap-save-title {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.soap-save-toolbar {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(210px, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 0 2px 4px;
}

.soap-save-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.soap-save-actions button,
.soap-save-switch,
.soap-save-surgery-search {
    min-height: 42px;
    border: 1px solid #a7cdbc;
    border-radius: 6px;
    background: #ffffff;
    color: #1f4b37;
    font: inherit;
    font-size: 17px;
    font-weight: 900;
    cursor: pointer;
}

.soap-save-actions button {
    min-width: 104px;
    padding: 0 18px;
}

.soap-save-actions button[data-soap-save-chronic-prescription]:disabled {
    border-color: #c9d2d7;
    background: #e9eef1;
    color: #8b989f;
    box-shadow: none;
    cursor: not-allowed;
}

.soap-save-confirm {
    border-color: #15834a !important;
    background: #15834a !important;
    color: #ffffff !important;
}

.soap-save-amount {
    min-width: 0;
    justify-self: end;
    display: grid;
    grid-template-columns: auto minmax(58px, max-content) minmax(136px, 190px);
    align-items: center;
    column-gap: 0;
    color: #1e5138;
    font-size: 18px;
    font-weight: 950;
}

.soap-save-amount strong {
    margin-right: 10px;
    line-height: 1;
    white-space: nowrap;
}

.soap-save-amount span {
    align-self: center;
    display: grid;
    place-items: center;
    width: 58px;
    min-width: 58px;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid #ccd8d1;
    border-right: 0;
    border-radius: 5px 0 0 5px;
    background: #f4faf6;
    font-size: 15px;
    line-height: 1;
    white-space: nowrap;
    box-sizing: border-box;
}

.soap-save-amount input {
    width: 170px;
    min-width: 136px;
    max-width: 100%;
    height: 42px;
    min-height: 42px;
    border-left: 0;
    border-radius: 0 5px 5px 0;
    font-size: 18px;
    line-height: 1.2;
    padding-block: 0;
}

.soap-save-flags {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 8px 14px;
    color: #284235;
    font-size: 15px;
    font-weight: 900;
}

.soap-save-flags label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.soap-save-flags input {
    width: 17px;
    height: 17px;
    accent-color: #12813c;
}

.soap-save-section {
    min-width: 0;
    border: 1px solid #d4e5dc;
    border-radius: 7px;
    margin: 0;
    padding: 18px 18px 16px;
    background: #ffffff;
    color: #1e5138;
}

.soap-save-section legend {
    padding: 0 9px;
    color: #12643a;
    font-size: 17px;
    font-weight: 950;
}

.soap-save-basic-grid {
    display: grid;
    grid-template-columns: repeat(24, minmax(0, 1fr));
    align-items: center;
    gap: 12px 12px;
}

.soap-save-field,
.soap-save-fee-grid label {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    color: #1f5138;
    font-size: 15px;
    font-weight: 900;
}

.soap-save-field input,
.soap-save-field select,
.soap-save-fee-grid input,
.soap-save-amount input {
    width: 100%;
    min-width: 0;
    height: 38px;
    border: 1px solid #cbd9d2;
    border-radius: 5px;
    background: #ffffff;
    color: #172a24;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    padding: 0 9px;
    box-sizing: border-box;
}

.soap-save-field input:focus,
.soap-save-field select:focus,
.soap-save-fee-grid input:focus,
.soap-save-amount input:focus {
    outline: none;
    border-color: #15834a;
    box-shadow: 0 0 0 3px rgba(21, 131, 74, .14);
}

.soap-save-field.disease-code { grid-column: span 5; }
.soap-save-field.disease-name { grid-column: span 7; grid-template-columns: minmax(0, 1fr); }
.soap-save-field.disease-extra { grid-column: span 5; }
.soap-save-field.surgery-code { grid-column: span 4; }
.soap-save-field.case-type { grid-column: span 5; }
.soap-save-field.sequence-pair {
    grid-column: span 5;
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
}
.soap-save-field.pharmacist { grid-column: span 5; }
.soap-save-field.compact { grid-column: span 2; }
.soap-save-basic-grid > .soap-save-field:not(.disease-code):not(.disease-name):not(.disease-extra):not(.surgery-code):not(.case-type):not(.sequence-pair):not(.pharmacist):not(.compact) {
    grid-column: span 3;
}

.soap-save-surgery-search {
    grid-column: span 3;
    min-height: 38px;
    padding: 0 10px;
    border-color: #b7cfe1;
    color: #0f5d9b;
    font-size: 14px;
    background: #ffffff;
}

.soap-save-switch {
    grid-column: span 1;
    min-width: 38px;
    min-height: 38px;
    padding: 0 8px;
    font-size: 14px;
}

.soap-save-fee-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px 18px;
}

.soap-save-fee-grid label {
    grid-template-columns: auto minmax(82px, 1fr);
}

.soap-save-fee-grid input {
    text-align: center;
}

.soap-save-fee-grid label[hidden],
.soap-save-drug-fee-list[hidden] {
    display: none !important;
}

.soap-save-drug-fee-list {
    display: contents;
}

.soap-save-drug-fee-grid {
    display: contents;
}

.soap-save-drug-fee-grid label {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(72px, 1fr);
    align-items: center;
    gap: 8px;
    color: #29624a;
    font-weight: 800;
}

.soap-save-drug-fee-grid input {
    width: 100%;
    min-width: 0;
    height: 38px;
    padding: 0 8px;
    border: 1px solid #b9ddc7;
    border-radius: 6px;
    background: #f1faf4;
    color: #126c43;
    text-align: center;
    font-weight: 900;
    box-sizing: border-box;
}

.soap-save-description {
    min-height: 140px;
}

.soap-save-disease-text {
    min-height: 98px;
    color: #c62924;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.65;
}

.soap-reference-screen .soap-main-grid {
    min-height: 0;
    display: contents;
}

.soap-reference-screen .soap-left-panel,
.soap-reference-screen .soap-right-panel {
    min-height: 0;
    min-width: 0;
}

.soap-reference-screen .soap-left-panel {
    grid-column: 1;
    grid-row: 5;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(42px, auto) 156px 84px minmax(0, 1fr);
    gap: 6px;
}

.soap-reference-screen.has-soap-tray .soap-left-panel {
    grid-column: 1;
}

.soap-special-note-row {
    min-height: 42px;
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: stretch;
    border: 1px solid #efb7af;
    border-radius: 6px;
    background: #fff7f5;
    color: #b72f24;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.2;
    overflow: hidden;
}

.soap-special-note-row strong,
.soap-special-note-row span {
    min-width: 0;
    display: grid;
    align-items: center;
    padding: 7px 12px;
    overflow: visible;
}

.soap-special-note-row strong {
    border-right: 1px solid #efb7af;
    border-left: 4px solid var(--soap-coral);
    background: #ffece8;
    color: #a92c22;
    white-space: nowrap;
}

.soap-special-note-row span {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.soap-reference-screen .soap-sign-row,
.soap-reference-screen .soap-note-box,
.soap-reference-screen .diagnosis-table,
.soap-prescription-area {
    grid-column: 1 / -1;
}

.soap-reference-screen .soap-sign-row {
    min-width: 0;
    display: grid;
    grid-template-columns: 122px minmax(190px, 1fr) 62px 70px 30px;
    gap: 4px;
    align-items: stretch;
    color: #ffffff;
}

.soap-reference-screen .soap-sign-row span,
.soap-reference-screen .soap-sign-row b,
.soap-reference-screen .soap-sign-row em,
.soap-reference-screen .soap-sign-row strong {
    min-width: 0;
    display: grid;
    align-items: center;
    padding: 0 9px;
    border: 1px solid var(--soap-teal-dark);
    border-radius: 5px;
    background: var(--soap-teal-dark);
    color: #ffffff;
    font-size: 15px;
    font-style: normal;
    font-weight: 900;
}

.soap-reference-screen .soap-sign-row label {
    display: grid;
    place-items: center;
    border: 1px solid var(--soap-line);
    border-radius: 5px;
    background: var(--soap-panel);
}

.soap-reference-screen .soap-note-box {
    min-width: 0;
    border: 1px solid var(--soap-line);
    border-radius: 6px;
    padding: 0;
    background: var(--soap-panel);
    color: var(--soap-ink);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.32;
    overflow: hidden;
}

.soap-reference-screen .soap-note-box textarea {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-height: 0;
    display: block;
    border: 0;
    outline: 0;
    resize: none;
    padding: 10px 13px;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: inherit;
    overflow: auto;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.soap-tray-panel {
    --soap-tray-drug-row-height: 54px;
    grid-column: 2;
    grid-row: 4 / 6;
    min-width: 0;
    min-height: 0;
    justify-self: stretch;
    align-self: stretch;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) 18px;
    gap: 8px;
    padding: 8px;
    border: 1px solid #c9e2d8;
    border-radius: 8px;
    background: rgba(252, 255, 254, .95);
    box-shadow: 0 8px 24px rgba(18, 71, 50, .08), inset 0 1px 0 rgba(255, 255, 255, .72);
    overflow: hidden;
}

.soap-tray-panel.is-attention {
    animation: soapTrayPulse .62s ease;
}

@keyframes soapTrayPulse {
    0% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 0 0 0 rgba(17, 88, 134, .28); }
    45% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 0 0 5px rgba(17, 88, 134, .2); }
    100% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 0 0 0 rgba(17, 88, 134, 0); }
}

.soap-tray-ribbon {
    justify-self: end;
    min-width: 54px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    background: #d94a43;
    color: #ffffff;
    font-size: 10px;
    font-weight: 950;
    line-height: 18px;
}

.soap-tray-slots {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: 30px;
    border-top: 1px solid #d5d5d5;
    border-left: 1px solid #d5d5d5;
    background: #ffffff;
}

.soap-tray-slots button {
    min-width: 0;
    border: 0;
    border-right: 1px solid #d5d5d5;
    border-bottom: 1px solid #d5d5d5;
    border-radius: 0;
    background: #fbfbfb;
    color: #8b8b8b;
    font-size: 14px;
    font-weight: 850;
}

.soap-tray-slots button.is-active {
    background: #05085d;
    color: #39dcff;
}

.soap-tray-drug-grid {
    min-width: 0;
    min-height: 0;
    height: min(calc(var(--soap-tray-drug-row-height) * 3), 100%);
    max-height: calc(var(--soap-tray-drug-row-height) * 3);
    align-self: center;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: var(--soap-tray-drug-row-height);
    align-content: start;
    border-left: 1px solid #d5d5d5;
    background: #ffffff;
    overflow: auto;
    scrollbar-width: thin;
}

.soap-tray-empty {
    grid-column: 1 / -1;
    margin: 0;
    min-height: calc(var(--soap-tray-drug-row-height) * 3);
    display: grid;
    place-items: center;
    border-right: 1px solid #d5d5d5;
    border-bottom: 1px solid #d5d5d5;
    background: #ffffff;
    color: #7c7c7c;
    font-size: 13px;
    font-weight: 850;
}

.soap-tray-drug-cell {
    min-width: 0;
    min-height: var(--soap-tray-drug-row-height);
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 1px;
    border: 0;
    border-right: 1px solid #d5d5d5;
    border-bottom: 1px solid #d5d5d5;
    border-radius: 0;
    padding: 2px 5px;
    background: #ffffff;
    color: #53606c;
    text-align: center;
    cursor: pointer;
}

.soap-tray-drug-cell:hover,
.soap-tray-drug-cell:focus-visible {
    background: #edf7ff;
    color: #104f7d;
    outline: none;
}

.soap-tray-drug-cell strong,
.soap-tray-drug-cell span {
    min-width: 0;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
}

.soap-tray-drug-cell strong {
    font-size: 13px;
    font-weight: 850;
}

.soap-tray-drug-cell span {
    color: #8c8c8c;
    font-size: 10px;
    font-weight: 750;
}

.soap-tray-note {
    display: grid;
    align-items: center;
    padding: 0 7px;
    border-top: 1px solid #d5d5d5;
    background: #f3f1eb;
    color: #6b6b6b;
    font-size: 13px;
    font-weight: 850;
}

.soap-tray-toolbar,
.soap-tray-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #d5d5d5;
}

.soap-tray-actions {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr);
}

.soap-tray-toolbar button,
.soap-tray-actions button {
    min-width: 0;
    border: 0;
    border-right: 1px solid #d5d5d5;
    border-radius: 0;
    background: #f8f8f8;
    color: #6d6d6d;
    font-size: 13px;
    font-weight: 850;
}

.soap-tray-toolbar button:last-child,
.soap-tray-actions button:last-child {
    border-right: 0;
}

.soap-tray-toolbar button:nth-child(2) {
    background: #eee5ff;
    color: #6a548d;
}

.soap-tray-actions .is-primary {
    background: #b9f030;
    color: #4e7d00;
}

.soap-tray-palette-modal {
    position: fixed;
    inset: 0;
    z-index: 10240;
    display: none;
    place-items: center;
    padding: 10px;
    background: rgba(189, 218, 207, .58);
    backdrop-filter: blur(8px);
}

.soap-tray-palette-modal.is-open {
    display: grid;
}

.soap-tray-palette-card {
    width: min(1518px, calc(100vw - 24px));
    height: min(1004px, calc(100vh - 24px));
    min-height: 0;
    display: grid;
    grid-template-rows: 66px 64px minmax(0, 1fr);
    gap: 18px;
    position: relative;
    padding: 16px 24px 22px;
    border: 1px solid #c9e2d8;
    border-radius: 12px;
    background: rgba(252, 255, 254, .96);
    box-shadow: 0 18px 70px rgba(18, 71, 50, .18);
    color: #101820;
    overflow: hidden;
}

.soap-tray-palette-header {
    min-width: 0;
    display: grid;
    grid-template-columns: 58px 94px 58px minmax(500px, 1fr) minmax(240px, 310px) 58px 58px;
    gap: 16px;
    align-items: stretch;
}

.soap-tray-palette-header button,
.soap-tray-palette-search {
    min-width: 0;
    border: 1px solid #c8ded7;
    border-radius: 8px;
    background: rgba(255, 255, 255, .88);
    color: #101820;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .78);
}

.soap-tray-palette-nav,
.soap-tray-palette-icon {
    display: grid;
    place-items: center;
    font-size: 30px;
    line-height: 1;
}

.soap-tray-palette-modes {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(6, minmax(84px, 1fr));
    border: 1px solid #c8ded7;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, .72);
}

.soap-tray-palette-modes button {
    border: 0;
    border-right: 1px solid #c8ded7;
    border-radius: 0;
    background: transparent;
    color: #101820;
    font-size: 22px;
    font-weight: 500;
}

.soap-tray-palette-modes button:last-child {
    border-right: 0;
}

.soap-tray-palette-modes button.is-active {
    background: #0aa05c;
    color: #ffffff;
    font-weight: 800;
}

.soap-tray-palette-search {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    padding: 0 14px 0 2px;
}

.soap-tray-palette-search span {
    display: grid;
    place-items: center;
    color: #007d4f;
    font-size: 34px;
    line-height: 1;
}

.soap-tray-palette-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #101820;
    font-size: 20px;
    font-weight: 500;
}

.soap-tray-palette-search input::placeholder {
    color: #7a858c;
}

.soap-tray-palette-categories {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border: 1px solid #c8ded7;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, .78);
}

.soap-tray-palette-categories button {
    min-width: 0;
    border: 0;
    border-right: 1px solid #d7e8e1;
    border-radius: 0;
    background: transparent;
    color: #101820;
    font-size: 20px;
    font-weight: 650;
}

.soap-tray-palette-categories button:last-child {
    border-right: 0;
}

.soap-tray-palette-categories button.is-active {
    border: 1px solid #0aa05c;
    background: #ecfff8;
    color: #007d4f;
    font-weight: 850;
}

.soap-tray-palette-grid {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-auto-rows: 80px;
    gap: 18px 16px;
    align-content: start;
    overflow: auto;
    padding: 12px 2px 2px;
    scrollbar-width: thin;
}

.soap-tray-palette-item {
    min-width: 0;
    min-height: 0;
    display: grid;
    place-items: center;
    border: 1px solid #cfe3dc;
    border-radius: 8px;
    background: rgba(255, 255, 255, .92);
    color: #101820;
    font-size: 20px;
    font-weight: 520;
    line-height: 1.25;
    text-align: center;
    box-shadow: 0 3px 12px rgba(33, 81, 65, .035);
}

.soap-tray-palette-item:hover,
.soap-tray-palette-item:focus-visible {
    border-color: #0aa05c;
    background: #f3fffb;
    color: #006f49;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 145, 90, .10);
}

.soap-tray-palette-item span {
    min-width: 0;
    max-width: 100%;
    display: block;
    overflow-wrap: anywhere;
}

.soap-tray-palette-item small {
    min-width: 0;
    max-width: 100%;
    display: block;
    color: #537067;
    font-size: .78em;
    font-weight: 650;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.soap-tray-palette-empty {
    grid-column: 1 / -1;
    margin: 0;
    display: grid;
    place-items: center;
    min-height: 180px;
    color: #60727b;
    font-size: 20px;
    font-weight: 750;
}

.soap-tray-palette-status {
    position: absolute;
    right: 28px;
    bottom: 8px;
    margin: 0;
    color: #007d4f;
    font-size: 14px;
    font-weight: 800;
    pointer-events: none;
}

@media (max-width: 1180px), (max-height: 760px) {
    .soap-tray-palette-card {
        height: calc(100vh - 16px);
        grid-template-rows: auto 54px minmax(0, 1fr);
        gap: 12px;
        padding: 12px 14px 18px;
    }

    .soap-tray-palette-header {
        grid-template-columns: 48px 72px 48px minmax(0, 1fr) 48px 48px;
        grid-template-rows: 52px 50px;
        gap: 8px;
    }

    .soap-tray-palette-modes {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .soap-tray-palette-search {
        grid-column: 4;
    }

    .soap-tray-palette-modes button,
    .soap-tray-palette-categories button,
    .soap-tray-palette-item {
        font-size: 16px;
    }

    .soap-tray-palette-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-auto-rows: 64px;
        gap: 10px;
    }
}

.soap-tray-panel .soap-tray-palette-header {
    display: grid !important;
    grid-template-columns: 36px 36px 72px minmax(0, 1fr) !important;
    grid-template-rows: 38px 38px !important;
    gap: 6px !important;
    align-items: stretch !important;
}

.soap-tray-panel .soap-tray-palette-header button,
.soap-tray-panel .soap-tray-palette-search {
    min-width: 0 !important;
    min-height: 0 !important;
    border-radius: 7px !important;
}

.soap-tray-panel .soap-tray-palette-nav {
    font-size: 24px !important;
}

.soap-tray-panel .soap-tray-palette-search {
    grid-column: 4 !important;
    grid-row: 1 !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    padding: 0 8px 0 0 !important;
}

.soap-tray-panel .soap-tray-adjust {
    grid-column: 3 !important;
    grid-row: 1 !important;
    border-color: #7abfa5 !important;
    background: #edf9f3 !important;
    color: #087648 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    cursor: pointer;
}

.soap-tray-panel .soap-tray-adjust:hover {
    border-color: #0a9a61 !important;
    background: #dff4e9 !important;
}

.soap-tray-panel .soap-tray-adjust.is-active {
    border-color: #087648 !important;
    background: #d8f0e4 !important;
    box-shadow: inset 0 0 0 1px rgba(8, 118, 72, .14) !important;
}

.soap-tray-adjust-popup {
    position: fixed;
    z-index: 10115;
    width: min(184px, calc(100vw - 16px));
    display: grid;
    gap: 6px;
    padding: 8px;
    border: 1px solid #73b79d;
    border-top: 3px solid #087648;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(18, 71, 50, .24);
    box-sizing: border-box;
}

.soap-tray-adjust-popup[hidden] {
    display: none;
}

.soap-tray-adjust-popup.is-editing {
    width: min(340px, calc(100vw - 16px));
}

.soap-tray-adjust-menu {
    display: grid;
    gap: 6px;
}

.soap-tray-adjust-menu button[hidden] {
    display: none;
}

.visit-table-header-context-menu {
    position: fixed;
    z-index: 10120;
    min-width: 168px;
    padding: 6px;
    border: 1px solid #73b79d;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(24, 76, 57, 0.2);
}

.visit-table-header-context-menu[hidden] {
    display: none;
}

.visit-table-header-context-menu button {
    width: 100%;
    min-height: 36px;
    padding: 6px 12px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: #f7fcf9;
    color: #18543c;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.visit-table-header-context-menu button:hover,
.visit-table-header-context-menu button:focus-visible {
    border-color: #0a9a61;
    background: #e5f6ed;
    color: #087648;
    outline: none;
}

.soap-tray-adjust-menu .is-danger-entry {
    margin-top: 4px;
    border-color: #e4c2bf;
    background: #fff9f8;
    color: #9b3b35;
}

.soap-tray-adjust-menu .is-danger-entry:hover,
.soap-tray-adjust-menu .is-danger-entry:focus-visible {
    border-color: #c64b43;
    background: #fff0ee;
    color: #9b2d27;
}

.soap-tray-adjust-menu[hidden],
.soap-tray-adjust-form[hidden],
.soap-tray-adjust-form label[hidden] {
    display: none;
}

.soap-tray-adjust-popup button {
    min-width: 0;
    height: 38px;
    border: 1px solid #c4ddd3;
    border-radius: 6px;
    background: #f7fcf9;
    color: #18543c;
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    text-align: left;
    padding: 0 12px;
    cursor: pointer;
}

.soap-tray-adjust-popup button:hover,
.soap-tray-adjust-popup button:focus-visible {
    border-color: #0a9a61;
    background: #e5f6ed;
    color: #087648;
    outline: none;
}

.soap-tray-adjust-form {
    display: grid;
    gap: 9px;
}

.soap-tray-adjust-form > strong {
    color: #087648;
    font-size: 16px;
    font-weight: 950;
}

.soap-tray-adjust-form label {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.soap-tray-adjust-form label > span {
    color: #315577;
    font-size: 13px;
    font-weight: 850;
}

.soap-tray-adjust-form input,
.soap-tray-adjust-form select {
    width: 100%;
    min-width: 0;
    height: 36px;
    border: 1px solid #bfd8cf;
    border-radius: 6px;
    background: #ffffff;
    color: #173853;
    font: inherit;
    font-size: 14px;
    padding: 0 9px;
    box-sizing: border-box;
}

.soap-tray-adjust-form input:focus,
.soap-tray-adjust-form select:focus {
    border-color: #0a9a61;
    outline: 2px solid rgba(10, 154, 97, .14);
    outline-offset: 1px;
}

.soap-tray-adjust-lookup-results {
    max-height: min(250px, 36vh);
    display: grid;
    gap: 5px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid #c5ddd4;
    border-radius: 7px;
    background: #fbfefc;
    padding: 6px;
}

.soap-tray-adjust-lookup-results[hidden] {
    display: none;
}

.soap-tray-adjust-lookup-results button {
    height: auto;
    min-height: 42px;
    display: grid;
    grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    text-align: left;
    padding: 6px 9px;
}

.soap-tray-adjust-lookup-results button strong {
    color: #087648;
    font-size: 13px;
    font-weight: 950;
}

.soap-tray-adjust-lookup-results button span {
    min-width: 0;
    color: #274b41;
    font-size: 12px;
    font-weight: 750;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-tray-adjust-lookup-results > p {
    margin: 0;
    color: #667c75;
    font-size: 12px;
    font-weight: 750;
    text-align: center;
    padding: 9px;
}

.soap-tray-adjust-form > p {
    min-height: 18px;
    margin: 0;
    color: #b33a34;
    font-size: 12px;
    font-weight: 750;
}

.soap-tray-adjust-form footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 7px;
}

.soap-tray-reorder-list {
    max-height: min(340px, 48vh);
    display: grid;
    gap: 7px;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 2px;
}

.soap-tray-reorder-item {
    position: relative;
    min-height: 42px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    border: 1px solid #c4ddd3;
    border-radius: 7px;
    background: #f7fcf9;
    color: #173f35;
    padding: 5px 9px 5px 6px;
    cursor: grab;
    user-select: none;
    box-sizing: border-box;
}

.soap-tray-reorder-item:active {
    cursor: grabbing;
}

.soap-tray-reorder-item strong {
    min-width: 0;
    font-size: 14px;
    font-weight: 850;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-tray-reorder-item small {
    color: #6b817a;
    font-size: 11px;
    font-weight: 750;
}

.soap-tray-reorder-handle {
    color: #73958a;
    font-size: 19px;
    font-weight: 950;
    letter-spacing: -4px;
    text-align: center;
}

.soap-tray-reorder-item.is-dragging {
    opacity: .42;
}

.soap-tray-reorder-item.is-drop-before::before,
.soap-tray-reorder-item.is-drop-after::after {
    content: "";
    position: absolute;
    left: 5px;
    right: 5px;
    height: 3px;
    border-radius: 999px;
    background: #0a9a61;
    pointer-events: none;
}

.soap-tray-reorder-item.is-drop-before::before {
    top: -5px;
}

.soap-tray-reorder-item.is-drop-after::after {
    bottom: -5px;
}

.soap-tray-reorder-item.is-saving {
    opacity: .62;
    cursor: wait;
}

.soap-tray-adjust-form footer.soap-tray-reorder-footer {
    grid-template-columns: minmax(0, 110px) minmax(0, 1fr);
    align-items: center;
}

.soap-tray-reorder-footer > span {
    color: #5c756d;
    font-size: 11px;
    font-weight: 750;
    text-align: right;
}

.soap-tray-adjust-form footer .is-primary {
    border-color: #0a9a61;
    background: #0a9a61;
    color: #ffffff;
    text-align: center;
}

.soap-tray-remove-warning {
    border: 1px solid #e7b8b3;
    border-radius: 6px;
    background: #fff5f3;
    color: #8d332d;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
    padding: 8px 10px;
}

.soap-tray-adjust-form footer .is-danger {
    border-color: #bd3e37;
    background: #bd3e37;
    color: #ffffff;
    text-align: center;
}

.soap-tray-adjust-form footer .is-danger:disabled {
    border-color: #d8c9c7;
    background: #e8dfde;
    color: #9a8c8a;
    cursor: not-allowed;
}

.soap-tray-panel .soap-tray-palette-search span {
    font-size: 22px !important;
}

.soap-tray-panel .soap-tray-palette-search input {
    font-size: 13px !important;
}

.soap-tray-panel .soap-tray-palette-modes {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: flex !important;
    border-radius: 7px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin;
}

.soap-tray-panel .soap-tray-palette-modes button {
    flex: 1 0 76px !important;
    min-width: 0 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

.soap-tray-panel .soap-tray-palette-categories {
    display: flex !important;
    gap: 6px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin;
}

.soap-tray-panel .soap-tray-palette-categories button {
    flex: 0 0 auto !important;
    min-width: 112px !important;
    min-height: 36px !important;
    border: 1px solid #c8ded7 !important;
    border-radius: 7px !important;
    background: rgba(255, 255, 255, .9) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

.soap-tray-panel .soap-tray-palette-categories button.is-active {
    border-color: #0aa05c !important;
    background: #ecfff8 !important;
    color: #007d4f !important;
}

.soap-tray-panel .soap-tray-palette-grid {
    align-self: stretch !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: 54px !important;
    align-content: start !important;
    gap: 7px !important;
    padding: 0 2px !important;
    overflow: auto !important;
}

.soap-tray-panel .soap-tray-palette-item {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    border-radius: 7px !important;
    padding: 4px 5px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
}

.soap-tray-panel .soap-tray-palette-item small {
    color: #5b786f !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.1 !important;
}

.soap-tray-panel .soap-tray-palette-empty {
    min-height: 140px !important;
    font-size: 15px !important;
}

.soap-tray-panel .soap-tray-palette-status {
    position: static !important;
    align-self: end !important;
    justify-self: start !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
}

.soap-tray-panel.is-direct-reordering {
    box-shadow: inset 0 0 0 2px rgba(10, 154, 97, .34), 0 8px 24px rgba(21, 88, 65, .12) !important;
}

.soap-tray-panel.is-direct-reordering [data-soap-tray-direct-reorder-id] {
    position: relative;
    cursor: grab !important;
    user-select: none;
    touch-action: none;
}

.soap-tray-panel.is-direct-reordering [data-soap-tray-direct-reorder-id]:active {
    cursor: grabbing !important;
}

.soap-tray-panel.is-direct-reordering [data-soap-tray-direct-reorder-id]::before {
    content: "⋮⋮";
    position: absolute;
    top: 3px;
    left: 5px;
    color: rgba(0, 102, 62, .68);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: -3px;
    line-height: 1;
    pointer-events: none;
}

.soap-tray-panel.is-direct-reordering .is-direct-dragging {
    opacity: .38 !important;
}

.soap-tray-panel.is-direct-reordering .is-direct-drop-before {
    box-shadow: inset 4px 0 0 #00a867, 0 0 0 2px rgba(0, 168, 103, .24) !important;
}

.soap-tray-panel.is-direct-reordering .is-direct-drop-after {
    box-shadow: inset -4px 0 0 #00a867, 0 0 0 2px rgba(0, 168, 103, .24) !important;
}

.soap-tray-panel.is-direct-reorder-saving [data-soap-tray-direct-reorder-id] {
    opacity: .58;
    pointer-events: none;
    cursor: wait !important;
}

.soap-tray-panel.is-direct-reordering .soap-tray-palette-search input:disabled {
    background: #edf4f1 !important;
    color: #82918c !important;
    cursor: not-allowed;
}

.soap-reference-screen .diagnosis-table,
.soap-reference-screen .drug-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.soap-reference-screen .diagnosis-table {
    align-self: stretch;
    border-radius: 6px;
    background: var(--soap-panel);
    box-shadow: 0 0 0 1px var(--soap-line);
    overflow: hidden;
}

.soap-reference-screen .diagnosis-table th,
.soap-reference-screen .diagnosis-table td,
.soap-reference-screen .drug-table th,
.soap-reference-screen .drug-table td {
    border: 1px solid var(--soap-line);
    background: var(--soap-panel);
    color: var(--soap-ink);
    font-size: 15px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
}

.soap-reference-screen .diagnosis-table th {
    width: 48px;
    color: var(--soap-teal-dark);
    background: var(--soap-soft-blue);
}

.soap-reference-screen .diagnosis-table td {
    height: 38px;
    padding: 0;
}

.diagnosis-col-no {
    width: 6%;
}

.diagnosis-col-code {
    width: 14%;
}

.diagnosis-col-name {
    width: 30%;
}

.soap-reference-screen .diagnosis-table input:not([type="hidden"]) {
    width: 100%;
    height: 38px;
    min-width: 0;
    border: 0;
    border-radius: 0;
    padding: 0 9px;
    background: transparent;
    color: var(--soap-ink);
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    outline: none;
}

.soap-reference-screen .diagnosis-table .diagnosis-index-cell {
    background: linear-gradient(180deg, #f1fbfb 0%, #e4f4f7 100%);
    text-align: center;
    vertical-align: middle;
}

.soap-reference-screen .diagnosis-table .diagnosis-index-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border: 1px solid rgba(0, 127, 121, .28);
    border-radius: 50%;
    background: #ffffff;
    color: var(--soap-teal-dark);
    box-shadow: 0 2px 6px rgba(0, 96, 112, .08);
    font-size: 13px;
    font-weight: 950;
    line-height: 1;
    cursor: grab;
    user-select: none;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.soap-reference-screen .diagnosis-table .diagnosis-index-pill:active {
    cursor: grabbing;
}

.soap-reference-screen .diagnosis-table .diagnosis-index-cell.is-dragging {
    opacity: .68;
}

.soap-reference-screen .diagnosis-table .diagnosis-index-cell.is-dragging .diagnosis-index-pill {
    transform: scale(.94);
    border-color: rgba(0, 127, 121, .45);
    background: #e5f7f5;
}

.soap-reference-screen .diagnosis-table .diagnosis-index-cell.is-drop-target {
    background: linear-gradient(180deg, #dcf7f4 0%, #c8eee9 100%);
    box-shadow: inset 0 0 0 2px rgba(0, 137, 122, .75);
}

.soap-reference-screen .diagnosis-table .diagnosis-index-cell.is-drop-target .diagnosis-index-pill {
    border-color: rgba(0, 137, 122, .8);
    box-shadow: 0 0 0 3px rgba(0, 137, 122, .14);
}

.soap-reference-screen .diagnosis-table input:not([type="hidden"]):focus {
    background: #fffdf0;
    box-shadow: inset 0 0 0 2px #f2c94c;
}

.soap-reference-screen .diagnosis-table tr.is-chronic-diagnosis input:not([type="hidden"]),
.soap-reference-screen .diagnosis-table input.is-chronic-diagnosis:not([type="hidden"]) {
    color: #c62828;
    font-weight: 900;
}

.soap-prescription-area {
    min-height: 0;
    display: grid;
    grid-template-rows: 4px minmax(0, 1fr);
    gap: 5px;
    position: relative;
    border: 1px solid var(--soap-line);
    border-radius: 6px;
    background: #f8fcfc;
    padding: 5px;
    overflow: hidden;
}

.soap-prescription-area::before {
    content: "";
    display: block;
    border-radius: 999px;
    background: #c8e3e4;
}

.soap-reference-screen .drug-table {
    align-self: start;
    border-radius: 5px;
    background: var(--soap-panel);
    box-shadow: 0 0 0 1px #d8e4e8;
    overflow: hidden;
}

.soap-reference-screen .drug-table-scroll {
    min-height: 0;
    overflow: auto;
    border-radius: 5px;
    background: var(--soap-panel);
    box-shadow: 0 0 0 1px #d8e4e8;
}

.soap-reference-screen .drug-table-scroll .drug-table {
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

.soap-reference-screen .drug-table th {
    height: 32px;
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--soap-soft-blue);
    color: var(--soap-teal-dark);
}

.soap-reference-screen .drug-table th:nth-child(1),
.soap-reference-screen .drug-table th:nth-child(2) {
    cursor: context-menu;
}

.soap-reference-screen .drug-table td {
    height: 28px;
    padding: 0;
}

.soap-reference-screen .drug-table input {
    width: 100%;
    height: 28px;
    min-width: 0;
    border: 0;
    border-radius: 0;
    padding: 0 7px;
    background: transparent;
    color: var(--soap-ink);
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    text-align: center;
    outline: none;
}

.soap-reference-screen .drug-table td:nth-child(3) input {
    text-align: left;
}

.soap-reference-screen .drug-table input:focus {
    background: #fffdf0;
    box-shadow: inset 0 0 0 2px #f2c94c;
}

.soap-reference-screen .drug-table th:nth-child(1),
.soap-reference-screen .drug-table th:nth-child(5),
.soap-reference-screen .drug-table th:nth-child(6) {
    cursor: pointer;
}

.soap-reference-screen .drug-table th:nth-child(1):hover,
.soap-reference-screen .drug-table th:nth-child(2):hover,
.soap-reference-screen .drug-table th:nth-child(5):hover,
.soap-reference-screen .drug-table th:nth-child(6):hover {
    background: #d9f2ef;
    color: #006d73;
}

.soap-drug-batch-popup {
    position: fixed;
    z-index: 10116;
    width: min(420px, calc(100vw - 20px));
    display: grid;
    gap: 8px;
    border: 1px solid #55b7b1;
    border-top: 3px solid #008f85;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 16px 36px rgba(7, 23, 53, .22);
    padding: 10px;
    box-sizing: border-box;
}

.soap-drug-batch-popup[hidden] {
    display: none;
}

.soap-drug-batch-title {
    color: #006d73;
    font-size: 15px;
    font-weight: 950;
}

.soap-drug-batch-popup input {
    width: 100%;
    min-width: 0;
    height: 36px;
    border: 1px solid #b9d7d8;
    border-radius: 6px;
    background: #ffffff;
    color: #071735;
    font: inherit;
    font-size: 16px;
    font-weight: 850;
    padding: 0 10px;
    box-sizing: border-box;
}

.soap-drug-batch-popup input:focus {
    border-color: #008f85;
    outline: 2px solid rgba(0, 143, 133, .18);
    outline-offset: 1px;
}

.soap-drug-batch-options {
    display: grid;
    gap: 5px;
    max-height: 220px;
    overflow-y: auto;
    padding: 2px;
}

.soap-drug-batch-options[hidden] {
    display: none;
}

.soap-drug-batch-options > button {
    display: grid;
    grid-template-columns: minmax(42px, auto) minmax(0, 1fr);
    gap: 3px 10px;
    align-items: center;
    width: 100%;
    border: 1px solid #c7dddd;
    border-radius: 6px;
    background: #f8fbfd;
    color: #173853;
    padding: 7px 9px;
    text-align: left;
    cursor: pointer;
}

.soap-drug-batch-options > button:hover,
.soap-drug-batch-options > button.is-selected {
    border-color: #008f85;
    background: #e8f7f5;
}

.soap-drug-batch-options > button.is-filtered-out {
    display: none;
}

.soap-drug-batch-options > button strong {
    color: #006d73;
    font-size: 14px;
}

.soap-drug-batch-options > button small {
    min-width: 0;
    color: #315577;
    font-size: 13px;
    line-height: 1.3;
}

.soap-drug-batch-options > button small + small {
    grid-column: 2;
    color: #6a7f8c;
}

.soap-drug-batch-options-status {
    color: #6a7f8c;
    font-size: 13px;
    padding: 5px 2px;
}

.soap-drug-batch-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr) minmax(0, .8fr);
    gap: 6px;
}

.soap-drug-batch-actions button {
    min-width: 0;
    height: 32px;
    border: 1px solid #b9d7d8;
    border-radius: 6px;
    background: #f8fbfd;
    color: #315577;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.soap-drug-batch-actions button:hover {
    border-color: #008f85;
    background: #d9f2ef;
    color: #006d73;
}

.soap-drug-search-popup {
    position: fixed;
    z-index: 10110;
    max-height: min(300px, calc(100vh - 16px));
    display: grid;
    gap: 3px;
    padding: 6px;
    border: 1px solid #82bdc0;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 10px 26px rgba(7, 23, 53, .18);
    overflow: auto;
    overscroll-behavior: contain;
    overflow-anchor: none;
    scrollbar-gutter: stable;
    box-sizing: border-box;
}

.soap-drug-search-popup.is-local-panel {
    border-color: #75b5b9;
    box-shadow: 0 8px 22px rgba(7, 23, 53, .16);
}

.soap-drug-search-popup.is-tray-panel {
    border-color: #8dbdc1;
    border-radius: 4px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 4px 14px rgba(7, 23, 53, .12);
}

.soap-drug-search-popup[hidden] {
    display: none;
}

.soap-drug-search-option {
    width: 100%;
    min-height: 46px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    border: 0;
    border-radius: 5px;
    padding: 7px 8px;
    background: transparent;
    color: #071735;
    font: inherit;
    font-size: 13px;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
}

.soap-drug-search-popup.is-local-panel .soap-drug-search-option {
    min-height: 42px;
    grid-template-columns: minmax(0, 1fr);
}

.soap-drug-search-popup.is-tray-panel .soap-drug-search-option {
    min-height: 42px;
    grid-template-columns: minmax(0, 1fr);
}

.soap-drug-search-option:hover,
.soap-drug-search-option.is-active {
    background: #d9f2ef;
    color: #005f66;
    box-shadow: inset 4px 0 0 #008f85;
}

.soap-diagnosis-search-option.is-icd9-mapping {
    background: #f4fbf8;
    box-shadow: inset 4px 0 0 #4aa37d;
}

.soap-diagnosis-search-option.is-icd9-mapping:hover,
.soap-diagnosis-search-option.is-icd9-mapping.is-active {
    background: #dff4eb;
    box-shadow: inset 4px 0 0 #10715c;
}

.soap-drug-search-title {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.soap-drug-search-title strong,
.soap-drug-search-title span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-drug-search-title strong {
    color: #006d73;
    font-size: 14px;
    font-weight: 950;
}

.soap-drug-search-title span {
    font-size: 12px;
    font-weight: 850;
}

.soap-drug-search-meta {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #546879;
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
}

.soap-drug-search-popup.is-local-panel .soap-drug-search-meta {
    flex-wrap: wrap;
    white-space: normal;
}

.soap-drug-search-popup.is-tray-panel .soap-drug-search-meta {
    flex-wrap: wrap;
    white-space: normal;
}

.soap-drug-search-meta span {
    border-radius: 999px;
    padding: 2px 6px;
    background: #eef6f7;
}

.soap-drug-search-meta .soap-diagnosis-acuity.is-chronic {
    background: #ffe4e4;
    color: #b42318;
}

.soap-drug-search-meta .soap-diagnosis-acuity.is-acute {
    background: #e1f0ff;
    color: #1769aa;
}

.soap-drug-search-meta .soap-diagnosis-acuity.is-unknown {
    background: #edf0f2;
    color: #697680;
}

.soap-drug-search-option.is-active .soap-drug-search-meta span,
.soap-drug-search-option:hover .soap-drug-search-meta span {
    background: #008f85;
    color: #ffffff;
}

.soap-drug-search-empty {
    padding: 14px 16px;
    color: #546879;
    font-size: 15px;
    font-weight: 850;
}

.soap-reference-screen .drug-table tbody tr.is-selected td {
    background: #fffdf0;
}

.soap-reference-screen .diagnosis-table tr:nth-child(even) td,
.soap-reference-screen .drug-table tbody tr:nth-child(even) td {
    background: var(--soap-panel-muted);
}

.soap-reference-screen .drug-table tbody tr.is-selected:nth-child(even) td {
    background: #fff8d8;
}

.soap-reference-screen .drug-table td:nth-child(5),
.soap-reference-screen .drug-table td:nth-child(8) {
    color: var(--soap-blue);
    font-weight: 900;
}

.soap-reference-screen .soap-right-panel {
    grid-column: 2;
    grid-row: 4 / 6;
    display: grid;
    grid-template-rows: minmax(112px, auto) minmax(210px, .82fr) minmax(138px, 1fr);
    gap: 10px;
}

.soap-reference-screen.has-soap-tray .soap-right-panel {
    grid-column: 3;
}

.soap-reference-screen .soap-care-enrollment-panel {
    min-height: 0;
    display: grid;
    grid-template-rows: 34px 36px minmax(0, 1fr);
    border: 1px solid #c9dfe2;
    border-radius: 6px;
    background: #f8fcfc;
    overflow: hidden;
}

.soap-reference-screen .soap-care-enrollment-panel header {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    border-bottom: 1px solid #dbe8ec;
    background: #eef8f8;
}

.soap-reference-screen .soap-care-enrollment-panel header strong,
.soap-reference-screen .soap-care-enrollment-panel header span {
    min-width: 0;
    padding: 0 10px;
    color: #005f66;
    font-size: 14px;
    font-weight: 950;
}

.soap-reference-screen .soap-care-enrollment-panel header span {
    color: #5b7078;
    font-size: 12px;
    white-space: nowrap;
}

.soap-care-enrollment-tabs {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    align-items: center;
    border-bottom: 1px solid #dbe8ec;
    padding: 4px;
    background: #f8fcfc;
}

.soap-care-enrollment-tabs button {
    min-width: 0;
    height: 28px;
    border: 1px solid #c9dfe2;
    border-radius: 6px;
    background: #ffffff;
    color: #315577;
    font: inherit;
    font-size: 12px;
    font-weight: 950;
    cursor: pointer;
}

.soap-care-enrollment-tabs button.is-active {
    border-color: #008f85;
    background: #d9f2ef;
    color: #006d73;
}

.soap-care-enrollment-tabs button:hover {
    border-color: #008f85;
    background: #eefafa;
    color: #006d73;
}

.soap-care-enrollment-list {
    min-height: 0;
    display: grid;
    grid-auto-rows: minmax(40px, auto);
    align-content: start;
    gap: 4px;
    padding: 5px;
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: #8ca9ad transparent;
}

.soap-care-enrollment-list::-webkit-scrollbar {
    width: 7px;
}

.soap-care-enrollment-list::-webkit-scrollbar-track {
    background: transparent;
}

.soap-care-enrollment-list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #9ab5b8;
}

.soap-care-enrollment-item {
    min-width: 0;
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: center;
    gap: 1px 7px;
    border: 1px solid #d8e4e8;
    border-radius: 5px;
    padding: 5px 8px;
    background: #ffffff;
    color: #0d3440;
    text-align: left;
    cursor: pointer;
}

.soap-care-enrollment-item:hover,
.soap-care-enrollment-item:focus-visible {
    border-color: #008f85;
    background: #e8f8f6;
    outline: none;
    box-shadow: inset 4px 0 0 #008f85;
}

.soap-care-enrollment-item b,
.soap-care-enrollment-item span,
.soap-care-enrollment-item em,
.soap-care-enrollment-item small {
    min-width: 0;
}

.soap-care-enrollment-item b {
    grid-row: 1 / 3;
    color: #006d73;
    font-size: 14px;
    font-weight: 950;
}

.soap-care-enrollment-item span {
    overflow: hidden;
    color: #0d3440;
    font-size: 13px;
    font-weight: 950;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-care-enrollment-item em {
    border-radius: 999px;
    padding: 2px 7px;
    background: #d9f2ef;
    color: #006d73;
    font-size: 12px;
    font-style: normal;
    font-weight: 950;
    white-space: nowrap;
}

.soap-care-enrollment-item small {
    grid-column: 2 / 4;
    overflow: hidden;
    color: #62737d;
    font-size: 12px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-care-enrollment-item.is-review em {
    background: #fff3c4;
    color: #806000;
}

.soap-care-enrollment-empty {
    margin: 0;
    display: grid;
    place-items: center;
    min-height: 58px;
    color: var(--soap-muted);
    font-size: 13px;
    font-weight: 900;
    text-align: center;
}

.soap-reference-screen .history-query-panel {
    min-height: 0;
    display: grid;
    grid-template-rows: 38px minmax(0, 1fr);
    border: 1px solid var(--soap-line);
    border-radius: 6px;
    background: var(--soap-panel);
    overflow: hidden;
}

.soap-reference-screen .history-tabs {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.soap-reference-screen .history-tabs button {
    border: 1px solid var(--soap-line);
    background: var(--soap-panel-muted);
    color: var(--soap-ink);
    font-size: 14px;
    font-weight: 900;
}

.soap-reference-screen .history-tabs .is-active {
    border-bottom-color: var(--soap-teal);
    background: var(--soap-soft);
    color: var(--soap-teal-dark);
}

.soap-reference-screen .history-note {
    padding: 12px 14px;
    background: #f8fcfc;
    color: #0a7179;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.5;
    overflow: auto;
}

.soap-reference-screen .history-note p {
    margin: 0 0 2px;
}

.soap-reference-screen .soap-history-empty {
    color: var(--soap-muted);
}

.soap-reference-screen .soap-history-detail {
    display: none;
    gap: 8px;
}

.soap-reference-screen .soap-history-detail.is-active {
    display: grid;
}

.soap-reference-screen .soap-history-detail-head {
    display: grid;
    gap: 2px;
    padding-bottom: 6px;
    border-bottom: 1px solid #dbe8ec;
}

.soap-reference-screen .soap-history-detail-head strong {
    color: var(--soap-teal-dark);
    font-size: 16px;
}

.soap-reference-screen .soap-history-detail-head span {
    min-width: 0;
    color: var(--soap-muted);
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-reference-screen .soap-history-section {
    display: grid;
    gap: 2px;
    padding: 6px 0;
    border-bottom: 1px solid #e4eef1;
}

.soap-reference-screen .soap-history-section:last-child {
    border-bottom: 0;
}

.soap-reference-screen .soap-history-section b {
    color: var(--soap-ink);
    font-size: 13px;
}

.soap-reference-screen .soap-history-section ul {
    display: grid;
    gap: 3px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.soap-reference-screen .soap-history-section li {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-reference-screen .visit-history-list {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    gap: 5px;
    border: 1px solid var(--soap-line);
    border-radius: 6px;
    background: #f8fcfc;
    padding: 5px;
    overflow: hidden;
}

.soap-reference-screen .visit-history-list:focus-visible {
    outline: 2px solid #008f85;
    outline-offset: 2px;
}

.soap-reference-screen .visit-history-list label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    border: 1px solid #d8e4e8;
    border-radius: 5px;
    padding: 0 9px 0 10px;
    background: #ffffff;
    color: #0a7179;
    font-size: 16px;
    font-weight: 900;
    text-align: left;
}

.soap-reference-screen .visit-history-list label input {
    flex: 0 0 auto;
    margin-left: 8px;
}

.visit-history-items {
    min-height: 0;
    display: grid;
    grid-auto-rows: 35px;
    align-content: start;
    gap: 4px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #8ca9ad transparent;
}

.soap-reference-screen .visit-history-list button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-width: 0;
    border: 1px solid #d8e4e8;
    border-radius: 5px;
    padding: 0 9px;
    background: #ffffff;
    color: #0a7179;
    font-size: 16px;
    font-weight: 900;
    text-align: left;
}

.soap-reference-screen .visit-history-items button:nth-child(even) {
    background: #edf6f6;
}

.soap-reference-screen .visit-history-list button span {
    min-width: 0;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.soap-reference-screen .visit-history-list button time {
    flex: 0 0 auto;
    margin-left: 8px;
    color: var(--soap-muted);
    font-size: 12px;
}

.soap-reference-screen .visit-history-list button.is-active,
.soap-reference-screen .visit-history-list button.is-active:nth-child(even) {
    border-color: #008f85;
    background: #d9f2ef;
    color: #005f66;
    box-shadow: inset 5px 0 0 #008f85, 0 0 0 1px rgba(0, 143, 133, .26);
}

.soap-reference-screen .visit-history-list button.is-active span {
    color: #005f66;
    font-weight: 950;
}

.soap-reference-screen .visit-history-list button.is-active time {
    border-radius: 999px;
    padding: 2px 7px;
    background: #008f85;
    color: #ffffff;
    font-weight: 950;
}

.soap-reference-screen .visit-history-list button:focus-visible {
    outline: 2px solid #008f85;
    outline-offset: 1px;
}

.soap-reference-screen .visit-history-list button:disabled {
    cursor: default;
    color: var(--soap-muted);
}

.visit-history-items::-webkit-scrollbar {
    width: 7px;
}

.visit-history-items::-webkit-scrollbar-track {
    background: transparent;
}

.visit-history-items::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #9ab5b8;
}

@media (max-width: 1280px), (max-height: 720px) {
    .soap-reference-screen {
        grid-template-columns: minmax(540px, 1.34fr) minmax(300px, .76fr);
        grid-template-rows: minmax(26px, auto) 34px 38px minmax(32px, auto) minmax(0, 1fr);
        gap: 4px;
        padding: 4px 6px 6px;
    }

    .soap-reference-screen.has-soap-tray {
        grid-template-columns: minmax(430px, 1fr) minmax(320px, 380px) minmax(250px, .72fr);
    }

    .soap-reference-screen .soap-patient-bar {
        min-height: 26px;
        gap: 3px 5px;
        padding: 2px 6px;
        font-size: 11px;
    }

    .soap-reference-screen .soap-patient-bar > strong,
    .soap-reference-screen .soap-patient-bar > span,
    .soap-reference-screen .soap-patient-bar > b {
        min-height: 20px;
        padding: 0 5px;
    }

    .soap-reference-screen .soap-address {
        flex-basis: 170px;
    }

    .soap-reference-screen .soap-vitals-row {
        grid-template-columns: repeat(auto-fit, minmax(70px, 1fr));
        gap: 5px;
    }

    .soap-reference-screen .soap-vitals-row label {
        min-height: 30px;
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .soap-reference-screen .soap-vitals-row span,
    .soap-reference-screen .soap-vitals-row input,
    .soap-reference-screen .soap-chart-toolbar strong,
    .soap-reference-screen .soap-chart-toolbar button {
        font-size: 14px;
        min-height: 30px;
    }

    .soap-reference-screen .soap-chart-toolbar {
        grid-template-columns: minmax(342px, .34fr) minmax(0, 1fr);
        gap: 6px;
    }

    .soap-chart-identity {
        grid-template-columns: 108px 112px 96px;
        gap: 5px;
        padding: 3px;
    }

    .soap-chart-tools {
        grid-template-columns: 136px minmax(0, 1fr);
        gap: 6px;
        padding: 3px;
    }

    .soap-reference-screen .soap-mini-tabs,
    .soap-function-actions {
        gap: 4px;
    }

    .soap-function-actions {
        grid-template-columns: repeat(9, minmax(40px, 1fr));
    }

    .soap-function-actions button {
        padding: 0 5px;
    }

    .soap-reference-screen .soap-alert-strip {
        gap: 5px 8px;
        padding: 3px 0;
    }

    .soap-order-time-modal {
        padding: 10px;
    }

    .soap-order-time-card {
        gap: 10px;
        padding: 0 12px 12px;
    }

    .soap-order-time-patient {
        min-height: 44px;
        margin: 0 -12px;
        padding: 0 14px;
        font-size: 13px;
    }

    .soap-order-time-patient span {
        padding: 0 12px;
    }

    .soap-order-time-title {
        gap: 10px;
    }

    .soap-order-time-title h2 {
        font-size: 24px;
    }

    .soap-order-time-title-icon {
        width: 34px;
        height: 34px;
        background:
            linear-gradient(#2f7ed8, #2f7ed8) 8px 10px / 18px 3px no-repeat,
            linear-gradient(#2f7ed8, #2f7ed8) 8px 18px / 18px 3px no-repeat,
            linear-gradient(#2f7ed8, #2f7ed8) 8px 26px / 12px 3px no-repeat,
            #f7fbff;
    }

    .soap-order-time-actions {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        padding: 12px;
    }

    .soap-order-time-reminder {
        justify-self: start;
    }

    .soap-order-time-actions button,
    .soap-order-time-reminder {
        min-height: 38px;
        font-size: 14px;
    }

    .soap-order-time-actions button {
        min-width: 90px;
        padding: 0 12px;
    }

    .soap-order-time-recalc {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .soap-order-time-table {
        min-width: 1120px;
        font-size: 14px;
    }

    .soap-order-time-table th,
    .soap-order-time-table td {
        padding: 7px;
    }

    .soap-order-time-table input,
    .soap-order-time-table select {
        height: 36px;
        padding: 0 7px;
    }

    .soap-order-time-note {
        gap: 8px;
        padding: 14px 18px;
        font-size: 14px;
    }

    .soap-order-time-note p {
        padding-left: 16px;
    }

    .soap-save-modal {
        padding: 14px;
    }

    .soap-draft-modal {
        padding: 14px;
    }

    .soap-draft-card {
        width: min(390px, calc(100vw - 28px));
        gap: 14px;
        padding: 18px;
    }

    .soap-draft-card h2 {
        font-size: 20px;
    }

    .soap-draft-card p {
        font-size: 16px;
    }

    .soap-draft-actions button {
        min-height: 38px;
        font-size: 15px;
    }

    .soap-package-modal {
        padding: 14px;
    }

    .soap-package-list-popup {
        right: 10px;
        width: calc(100vw - 20px);
        max-height: min(78vh, 620px);
    }

    .soap-package-list-header {
        padding: 9px 10px;
    }

    .soap-package-list-controls {
        gap: 7px;
        padding: 8px;
    }

    .soap-package-list-search {
        height: 34px;
        font-size: 14px;
    }

    .soap-package-list-segment {
        gap: 4px;
    }

    .soap-package-list-segment button {
        height: 30px;
        font-size: 13px;
    }

    .soap-package-list-content {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(130px, .9fr) minmax(180px, 1fr);
    }

    .soap-package-preview {
        border-left: 0;
        border-top: 1px solid #d7e6f2;
    }

    .soap-package-preview-section pre {
        max-height: 112px;
    }

    .soap-package-preview-diagnoses,
    .soap-package-preview-drugs {
        max-height: 126px;
    }

    .soap-package-list-item {
        padding: 8px 9px;
    }

    .soap-package-card {
        width: min(720px, calc(100vw - 28px));
        max-height: calc(100vh - 28px);
        grid-template-rows: auto auto auto auto auto;
        gap: 10px;
        padding: 14px;
    }

    .soap-package-header {
        align-items: stretch;
        flex-direction: column;
    }

    .soap-package-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .soap-package-actions button {
        width: 100%;
        min-width: 0;
    }

    .soap-package-note textarea {
        min-height: 130px;
    }

    .soap-package-diagnosis-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .soap-package-diagnosis-grid label {
        grid-template-columns: 26px minmax(84px, .45fr) minmax(120px, 1fr);
        gap: 6px;
    }

    .soap-package-drug-table {
        min-width: 900px;
    }

    .soap-save-card {
        width: min(1280px, calc(100vw - 28px));
        max-height: calc(100vh - 28px);
        gap: 10px;
        padding: 14px;
    }

    .soap-save-toolbar {
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 10px;
    }

    .soap-save-actions {
        gap: 8px;
    }

    .soap-save-actions button {
        min-width: 92px;
    }

    .soap-save-actions button,
    .soap-save-switch,
    .soap-save-surgery-search {
        min-height: 36px;
        font-size: 14px;
    }

    .soap-save-amount {
        grid-template-columns: auto minmax(50px, max-content) minmax(112px, 150px);
        font-size: 15px;
    }

    .soap-save-amount strong {
        margin-right: 8px;
    }

    .soap-save-amount span,
    .soap-save-amount input {
        height: 36px;
        min-height: 36px;
        font-size: 14px;
    }

    .soap-save-amount span {
        width: 50px;
        min-width: 50px;
        padding: 0 10px;
    }

    .soap-save-amount input {
        width: 140px;
        min-width: 112px;
    }

    .soap-save-flags {
        gap: 6px 10px;
        font-size: 13px;
    }

    .soap-save-section {
        padding: 14px 12px 12px;
    }

    .soap-save-section legend {
        font-size: 15px;
    }

    .soap-save-basic-grid {
        grid-template-columns: repeat(16, minmax(0, 1fr));
        gap: 10px 8px;
    }

    .soap-save-field,
    .soap-save-fee-grid label {
        gap: 8px;
        font-size: 13px;
    }

    .soap-save-field input,
    .soap-save-field select,
    .soap-save-fee-grid input {
        height: 34px;
        font-size: 13px;
        padding: 0 7px;
    }

    .soap-save-field.disease-code,
    .soap-save-field.disease-name,
    .soap-save-field.disease-extra,
    .soap-save-field.case-type {
        grid-column: span 5;
    }

    .soap-save-field.surgery-code,
    .soap-save-field.sequence-pair {
        grid-column: span 4;
    }

    .soap-save-field.pharmacist {
        grid-column: span 4;
    }

    .soap-save-field.compact {
        grid-column: span 2;
    }

    .soap-save-basic-grid > .soap-save-field:not(.disease-code):not(.disease-name):not(.disease-extra):not(.case-type):not(.pharmacist):not(.compact),
    .soap-save-surgery-search {
        grid-column: span 4;
    }

    .soap-save-switch {
        min-width: 40px;
    }

    .soap-save-fee-grid,
    .soap-save-drug-fee-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px 14px;
    }

    .soap-save-description {
        min-height: 116px;
    }

    .soap-save-disease-text {
        min-height: 76px;
        font-size: 14px;
    }

    .soap-alert-flags {
        gap: 10px;
    }

    .soap-flag-group {
        gap: 8px;
        padding: 4px 7px;
    }

    .soap-special-note {
        min-width: 92px;
    }

    .soap-flag-group > span,
    .soap-flag-group > b,
    .soap-flag-group > button,
    .soap-flag-group > label {
        min-width: 28px;
        padding: 0 8px;
    }

    .soap-reference-screen .soap-alert-strip button,
    .soap-reference-screen .soap-alert-strip span,
    .soap-reference-screen .soap-alert-strip b,
    .soap-reference-screen .soap-alert-strip label {
        min-height: 28px;
        font-size: 12px;
    }

    .soap-reference-screen .soap-main-grid {
        grid-template-columns: minmax(540px, 1.34fr) minmax(300px, .76fr);
        gap: 4px;
    }

    .soap-reference-screen .soap-left-panel {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(34px, auto) 118px 84px minmax(0, 1fr);
        gap: 5px;
    }

    .soap-reference-screen.has-soap-tray .soap-tray-panel {
        grid-column: 2;
        grid-row: 4 / 6;
        grid-template-rows: auto auto minmax(0, 1fr) 18px;
    }

    .soap-reference-screen.has-soap-tray .soap-right-panel {
        grid-column: 3;
    }

    .soap-reference-screen.has-soap-tray .soap-tray-slots {
        grid-auto-rows: 26px;
    }

    .soap-reference-screen.has-soap-tray .soap-tray-drug-grid {
        height: min(calc(var(--soap-tray-drug-row-height) * 3), 100%);
        max-height: calc(var(--soap-tray-drug-row-height) * 3);
        grid-auto-rows: var(--soap-tray-drug-row-height);
    }

    .soap-reference-screen.has-soap-tray .soap-tray-drug-cell {
        min-height: var(--soap-tray-drug-row-height);
    }

    .soap-special-note-row {
        font-size: 13px;
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .soap-special-note-row strong,
    .soap-special-note-row span {
        padding: 5px 8px;
    }

    .soap-reference-screen .soap-note-box {
        font-size: 14px;
    }

    .soap-reference-screen .soap-note-box textarea {
        padding: 6px 9px;
    }

    .soap-reference-screen .drug-table th,
    .soap-reference-screen .drug-table td,
    .soap-reference-screen .diagnosis-table th,
    .soap-reference-screen .diagnosis-table td {
        font-size: 12px;
    }

    .soap-reference-screen .drug-table input {
        height: 26px;
        padding: 0 5px;
        font-size: 12px;
    }

    .soap-reference-screen .diagnosis-table input:not([type="hidden"]) {
        height: 30px;
        padding: 0 6px;
        font-size: 12px;
    }

    .soap-prescription-area {
        grid-template-rows: 3px minmax(0, 1fr);
        gap: 4px;
        padding: 4px;
    }

    .soap-reference-screen .history-note,
    .soap-reference-screen .visit-history-list label,
    .soap-reference-screen .visit-history-list button {
        font-size: 13px;
    }

    .soap-reference-screen .soap-right-panel {
        grid-template-rows: minmax(86px, auto) minmax(166px, .75fr) minmax(112px, 1fr);
        gap: 5px;
    }

    .soap-reference-screen .soap-care-enrollment-panel {
        grid-template-rows: 28px 32px minmax(0, 1fr);
    }

    .soap-reference-screen .soap-care-enrollment-panel header strong,
    .soap-reference-screen .soap-care-enrollment-panel header span {
        padding: 0 8px;
        font-size: 12px;
    }

    .soap-care-enrollment-list {
        grid-auto-rows: minmax(32px, auto);
        gap: 3px;
        padding: 4px;
    }

    .soap-care-enrollment-tabs {
        gap: 3px;
        padding: 3px;
    }

    .soap-care-enrollment-tabs button {
        height: 25px;
        font-size: 11px;
    }

    .soap-care-enrollment-item {
        grid-template-columns: 46px minmax(0, 1fr) auto;
        gap: 0 5px;
        padding: 4px 6px;
    }

    .soap-care-enrollment-item b,
    .soap-care-enrollment-item span {
        font-size: 12px;
    }

    .soap-care-enrollment-item em,
    .soap-care-enrollment-item small,
    .soap-care-enrollment-empty {
        font-size: 11px;
    }

    .soap-reference-screen .history-query-panel {
        grid-template-rows: 32px 32px minmax(0, 1fr);
    }

    .soap-reference-screen .visit-history-list {
        grid-template-rows: minmax(0, 1fr);
        gap: 4px;
        padding: 4px;
    }

    .visit-history-items {
        grid-auto-rows: 30px;
        gap: 3px;
    }

}

@media (max-width: 900px) {
    .soap-reference-screen {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(26px, auto) 34px 38px minmax(62px, auto) minmax(0, 1fr);
    }

    .soap-reference-screen.has-soap-tray {
        grid-template-columns: minmax(0, 1fr);
        overflow: auto;
    }

    .soap-reference-screen .soap-alert-strip,
    .soap-reference-screen .soap-main-grid,
    .soap-reference-screen .soap-left-panel,
    .soap-reference-screen .soap-right-panel,
    .soap-reference-screen .soap-tray-panel {
        grid-column: 1;
        grid-row: auto;
    }

    .soap-reference-screen.has-soap-tray .soap-left-panel,
    .soap-reference-screen.has-soap-tray .soap-right-panel,
    .soap-reference-screen.has-soap-tray .soap-tray-panel {
        grid-column: 1;
        grid-row: auto;
    }

    .soap-reference-screen .soap-main-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
    }

    .soap-tray-panel {
        width: auto;
        height: min(420px, 52vh);
    }

    .soap-alert-flags {
        flex: 1 1 100%;
        margin-left: 0;
    }

    .soap-alert-actions {
        flex: 1 1 100%;
        margin-left: 0;
        justify-content: flex-end;
    }

    .soap-flag-group {
        width: 100%;
        justify-content: space-between;
        gap: 4px;
        padding: 3px 5px;
    }

    .soap-flag-group > span,
    .soap-flag-group > b,
    .soap-flag-group > button,
    .soap-flag-group > label {
        min-width: 0;
        flex: 1 1 0;
        padding: 0 4px;
    }

    .soap-save-toolbar {
        grid-template-columns: minmax(0, 1fr);
    }

    .soap-save-amount,
    .soap-save-flags {
        justify-self: start;
    }

    .soap-save-basic-grid,
    .soap-save-fee-grid,
    .soap-save-drug-fee-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .soap-save-field.disease-code,
    .soap-save-field.disease-name,
    .soap-save-field.disease-extra,
    .soap-save-field.case-type,
    .soap-save-field.pharmacist,
    .soap-save-field.compact,
    .soap-save-basic-grid > .soap-save-field:not(.disease-code):not(.disease-name):not(.disease-extra):not(.case-type):not(.pharmacist):not(.compact),
    .soap-save-surgery-search,
    .soap-save-switch {
        grid-column: span 1;
    }

    .soap-save-field,
    .soap-save-fee-grid label {
        grid-template-columns: minmax(74px, auto) minmax(0, 1fr);
    }
}
/* Registration entry reference modal, shared by Registered and Outpatient. */
.registration-entry-modal {
    padding: 10px;
    background: rgba(229, 239, 244, .72);
}

.registration-entry-card {
    width: min(1658px, calc(100vw - 20px));
    height: min(906px, calc(100vh - 20px));
    border: 1px solid #d6e6ee;
    border-radius: 8px;
    background: #fbfdff;
    box-shadow: 0 18px 58px rgba(22, 56, 76, .16);
    overflow: hidden;
}

.registration-entry-modal,
.registration-entry-modal * {
    box-sizing: border-box;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.registration-entry-modal::-webkit-scrollbar,
.registration-entry-modal *::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

#visitRegistrationForm {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: 36px 144px 88px 142px 80px minmax(0, 1fr);
    gap: 0;
    overflow: hidden;
    color: #14243b;
}

#visitRegistrationForm > * {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.registration-entry-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    border-bottom: 1px solid #dce9f1;
    background: linear-gradient(180deg, #fbfeff 0%, #f2f9fb 100%);
}

.registration-window-title {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    overflow: hidden;
    color: #16243a;
    font-size: 16px;
    font-weight: 900;
    white-space: nowrap;
}

.registration-window-title strong {
    color: #16243a;
    font-size: 17px;
    font-weight: 900;
}

#closeVisitRegistration {
    width: 30px;
    height: 30px;
    border: 1px solid #c7dbe7;
    border-radius: 7px;
    background: #ffffff;
    color: #007c99;
    font-size: 23px;
    line-height: 1;
}

.registration-entry-profile {
    display: grid;
    grid-template-columns: minmax(260px, 1.05fr) minmax(240px, .95fr) minmax(240px, .9fr) minmax(240px, .95fr) minmax(240px, 1fr);
    grid-template-rows: 58px 52px;
    gap: 10px 22px;
    align-items: center;
    padding: 14px 26px 12px;
    border: 1px solid #dce9f1;
    border-radius: 7px;
    margin: 8px 14px 0;
    background: rgba(255, 255, 255, .92);
}

.registration-entry-profile > * {
    min-width: 0;
}

.registration-entry-id {
    grid-row: 1 / span 2;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    height: 100%;
    padding-right: 26px;
    border-right: 1px solid #dce9f1;
}

.registration-entry-id > div:last-child {
    display: grid;
    gap: 9px;
    min-width: 0;
}

.registration-avatar {
    width: 78px;
    height: 78px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(180deg, #d7f2ee 0%, #c7ece7 100%);
    position: relative;
}

.registration-avatar::before {
    content: "";
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(180deg, #0aa99c 0%, #008b82 100%);
    transform: translateY(-11px);
}

.registration-avatar::after {
    content: "";
    position: absolute;
    bottom: 18px;
    width: 48px;
    height: 22px;
    border-radius: 22px 22px 7px 7px;
    background: linear-gradient(180deg, #09a99c 0%, #008b82 100%);
}

.registration-entry-id strong {
    color: #008f85;
    font-size: 34px;
    line-height: 1;
    letter-spacing: 0;
}

.registration-entry-id span {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #14243b;
    font-size: 28px;
    font-weight: 900;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: none;
    box-shadow: none;
}

.registration-entry-profile label {
    min-width: 0;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}

.registration-entry-profile label span,
.registration-card-strip label span,
.registration-entry-grid label > span:first-child,
.registration-entry-vitals span,
.registration-entry-note header span {
    color: #008f85;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.registration-entry-profile label span {
    font-size: 19px;
}

.registration-entry-profile input,
.registration-card-strip input,
.registration-entry-grid input,
.registration-entry-grid select,
.registration-entry-vitals input,
.registration-entry-note input {
    width: 100%;
    min-width: 0;
    height: 38px;
    border: 1px solid #d8e3ec;
    border-radius: 6px;
    padding: 0 11px;
    background: #ffffff;
    color: #14243b;
    font-size: 20px;
    font-weight: 800;
    overflow: hidden;
    text-overflow: ellipsis;
}

.registration-entry-profile .registration-address {
    grid-column: 3 / span 3;
    grid-template-columns: 72px minmax(0, 1fr);
}

.registration-inline-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 38px;
    gap: 8px;
    min-width: 0;
}

.registration-inline-control button {
    width: 38px;
    height: 38px;
    border: 1px solid #d8e3ec;
    border-radius: 6px;
    background: #ffffff;
    color: #14243b;
    font-size: 17px;
    font-weight: 900;
}

.registration-entry-profile .is-hidden {
    display: none;
}

.registration-card-strip {
    display: grid;
    grid-template-columns: 78px 116px minmax(120px, .62fr) minmax(120px, .62fr) minmax(100px, .5fr) minmax(360px, 1.8fr) 108px;
    align-items: center;
    gap: 16px;
    min-width: 0;
    margin: 8px 14px 0;
    padding: 12px 24px;
    border: 1px solid #dce9f1;
    border-radius: 7px;
    background: #ffffff;
}

.registration-ic-chip {
    width: 70px;
    height: 44px;
    padding: 0;
    border-radius: 7px;
    background:
        linear-gradient(90deg, rgba(151, 94, 0, .18) 0 2px, transparent 2px 13px),
        linear-gradient(180deg, #ffd83d 0%, #f0a700 100%);
    border: 1px solid #e2a000;
    box-shadow: inset 0 0 0 5px rgba(255, 232, 88, .52);
    cursor: pointer;
}

.registration-ic-chip:hover {
    filter: brightness(1.06);
}

.registration-ic-chip:focus-visible {
    outline: 3px solid rgba(0, 143, 133, .45);
    outline-offset: 2px;
}

.registration-card-strip label {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.registration-ic-note {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
}

.registration-ic-note input {
    color: #008f85;
    text-align: center;
}

.registration-card-strip label span {
    font-size: 18px;
}

.registration-card-strip input {
    height: 36px;
    font-size: 18px;
    text-align: center;
}

.registration-available input {
    color: #ff1f30;
}

.registration-status-message {
    grid-template-columns: 54px minmax(0, 1fr) !important;
}

.registration-status-message input {
    border-color: #8ecfbf;
    background: linear-gradient(90deg, #eefaf5 0%, #ffffff 100%);
    color: #008f85;
    text-align: left;
}

.registration-transfer {
    height: 42px;
    border: 1px solid #ff8f8f;
    border-radius: 7px;
    background: #ffffff;
    color: #f33232;
    font-size: 20px;
    font-weight: 900;
}

.registration-entry-grid {
    display: grid;
    grid-template-columns: minmax(140px, 1.45fr) 62px minmax(48px, .45fr) minmax(62px, .56fr) minmax(64px, .62fr) minmax(56px, .5fr) minmax(56px, .5fr) minmax(56px, .5fr) minmax(64px, .55fr) minmax(88px, .82fr) minmax(90px, .9fr) minmax(76px, .7fr) minmax(76px, .7fr) minmax(78px, .72fr) minmax(78px, .72fr) minmax(78px, .72fr) 112px;
    grid-template-rows: 66px 34px;
    align-items: end;
    gap: 8px 6px;
    min-width: 0;
    margin: 8px 14px 0;
    padding: 10px 24px 8px;
    border: 1px solid #dce9f1;
    border-radius: 7px;
    background: #ffffff;
}

.registration-entry-grid label {
    min-width: 0;
    display: grid;
    grid-template-rows: 20px 38px;
    gap: 5px;
}

.registration-entry-grid label > span:first-child {
    font-size: 18px;
    text-align: center;
}

.registration-entry-grid input,
.registration-entry-grid select {
    height: 38px;
    font-size: 18px;
    text-align: center;
}

.registration-date-field input {
    color: #e51628;
    text-align: left;
}

.registration-small-command {
    align-self: end;
    height: 38px;
    border: 1px solid #d8e3ec;
    border-radius: 6px;
    background: #ffffff;
    color: #008f85;
    font-size: 16px;
    font-weight: 900;
}

.registration-entry-grid .registration-entry-actions {
    grid-column: 17;
    grid-row: 1 / span 2;
    display: grid;
    align-self: stretch;
    gap: 8px;
    padding: 0;
    border: 0;
    background: transparent;
}

.registration-entry-actions button {
    min-width: 0;
    min-height: 0;
    height: 38px;
    border: 1px solid #ff9696;
    border-radius: 6px;
    background: #ffffff;
    color: #ff2020;
    font-size: 19px;
    font-weight: 900;
}

.registration-entry-actions button.is-primary {
    border-color: #88cfc0;
    background: #ffffff;
    color: #008f85;
}

.registration-entry-help {
    grid-column: 1 / 17;
    grid-row: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 94px;
    align-items: center;
    min-width: 0;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #14243b;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.2;
}

.registration-entry-help p {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registration-entry-help span {
    color: #14243b;
    text-align: right;
    white-space: nowrap;
}

.registration-entry-vitals {
    display: grid;
    grid-template-columns: repeat(8, minmax(86px, 144px)) minmax(0, 1fr);
    align-items: center;
    gap: 10px 28px;
    min-width: 0;
    margin: 8px 14px 0;
    padding: 18px 22px;
    border: 1px solid #dce9f1;
    border-radius: 7px;
    background: #ffffff;
}

.registration-entry-vitals label {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.registration-entry-vitals span {
    font-size: 17px;
}

.registration-entry-vitals input {
    height: 38px;
    font-size: 18px;
    text-align: center;
}

.registration-entry-lower {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(250px, 360px) minmax(420px, 1.12fr);
    gap: 8px;
    min-height: 0;
    min-width: 0;
    margin: 8px 14px 12px;
    padding: 0;
    background: transparent;
    overflow: hidden;
}

.registration-entry-note,
.registration-fast-panel,
.registration-entry-history {
    min-width: 0;
    min-height: 0;
    border: 1px solid #dce9f1;
    border-radius: 7px;
    background: #ffffff;
    overflow: hidden;
}

.registration-entry-note {
    display: grid;
    grid-template-rows: 54px minmax(0, 1fr);
}

.registration-entry-note header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40px 40px 40px;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border-bottom: 1px solid #e3eef4;
}

.registration-entry-note header label {
    display: grid;
    grid-template-columns: 116px minmax(0, 68px);
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.registration-entry-note header span {
    font-size: 19px;
}

.registration-entry-note header input {
    height: 32px;
    background: #fff0f0;
    color: #e51628;
    font-size: 16px;
    text-align: center;
}

.registration-entry-note header button,
.registration-fast-panel button {
    height: 34px;
    border: 1px solid #d8e3ec;
    border-radius: 6px;
    background: #ffffff;
    color: #008f85;
    font-weight: 900;
}

.registration-entry-note textarea {
    min-height: 0;
    border: 0;
    padding: 14px;
    background: linear-gradient(135deg, #fff9f9 0%, #ffffff 72%);
    color: #14243b;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.45;
    overflow: hidden;
    resize: none;
}

.registration-fast-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(0, 35px);
    gap: 7px 10px;
    align-content: start;
    padding: 14px 18px;
}

.registration-fast-panel h3 {
    grid-column: 1 / -1;
    margin: 0 0 2px;
    color: #008f85;
    font-size: 21px;
    font-weight: 900;
}

.registration-fast-panel button {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 0 10px;
    color: #14243b;
    font-size: 17px;
    text-align: left;
}

.registration-fast-panel button span {
    color: #008f85;
    font-size: 20px;
}

.registration-fast-panel button:nth-of-type(n+8) span {
    color: #f0781d;
}

.registration-entry-history {
    position: relative;
    display: grid;
    grid-template-rows: 66px minmax(0, 1fr);
    padding-left: 46px;
}

.registration-entry-history header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 28px 24px;
    align-items: center;
    column-gap: 10px;
    padding: 10px 14px 4px;
}

.registration-entry-history header strong {
    color: #008f85;
    font-size: 21px;
    font-weight: 900;
}

.registration-entry-history header span {
    justify-self: end;
    color: #14243b;
    font-size: 15px;
    font-weight: 800;
}

.registration-entry-history header small {
    grid-column: 1 / -1;
    justify-self: center;
    color: #008f85;
    font-size: 15px;
    font-weight: 900;
}

.history-side-label {
    left: 0;
    top: 66px;
    bottom: 0;
    width: 46px;
    border-width: 0 1px 0 0;
    border-radius: 0;
    color: #008f85;
    font-size: 18px;
    background: #ffffff;
}

.registration-entry-history table {
    width: 100%;
    min-width: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.registration-entry-history th,
.registration-entry-history td {
    height: 38px;
    overflow: hidden;
    border: 1px solid #dce9f1;
    padding: 5px 7px;
    color: #14243b;
    font-size: 17px;
    font-weight: 800;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registration-entry-history th {
    color: #008f85;
    font-weight: 900;
}

.registration-entry-history tbody tr:nth-child(odd) td {
    background: #eaf8f4;
}

.registration-entry-history tbody tr.is-current td {
    background: #d8f1ea;
    color: #006f68;
}

@media (max-height: 760px), (max-width: 1320px) {
    .registration-entry-card {
        width: calc(100vw - 14px);
        height: calc(100vh - 14px);
    }

    #visitRegistrationForm {
        grid-template-rows: 30px 108px 68px 112px 52px minmax(0, 1fr);
    }

    .registration-entry-header {
        padding: 0 10px;
    }

    .registration-window-title,
    .registration-window-title strong {
        font-size: 13px;
    }

    #closeVisitRegistration {
        width: 26px;
        height: 26px;
        font-size: 20px;
    }

    .registration-entry-profile {
        grid-template-columns: minmax(185px, 1fr) minmax(150px, .78fr) minmax(150px, .78fr) minmax(150px, .78fr) minmax(150px, .82fr);
        grid-template-rows: 42px 40px;
        gap: 6px 12px;
        margin: 5px 8px 0;
        padding: 8px 12px;
    }

    .registration-entry-id {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 10px;
        padding-right: 12px;
    }

    .registration-avatar {
        width: 52px;
        height: 52px;
    }

    .registration-avatar::before {
        width: 19px;
        height: 19px;
        transform: translateY(-8px);
    }

    .registration-avatar::after {
        bottom: 12px;
        width: 34px;
        height: 16px;
    }

    .registration-entry-id strong {
        font-size: 25px;
    }

    .registration-entry-id span {
        font-size: 20px;
    }

    .registration-entry-profile label {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 6px;
    }

    .registration-entry-profile .registration-address {
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .registration-entry-profile label span {
        font-size: 14px;
    }

    .registration-entry-profile input,
    .registration-card-strip input,
    .registration-entry-grid input,
    .registration-entry-grid select {
        height: 29px;
        padding: 0 7px;
        font-size: 14px;
    }

    .registration-inline-control {
        grid-template-columns: minmax(0, 1fr) 30px;
        gap: 5px;
    }

    .registration-inline-control button {
        width: 30px;
        height: 29px;
        font-size: 12px;
    }

    .registration-card-strip {
        grid-template-columns: 50px 82px minmax(82px, .6fr) minmax(82px, .6fr) minmax(72px, .48fr) minmax(220px, 1.8fr) 82px;
        gap: 8px;
        margin: 5px 8px 0;
        padding: 7px 12px;
    }

    .registration-ic-chip {
        width: 44px;
        height: 30px;
    }

    .registration-card-strip label,
    .registration-status-message {
        grid-template-columns: 56px minmax(0, 1fr) !important;
        gap: 5px;
    }

    .registration-card-strip label span {
        font-size: 13px;
    }

    .registration-transfer {
        height: 32px;
        font-size: 15px;
    }

    .registration-entry-grid {
        grid-template-columns: minmax(102px, 1.3fr) 45px minmax(36px, .42fr) minmax(46px, .48fr) minmax(48px, .52fr) minmax(40px, .43fr) minmax(40px, .43fr) minmax(40px, .43fr) minmax(46px, .48fr) minmax(64px, .68fr) minmax(66px, .72fr) minmax(52px, .56fr) minmax(52px, .56fr) minmax(54px, .58fr) minmax(54px, .58fr) minmax(54px, .58fr) 78px;
        grid-template-rows: 52px 26px;
        gap: 5px 4px;
        margin: 5px 8px 0;
        padding: 7px 12px 6px;
    }

    .registration-entry-grid label {
        grid-template-rows: 16px 29px;
        gap: 3px;
    }

    .registration-entry-grid label > span:first-child,
    .registration-entry-vitals span {
        font-size: 13px;
    }

    .registration-small-command,
    .registration-entry-actions button {
        height: 29px;
        font-size: 13px;
    }

    .registration-entry-help {
        font-size: 12px;
        grid-template-columns: minmax(0, 1fr) 62px;
    }

    .registration-entry-vitals {
        grid-template-columns: repeat(8, minmax(62px, 98px)) minmax(0, 1fr);
        gap: 6px 14px;
        margin: 5px 8px 0;
        padding: 8px 12px;
    }

    .registration-entry-vitals label {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 5px;
    }

    .registration-entry-vitals input {
        height: 28px;
        font-size: 13px;
    }

    .registration-entry-lower {
        grid-template-columns: minmax(0, 1.05fr) minmax(188px, 280px) minmax(300px, 1.1fr);
        gap: 5px;
        margin: 5px 8px 7px;
    }

    .registration-entry-note {
        grid-template-rows: 40px minmax(0, 1fr);
    }

    .registration-entry-note header {
        grid-template-columns: minmax(0, 1fr) 30px 30px 30px;
        gap: 5px;
        padding: 5px 8px;
    }

    .registration-entry-note header label {
        grid-template-columns: 86px minmax(0, 54px);
        gap: 5px;
    }

    .registration-entry-note header span {
        font-size: 14px;
    }

    .registration-entry-note header input,
    .registration-entry-note header button,
    .registration-fast-panel button {
        height: 27px;
        font-size: 12px;
    }

    .registration-entry-note textarea {
        padding: 9px;
        font-size: 13px;
        line-height: 1.35;
    }

    .registration-fast-panel {
        grid-auto-rows: minmax(0, 27px);
        gap: 4px 6px;
        padding: 9px 12px;
    }

    .registration-fast-panel h3 {
        font-size: 16px;
    }

    .registration-fast-panel button {
        grid-template-columns: 20px minmax(0, 1fr);
        gap: 5px;
        padding: 0 7px;
        font-size: 12px;
    }

    .registration-fast-panel button span {
        font-size: 15px;
    }

    .registration-entry-history {
        grid-template-rows: 46px minmax(0, 1fr);
        padding-left: 34px;
    }

    .registration-entry-history header {
        grid-template-rows: 21px 17px;
        padding: 6px 9px 2px;
    }

    .registration-entry-history header strong {
        font-size: 16px;
    }

    .registration-entry-history header span,
    .registration-entry-history header small {
        font-size: 11px;
    }

    .history-side-label {
        top: 46px;
        width: 34px;
        font-size: 13px;
    }

    .registration-entry-history th,
    .registration-entry-history td {
        height: 27px;
        padding: 3px 4px;
        font-size: 12px;
    }
}
/* Registered waiting-board redesign. */
.registered-layout-body {
    min-width: 0;
    overflow: hidden;
    background: #f7faf8;
}

.registered-layout-body .registered-waiting-screen {
    width: 100vw;
    height: 100vh;
    min-width: 0;
    display: grid;
    grid-template-rows: 72px 106px minmax(0, 1fr) 96px 122px;
    gap: 0;
    background: #f8faf9;
    color: #101820;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-header {
    height: 72px;
    display: grid;
    grid-template-columns: minmax(360px, auto) minmax(420px, 1fr) auto;
    align-items: center;
    gap: 28px;
    padding: 0 22px;
    border: 0;
    background:
        radial-gradient(circle at 30% 10%, rgba(63, 191, 116, .34), transparent 28%),
        linear-gradient(90deg, #006930 0%, #006529 48%, #005021 100%);
    color: #ffffff;
    box-shadow: 0 3px 16px rgba(0, 72, 32, .22);
}

.registered-layout-body .registered-waiting-header .workbench-brand {
    height: auto;
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
    color: #ffffff;
    white-space: nowrap;
}

.registered-layout-body .registered-waiting-header .workbench-logo {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: #ffffff;
    color: #008f3f;
    font-size: 28px;
    font-weight: 900;
    box-shadow: 0 6px 14px rgba(0, 48, 20, .24);
}

.registered-layout-body .registered-waiting-header .workbench-brand strong,
.registered-layout-body .registered-waiting-header .workbench-brand span:not(.workbench-logo) {
    color: #ffffff;
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
}

.registered-layout-body .registered-waiting-header .workbench-metrics {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(18px, 2.5vw, 40px);
    min-width: 0;
    color: #ffffff;
    font-size: 17px;
    font-weight: 900;
    white-space: nowrap;
}

.registered-layout-body .registered-waiting-header .workbench-metrics b {
    color: #ffffff;
}

.registered-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: #ffffff;
    font-size: 17px;
    font-weight: 900;
    white-space: nowrap;
}

.header-help-button,
.header-chevron {
    width: 30px;
    height: 30px;
    border: 2px solid rgba(255, 255, 255, .84);
    border-radius: 50%;
    background: transparent;
    color: #ffffff;
    font-size: 19px;
    font-weight: 900;
    line-height: 1;
}

.header-chevron {
    border: 0;
    font-size: 27px;
}

.header-user-icon {
    width: 32px;
    height: 32px;
    border: 2px solid rgba(255, 255, 255, .84);
    border-radius: 50%;
    position: relative;
}

.header-user-icon::before,
.header-user-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: #ffffff;
}

.header-user-icon::before {
    top: 6px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.header-user-icon::after {
    bottom: 6px;
    width: 17px;
    height: 8px;
    border-radius: 8px 8px 4px 4px;
}

.registered-layout-body .registered-waiting-screen .workbench-tabs[hidden] {
    display: none;
}

.registered-layout-body .registered-waiting-screen .workbench-toolbar {
    height: auto;
    display: grid;
    grid-template-columns: auto 196px 54px 54px auto 266px auto 260px auto minmax(320px, 1fr);
    align-items: center;
    gap: 18px;
    padding: 24px 40px 20px;
    border: 0;
    background: #ffffff;
    box-shadow: 0 1px 0 #e5ebef;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-screen .toolbar-label,
.registered-layout-body .registered-waiting-screen .toolbar-field span {
    margin: 0;
    color: #111820;
    font-size: 22px;
    font-weight: 900;
    white-space: nowrap;
}

.registered-date-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    min-width: 0;
}

.registered-layout-body .registered-waiting-screen .toolbar-date,
.registered-layout-body .registered-waiting-screen .workbench-toolbar select,
.registered-layout-body .registered-waiting-screen .workbench-toolbar input,
.registered-layout-body .registered-waiting-screen .workbench-toolbar button {
    height: 60px;
    border: 1px solid #dfe7ee;
    border-radius: 9px;
    background: #ffffff;
    color: #121a24;
    font-size: 24px;
    font-weight: 800;
    box-shadow: 0 5px 14px rgba(22, 49, 73, .04);
}

.registered-layout-body .registered-waiting-screen .toolbar-date {
    width: 100%;
    border-radius: 9px 0 0 9px;
    border-right: 0;
    padding: 0 18px;
}

.registered-date-control button {
    border-radius: 0 9px 9px 0 !important;
    color: #586984 !important;
    font-size: 20px !important;
}

.toolbar-nav-button {
    width: 54px;
    font-size: 40px !important;
    line-height: 1;
}

.registered-layout-body .registered-waiting-screen .toolbar-segments {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid #dfe7ee;
    border-radius: 9px;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-screen .toolbar-segments button {
    min-width: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #111820;
    font-size: 23px;
}

.registered-layout-body .registered-waiting-screen .toolbar-segments .is-active {
    background: linear-gradient(180deg, #0baa4e 0%, #008b3d 100%);
    color: #ffffff;
}

.registered-layout-body .registered-waiting-screen .toolbar-field {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.registered-layout-body .registered-waiting-screen .toolbar-field select {
    width: 100%;
    padding: 0 44px 0 18px;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search {
    grid-template-columns: auto 146px minmax(0, 1fr) 56px;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search input {
    padding: 0 16px;
    color: #61708a;
    font-size: 18px;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search button {
    color: #4a5f83;
    font-size: 34px;
}

.registered-layout-body .registered-waiting-screen .registered-patient-board {
    min-height: 0;
    padding: 0 24px;
    border: 0;
    background: #ffffff;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-screen .registration-table-frame {
    height: 100%;
    border: 1px solid #e1e8ee;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-screen .registration-sheet {
    width: 100%;
    height: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    background: #ffffff;
    background-image: none;
}

.registered-layout-body .registered-waiting-screen .registration-sheet col {
    width: auto;
}

.registered-layout-body .registered-waiting-screen .registered-col-select { width: 3.8%; }
.registered-layout-body .registered-waiting-screen .registered-col-write-card { width: 6.2%; }
.registered-layout-body .registered-waiting-screen .registered-col-history { width: 6.3%; }
.registered-layout-body .registered-waiting-screen .registered-col-type { width: 7%; }
.registered-layout-body .registered-waiting-screen .registered-col-name { width: 7.6%; }
.registered-layout-body .registered-waiting-screen .registered-col-gender { width: 5.4%; }
.registered-layout-body .registered-waiting-screen .registered-col-age { width: 5.2%; }
.registered-layout-body .registered-waiting-screen .registered-col-weight { width: 5.9%; }
.registered-layout-body .registered-waiting-screen .registered-col-identity { width: 7.6%; }
.registered-layout-body .registered-waiting-screen .registered-col-card { width: 6.9%; }
.registered-layout-body .registered-waiting-screen .registered-col-session { width: 5.6%; }
.registered-layout-body .registered-waiting-screen .registered-col-status { width: 6.4%; }
.registered-layout-body .registered-waiting-screen .registered-col-record { width: 8.4%; }
.registered-layout-body .registered-waiting-screen .registered-col-time { width: 6.9%; }
.registered-layout-body .registered-waiting-screen .registered-col-doctor { width: 7.8%; }
.registered-layout-body .registered-waiting-screen .registered-col-nursing { width: 8.6%; }

.registered-layout-body .registered-waiting-screen .registration-sheet thead tr {
    height: 54px;
}

.registered-layout-body .registered-waiting-screen .registration-sheet th,
.registered-layout-body .registered-waiting-screen .registration-sheet td {
    border: 1px solid #e6edf2;
    padding: 0 8px;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registered-layout-body .registered-waiting-screen .registration-sheet th {
    height: 54px;
    background: #ffffff;
    color: #008d34;
    font-size: 17px;
    font-weight: 900;
    line-height: 54px;
}

.registered-layout-body .registered-waiting-screen .registration-sheet td {
    height: 39px;
    background: #ffffff;
    color: #101820;
    font-size: 16px;
    font-weight: 800;
    line-height: 39px;
}

.registered-layout-body .registered-waiting-screen .registration-sheet tbody tr:not(.sheet-filler-row):hover td {
    background: #f2fbf5;
}

.registered-layout-body .registered-waiting-screen .registration-sheet tbody tr.sheet-filler-row td {
    background: #ffffff;
    color: #a7b0bd;
    cursor: default;
}

.registered-layout-body .registered-waiting-screen .registration-sheet input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #008f3f;
}

.registered-status-pill {
    display: inline-grid;
    place-items: center;
    min-width: 46px;
    height: 26px;
    border-radius: 999px;
    background: #d9f5df;
    color: #009640;
    font-size: 15px;
    font-weight: 900;
}

.registered-layout-body .registered-waiting-screen .summary-dock {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 352px;
    grid-template-rows: 1fr;
    gap: 26px;
    padding: 22px 24px 10px;
    border: 0;
    background: #ffffff;
}

.registered-layout-body .registered-waiting-screen .screening-row {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 16px;
    min-width: 0;
}

.screening-card {
    min-width: 0;
    height: 78px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    grid-template-rows: 30px 28px;
    align-items: center;
    column-gap: 8px;
    padding: 10px 16px;
    border: 1px solid #e1e8ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(20, 54, 74, .04);
}

.screening-card strong,
.screening-card b {
    color: #101820;
    font-size: 17px;
    font-weight: 900;
    text-align: center;
}

.screening-card b {
    color: #009640;
    font-size: 24px;
    line-height: 1;
}

.screening-icon {
    grid-row: 1 / span 2;
    width: 32px;
    height: 32px;
    border: 2px solid #00a640;
    border-radius: 8px;
    position: relative;
}

.screening-icon.tooth {
    border-radius: 16px 16px 10px 10px;
}

.screening-icon.ribbon {
    border-radius: 50%;
    border-width: 3px;
    transform: rotate(45deg);
}

.screening-icon.scope::after,
.screening-icon.syringe::after {
    content: "";
    position: absolute;
    left: 13px;
    top: -6px;
    width: 4px;
    height: 42px;
    border-radius: 3px;
    background: #00a640;
    transform: rotate(45deg);
}

.screening-icon.bowel {
    border-radius: 4px 12px 4px 12px;
}

.screening-icon.mouth {
    border-radius: 50%;
}

.registered-layout-body .registered-waiting-screen .dock-side-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: 18px;
}

.registered-layout-body .registered-waiting-screen .dock-side-actions button {
    height: 72px;
    border: 1px solid #e1e8ee;
    border-radius: 8px;
    background: #ffffff;
    color: #101820;
    font-size: 20px;
    font-weight: 900;
    box-shadow: 0 8px 20px rgba(20, 54, 74, .04);
}

.registered-layout-body .registered-waiting-screen .dock-side-actions button span {
    margin-right: 12px;
    color: #00a640;
    font-size: 27px;
}

.registered-layout-body .registered-waiting-screen .command-dock {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 374px;
    gap: 28px;
    padding: 18px 24px 20px;
    border: 0;
    background: #ffffff;
}

.registered-layout-body .registered-waiting-screen .command-row.primary {
    height: auto;
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 14px;
    min-width: 0;
    padding: 0;
}

.registered-layout-body .registered-waiting-screen .command-dock button {
    min-width: 0;
    height: 82px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    grid-template-rows: 38px 24px;
    align-items: center;
    justify-items: center;
    column-gap: 4px;
    border: 1px solid #e1e8ee;
    border-radius: 8px;
    background: #ffffff;
    color: #101820;
    font-size: 18px;
    font-weight: 900;
    box-shadow: 0 8px 20px rgba(20, 54, 74, .04);
}

.registered-layout-body .registered-waiting-screen .command-dock button[hidden] {
    display: none;
}

.registered-layout-body .registered-waiting-screen .command-dock button span {
    color: #00a640;
    font-size: 28px;
}

.registered-layout-body .registered-waiting-screen .command-dock button small {
    grid-column: 1 / -1;
    color: #63708a;
    font-size: 18px;
    font-weight: 800;
}

.registered-layout-body .registered-waiting-screen .command-dock .is-primary {
    border-color: #e1e8ee;
    background: #ffffff;
    color: #101820;
}

.registered-layout-body .registered-waiting-screen .command-dock .danger-command span,
.registered-layout-body .registered-waiting-screen .command-dock .danger-command {
    color: #ff2b2b;
}

.registered-footer-status {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 18px;
    min-width: 0;
}

.registered-footer-status .waiting-count,
.workbench-clock-box {
    min-width: 0;
    display: grid;
    place-items: center;
    border: 1px solid #e1e8ee;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 20px rgba(20, 54, 74, .04);
}

.registered-footer-status .waiting-count {
    gap: 3px;
    color: #101820;
}

.registered-footer-status .waiting-count span,
.workbench-clock-box span {
    color: #101820;
    font-size: 17px;
    font-weight: 900;
}

.registered-footer-status .waiting-count b {
    color: #009640;
    font-size: 42px;
    line-height: 1;
}

.workbench-clock-box strong {
    color: #009640;
    font-size: 29px;
    line-height: 1;
}

.workbench-clock-box small {
    color: #63708a;
    font-size: 15px;
    font-weight: 800;
}

@media (max-width: 1360px), (max-height: 760px) {
    .registered-layout-body .registered-waiting-screen {
        grid-template-rows: 50px 70px minmax(0, 1fr) 76px 88px;
    }

    .registered-layout-body .registered-waiting-header {
        height: 50px;
        grid-template-columns: minmax(280px, auto) minmax(280px, 1fr) auto;
        gap: 14px;
        padding: 0 14px;
    }

    .registered-layout-body .registered-waiting-header .workbench-logo {
        width: 34px;
        height: 34px;
        font-size: 21px;
    }

    .registered-layout-body .registered-waiting-header .workbench-brand {
        gap: 10px;
    }

    .registered-layout-body .registered-waiting-header .workbench-brand strong,
    .registered-layout-body .registered-waiting-header .workbench-brand span:not(.workbench-logo) {
        font-size: 22px;
    }

    .registered-layout-body .registered-waiting-header .workbench-metrics,
    .registered-header-actions {
        gap: 12px;
        font-size: 13px;
    }

    .header-help-button,
    .header-chevron,
    .header-user-icon {
        width: 24px;
        height: 24px;
        font-size: 15px;
    }

    .registered-layout-body .registered-waiting-screen .workbench-toolbar {
        grid-template-columns: auto 146px 38px 38px auto 188px auto 174px auto minmax(220px, 1fr);
        gap: 9px;
        padding: 10px 18px 8px;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-label,
    .registered-layout-body .registered-waiting-screen .toolbar-field span {
        font-size: 16px;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-date,
    .registered-layout-body .registered-waiting-screen .workbench-toolbar select,
    .registered-layout-body .registered-waiting-screen .workbench-toolbar input,
    .registered-layout-body .registered-waiting-screen .workbench-toolbar button {
        height: 42px;
        font-size: 16px;
    }

    .registered-date-control {
        grid-template-columns: minmax(0, 1fr) 34px;
    }

    .toolbar-nav-button {
        width: 38px;
        font-size: 28px !important;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-segments button {
        font-size: 16px;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-field {
        gap: 8px;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-field.search {
        grid-template-columns: auto 104px minmax(0, 1fr) 40px;
    }

    .registered-layout-body .registered-waiting-screen .registered-patient-board {
        padding: 0 12px;
    }

    .registered-layout-body .registered-waiting-screen .registration-sheet thead tr,
    .registered-layout-body .registered-waiting-screen .registration-sheet th {
        height: 38px;
        line-height: 38px;
    }

    .registered-layout-body .registered-waiting-screen .registration-sheet th {
        font-size: 13px;
    }

    .registered-layout-body .registered-waiting-screen .registration-sheet td {
        height: 31px;
        padding: 0 5px;
        font-size: 12px;
        line-height: 31px;
    }

    .registered-status-pill {
        min-width: 38px;
        height: 22px;
        font-size: 12px;
    }

    .registered-layout-body .registered-waiting-screen .summary-dock {
        grid-template-columns: minmax(0, 1fr) 230px;
        gap: 12px;
        padding: 10px 12px 6px;
    }

    .registered-layout-body .registered-waiting-screen .screening-row {
        gap: 8px;
    }

    .screening-card {
        height: 58px;
        grid-template-columns: 26px minmax(0, 1fr);
        grid-template-rows: 22px 22px;
        padding: 6px 8px;
    }

    .screening-card strong {
        font-size: 12px;
    }

    .screening-card b {
        font-size: 18px;
    }

    .screening-icon {
        width: 23px;
        height: 23px;
    }

    .registered-layout-body .registered-waiting-screen .dock-side-actions {
        gap: 8px;
    }

    .registered-layout-body .registered-waiting-screen .dock-side-actions button {
        height: 54px;
        font-size: 14px;
    }

    .registered-layout-body .registered-waiting-screen .command-dock {
        grid-template-columns: minmax(0, 1fr) 254px;
        gap: 12px;
        padding: 8px 12px 10px;
    }

    .registered-layout-body .registered-waiting-screen .command-row.primary {
        gap: 7px;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button {
        height: 68px;
        grid-template-columns: 20px minmax(0, 1fr);
        grid-template-rows: 31px 20px;
        font-size: 13px;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button span {
        font-size: 19px;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button small {
        font-size: 14px;
    }

    .registered-footer-status {
        gap: 8px;
    }

    .registered-footer-status .waiting-count span,
    .workbench-clock-box span,
    .workbench-clock-box small {
        font-size: 11px;
    }

    .registered-footer-status .waiting-count b {
        font-size: 30px;
    }

    .workbench-clock-box strong {
        font-size: 21px;
    }
}
/* Final split for outpatient registration and waiting-board screens. */
.registered-layout-body .registered-registration-screen .workbench-metrics b {
    color: #ffffff;
}

.registered-layout-body .registered-registration-screen .summary-dock {
    grid-template-columns: minmax(0, 1fr);
}

.registered-layout-body .registered-registration-screen .summary-dock .dock-side-actions[hidden] {
    display: none;
}

.registered-layout-body .registered-registration-screen .screening-row {
    grid-template-columns: repeat(9, minmax(0, 1fr));
}

.registered-layout-body .registered-registration-screen .registered-col-history { width: 4.5%; }
.registered-layout-body .registered-registration-screen .registered-col-write-card { width: 6.3%; }
.registered-layout-body .registered-registration-screen .registered-col-record { width: 9.2%; }
.registered-layout-body .registered-registration-screen .registered-col-type { width: 7.2%; }
.registered-layout-body .registered-registration-screen .registered-col-name { width: 8%; }
.registered-layout-body .registered-registration-screen .registered-col-gender { width: 5.2%; }
.registered-layout-body .registered-registration-screen .registered-col-birthday { width: 8%; }
.registered-layout-body .registered-registration-screen .registered-col-identity { width: 6.5%; }
.registered-layout-body .registered-registration-screen .registered-col-kind { width: 5.8%; }
.registered-layout-body .registered-registration-screen .registered-col-card { width: 6.3%; }
.registered-layout-body .registered-registration-screen .registered-col-doctor { width: 8.4%; }
.registered-layout-body .registered-registration-screen .registered-col-age { width: 5%; }
.registered-layout-body .registered-registration-screen .registered-col-session { width: 5.4%; }
.registered-layout-body .registered-registration-screen .registered-col-status { width: 6.6%; }
.registered-layout-body .registered-registration-screen .registered-col-nursing { width: 7.6%; }
.registered-layout-body .registered-registration-screen .registered-col-note { width: 6.1%; }

.registered-layout-body .registered-registration-screen .registered-record-cell {
    color: #008d34;
    font-weight: 900;
}

.registered-layout-body .registered-registration-screen .command-dock {
    grid-template-columns: minmax(0, 1fr) 318px;
}

.registered-layout-body .registered-registration-screen .command-row.primary {
    grid-template-columns: repeat(14, minmax(0, 1fr));
    gap: 8px;
}

.registered-layout-body .registered-registration-screen .command-dock button {
    font-size: 14px;
}

.registered-layout-body .registered-registration-screen .command-dock button span {
    font-size: 20px;
}

.registered-layout-body .outpatient-waiting-screen.outpatient-screen {
    grid-template-rows: 72px 106px minmax(0, 1fr) 96px 122px;
    min-width: 0;
}

.registered-layout-body .outpatient-waiting-screen .outpatient-table-frame {
    min-height: 0;
    padding: 0 24px;
    border: 0;
    background: #ffffff;
    overflow: hidden;
}

.registered-layout-body .outpatient-waiting-screen .outpatient-grid th,
.registered-layout-body .outpatient-waiting-screen .outpatient-grid td {
    width: auto;
}

.registered-layout-body .outpatient-waiting-screen .outpatient-grid th:nth-child(1),
.registered-layout-body .outpatient-waiting-screen .outpatient-grid td:nth-child(1) { width: 4.4%; }
.registered-layout-body .outpatient-waiting-screen .outpatient-grid th:nth-child(2),
.registered-layout-body .outpatient-waiting-screen .outpatient-grid td:nth-child(2) { width: 5.8%; }
.registered-layout-body .outpatient-waiting-screen .outpatient-grid th:nth-child(3),
.registered-layout-body .outpatient-waiting-screen .outpatient-grid td:nth-child(3) { width: 5.8%; }
.registered-layout-body .outpatient-waiting-screen .outpatient-grid th:nth-child(4),
.registered-layout-body .outpatient-waiting-screen .outpatient-grid td:nth-child(4) { width: 6.4%; }
.registered-layout-body .outpatient-waiting-screen .outpatient-grid th:nth-child(5),
.registered-layout-body .outpatient-waiting-screen .outpatient-grid td:nth-child(5) { width: 7.4%; }
.registered-layout-body .outpatient-waiting-screen .outpatient-grid th:nth-child(12),
.registered-layout-body .outpatient-waiting-screen .outpatient-grid td:nth-child(12) { width: 8%; }
.registered-layout-body .outpatient-waiting-screen .outpatient-grid th:nth-child(15),
.registered-layout-body .outpatient-waiting-screen .outpatient-grid td:nth-child(15) { width: 8.2%; }

@media (max-width: 1360px), (max-height: 760px) {
    .registered-layout-body .registered-registration-screen .screening-row {
        grid-template-columns: repeat(9, minmax(0, 1fr));
    }

    .registered-layout-body .registered-registration-screen .command-dock {
        grid-template-columns: minmax(0, 1fr) 254px;
    }

    .registered-layout-body .registered-registration-screen .command-row.primary {
        grid-template-columns: repeat(14, minmax(0, 1fr));
        gap: 4px;
    }

    .registered-layout-body .registered-registration-screen .command-dock button {
        font-size: 10px;
    }

    .registered-layout-body .outpatient-waiting-screen.outpatient-screen {
        grid-template-rows: 50px 70px minmax(0, 1fr) 76px 88px;
    }

    .registered-layout-body .outpatient-waiting-screen .outpatient-table-frame {
        padding: 0 12px;
    }
}
/* Hard layout lock for the two green outpatient workbenches. */
.registered-layout-body .registered-waiting-screen,
.outpatient-body.registered-layout-body .outpatient-waiting-screen {
    width: 100vw;
    height: 100vh;
    min-width: 0 !important;
    max-width: 100vw;
    grid-template-rows: clamp(48px, 7vh, 72px) clamp(60px, 10vh, 96px) minmax(0, 1fr) clamp(60px, 10vh, 90px) clamp(78px, 13vh, 116px) !important;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-header,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-waiting-header {
    height: auto !important;
    min-height: 0;
    grid-template-columns: minmax(260px, max-content) minmax(0, 1fr) minmax(196px, max-content);
    gap: clamp(8px, 1.4vw, 24px);
    padding: 0 clamp(12px, 1.5vw, 22px);
    overflow: hidden;
}

.registered-layout-body .registered-waiting-header .workbench-brand,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand,
.registered-layout-body .registered-waiting-header .workbench-metrics,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics,
.registered-header-actions {
    min-width: 0;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-header .workbench-logo,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-logo {
    width: clamp(34px, 3.2vw, 46px);
    height: clamp(34px, 3.2vw, 46px);
    font-size: clamp(20px, 2vw, 28px);
    flex: 0 0 auto;
}

.registered-layout-body .registered-waiting-header .workbench-brand strong,
.registered-layout-body .registered-waiting-header .workbench-brand span:not(.workbench-logo),
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand strong,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand span:not(.workbench-logo) {
    font-size: clamp(21px, 1.9vw, 32px);
    overflow: hidden;
    text-overflow: ellipsis;
}

.registered-layout-body .registered-waiting-header .workbench-metrics,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics,
.registered-header-actions {
    gap: clamp(8px, 1.2vw, 22px);
    font-size: clamp(12px, 1.05vw, 17px);
}

.registered-layout-body .registered-waiting-screen .workbench-toolbar,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
    height: auto !important;
    min-height: 0;
    grid-template-columns: auto minmax(126px, 180px) 42px 42px auto minmax(174px, 250px) auto minmax(150px, 220px) auto minmax(180px, 1fr);
    gap: clamp(6px, .9vw, 16px);
    padding: clamp(8px, 1.4vh, 18px) clamp(12px, 1.8vw, 36px);
    overflow: hidden;
}

.registered-layout-body .registered-waiting-screen .toolbar-label,
.registered-layout-body .registered-waiting-screen .toolbar-field span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-label,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field span {
    font-size: clamp(14px, 1.3vw, 22px);
}

.registered-layout-body .registered-waiting-screen .toolbar-date,
.registered-layout-body .registered-waiting-screen .workbench-toolbar select,
.registered-layout-body .registered-waiting-screen .workbench-toolbar input,
.registered-layout-body .registered-waiting-screen .workbench-toolbar button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-date,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar select,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar input,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar button {
    height: clamp(38px, 6.2vh, 58px);
    font-size: clamp(14px, 1.45vw, 23px);
}

.registered-layout-body .registered-waiting-screen .toolbar-segments,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-segments {
    min-width: 0;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search {
    grid-template-columns: auto minmax(92px, 130px) minmax(0, 1fr) clamp(34px, 3.4vw, 50px);
}

.registered-layout-body .registered-waiting-screen .registered-patient-board,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-table-frame {
    min-height: 0;
    padding: 0 clamp(10px, 1.4vw, 24px);
    overflow: hidden;
}

.registered-layout-body .registered-waiting-screen .registration-table-frame,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registration-table-frame {
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-screen .registration-sheet,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid {
    height: 100%;
    table-layout: fixed;
}

.registered-layout-body .registered-waiting-screen .registration-sheet thead tr,
.registered-layout-body .registered-waiting-screen .registration-sheet th,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid thead tr,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid th {
    height: clamp(32px, 5vh, 52px);
    line-height: clamp(32px, 5vh, 52px);
    font-size: clamp(12px, 1vw, 17px);
}

.registered-layout-body .registered-waiting-screen .registration-sheet td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid td {
    height: clamp(25px, 4vh, 38px);
    line-height: clamp(25px, 4vh, 38px);
    padding: 0 clamp(3px, .45vw, 8px);
    font-size: clamp(11px, .95vw, 16px);
}

.registered-layout-body .registered-waiting-screen .summary-dock,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
    min-height: 0;
    grid-template-rows: 1fr;
    gap: clamp(8px, 1.2vw, 20px);
    padding: clamp(6px, 1.1vh, 14px) clamp(10px, 1.4vw, 24px);
    overflow: hidden;
}

.registered-layout-body .registered-registration-screen .summary-dock {
    grid-template-columns: minmax(0, 1fr);
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 340px);
}

.registered-layout-body .registered-waiting-screen .screening-row,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-row {
    min-width: 0;
    gap: clamp(6px, .9vw, 14px);
}

.screening-card {
    height: clamp(50px, 8vh, 76px);
    grid-template-columns: clamp(22px, 2.4vw, 34px) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    padding: clamp(5px, .8vh, 10px) clamp(7px, .9vw, 14px);
}

.screening-icon {
    width: clamp(22px, 2.2vw, 32px);
    height: clamp(22px, 2.2vw, 32px);
}

.screening-card strong {
    font-size: clamp(11px, .95vw, 16px);
}

.screening-card b {
    font-size: clamp(17px, 1.7vw, 24px);
}

.registered-layout-body .registered-waiting-screen .command-dock,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
    min-height: 0;
    gap: clamp(8px, 1.2vw, 22px);
    padding: clamp(7px, 1.1vh, 16px) clamp(10px, 1.4vw, 24px);
    overflow: hidden;
}

.registered-layout-body .registered-registration-screen .command-dock {
    grid-template-columns: minmax(0, 1fr) minmax(210px, 300px);
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
    grid-template-columns: minmax(0, 1fr) minmax(230px, 340px);
}

.registered-layout-body .registered-registration-screen .command-row.primary {
    grid-template-columns: repeat(14, minmax(0, 1fr));
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-row.primary {
    grid-template-columns: repeat(9, minmax(0, 1fr));
}

.registered-layout-body .registered-waiting-screen .command-row.primary,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-row.primary {
    min-width: 0;
    gap: clamp(4px, .7vw, 12px);
}

.registered-layout-body .registered-waiting-screen .command-dock button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button {
    height: clamp(54px, 9.4vh, 82px);
    min-width: 0;
    grid-template-columns: clamp(16px, 1.8vw, 28px) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) clamp(16px, 2.2vh, 24px);
    padding: 0 clamp(2px, .4vw, 8px);
    font-size: clamp(10px, .9vw, 16px);
}

.registered-layout-body .registered-waiting-screen .command-dock button span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button span {
    font-size: clamp(16px, 1.8vw, 26px);
}

.registered-layout-body .registered-waiting-screen .command-dock button small,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button small {
    font-size: clamp(11px, 1vw, 17px);
}

.registered-footer-status {
    min-width: 0;
    gap: clamp(6px, .8vw, 16px);
}

.registered-footer-status .waiting-count b {
    font-size: clamp(28px, 3vw, 42px);
}

.workbench-clock-box strong {
    font-size: clamp(20px, 2vw, 29px);
}

.registered-footer-status .waiting-count span,
.workbench-clock-box span,
.workbench-clock-box small {
    font-size: clamp(11px, .95vw, 16px);
}

/* Pixel-close lock for the supplied registration/waiting mockups. */
.registered-layout-body {
    margin: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    background: #ffffff;
}

.registered-layout-body .registered-waiting-screen,
.outpatient-body.registered-layout-body .outpatient-waiting-screen {
    --board-green: #008c3d;
    --board-green-dark: #006428;
    --board-line: #e2e8ee;
    --board-text: #101820;
    --board-muted: #7f8da3;
    width: 100vw !important;
    height: 100vh !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-rows: 72px 108px minmax(0, 1fr) 76px 104px !important;
    gap: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
    color: var(--board-text);
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.registered-layout-body .registered-waiting-screen *,
.outpatient-body.registered-layout-body .outpatient-waiting-screen * {
    box-sizing: border-box;
}

.registered-layout-body .registered-waiting-screen .registered-waiting-header,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-waiting-header {
    height: 72px !important;
    min-height: 72px;
    display: grid !important;
    grid-template-columns: minmax(430px, max-content) minmax(500px, 1fr) max-content !important;
    align-items: center;
    gap: 28px;
    padding: 0 22px !important;
    border: 0 !important;
    background:
        radial-gradient(circle at 30% 0%, rgba(44, 189, 101, .34), transparent 31%),
        linear-gradient(90deg, #006e31 0%, #00652b 48%, #005321 100%) !important;
    color: #ffffff !important;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-screen .workbench-brand,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand {
    height: 72px !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    min-width: 0;
    color: #ffffff !important;
    overflow: hidden;
    white-space: nowrap;
}

.registered-layout-body .registered-waiting-screen .workbench-logo,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-logo {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px;
    display: grid;
    place-items: center;
    border-radius: 10px !important;
    background: #ffffff !important;
    color: var(--board-green) !important;
    font-size: 29px !important;
    font-weight: 900;
    box-shadow: 0 5px 14px rgba(0, 0, 0, .18);
}

.registered-layout-body .registered-waiting-screen .workbench-brand strong,
.registered-layout-body .registered-waiting-screen .workbench-brand span:not(.workbench-logo),
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand strong,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand span:not(.workbench-logo) {
    color: #ffffff !important;
    font-size: 32px !important;
    font-weight: 900 !important;
    line-height: 1;
    letter-spacing: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.registered-layout-body .registered-waiting-screen .workbench-metrics,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics {
    height: 72px !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 34px !important;
    min-width: 0;
    overflow: hidden;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    white-space: nowrap;
}

.registered-layout-body .registered-waiting-screen .workbench-metrics b,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics b {
    color: #ffffff !important;
}

.registered-layout-body .registered-waiting-screen .registered-header-actions,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-header-actions {
    height: 72px;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: #ffffff;
    font-size: 17px;
    font-weight: 900;
    white-space: nowrap;
}

.registered-layout-body .registered-waiting-screen .workbench-toolbar,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
    height: 108px !important;
    min-height: 108px;
    display: grid !important;
    grid-template-columns: 48px 224px 50px 50px 48px 260px 48px 222px 48px minmax(300px, 1fr) !important;
    align-items: center;
    gap: 16px !important;
    padding: 20px 24px 20px 50px !important;
    border: 0 !important;
    background: #ffffff !important;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-screen .toolbar-label,
.registered-layout-body .registered-waiting-screen .toolbar-field span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-label,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field span {
    margin: 0 !important;
    color: #111820 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    white-space: nowrap;
}

.registered-layout-body .registered-waiting-screen .registered-date-control,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-date-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    min-width: 0;
}

.registered-layout-body .registered-waiting-screen .toolbar-date,
.registered-layout-body .registered-waiting-screen .workbench-toolbar select,
.registered-layout-body .registered-waiting-screen .workbench-toolbar input,
.registered-layout-body .registered-waiting-screen .workbench-toolbar button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-date,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar select,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar input,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar button {
    height: 58px !important;
    min-height: 58px !important;
    border: 1px solid var(--board-line) !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #111820 !important;
    font-size: 23px !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 14px rgba(21, 49, 76, .04) !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-date,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-date {
    width: 100% !important;
    padding: 0 18px !important;
    border-right: 0 !important;
    border-radius: 8px 0 0 8px !important;
}

.registered-layout-body .registered-waiting-screen .registered-date-control button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-date-control button {
    border-radius: 0 8px 8px 0 !important;
    color: #5e6d86 !important;
    font-size: 20px !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-nav-button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-nav-button {
    width: 50px !important;
    padding: 0 !important;
    font-size: 38px !important;
    line-height: 1 !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-segments,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-segments {
    height: 58px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    border: 1px solid var(--board-line);
    border-radius: 8px;
    overflow: hidden;
}

.registered-layout-body .registered-waiting-screen .toolbar-segments button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-segments button {
    min-width: 0 !important;
    height: 58px !important;
    border: 0 !important;
    border-right: 1px solid var(--board-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 22px !important;
    color: #111820 !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-segments button:last-child,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-segments button:last-child {
    border-right: 0 !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-segments .is-active,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-segments .is-active {
    background: linear-gradient(180deg, #0aad4e 0%, #008f3f 100%) !important;
    color: #ffffff !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-field,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center;
    gap: 14px !important;
    min-width: 0;
}

.registered-layout-body .registered-waiting-screen .toolbar-field select,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field select {
    width: 100% !important;
    padding: 0 18px !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search {
    grid-template-columns: auto 164px minmax(0, 1fr) 58px !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search input,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search input {
    padding: 0 16px !important;
    color: #66748d !important;
    font-size: 18px !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search button {
    padding: 0 !important;
    color: #4c6286 !important;
    font-size: 34px !important;
}

.registered-layout-body .registered-waiting-screen .registered-patient-board,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-table-frame {
    min-height: 0 !important;
    padding: 0 22px !important;
    border: 0 !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .registration-table-frame,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registration-table-frame {
    height: 100% !important;
    min-height: 0 !important;
    border: 1px solid var(--board-line) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid {
    width: 100% !important;
    height: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    background: #ffffff !important;
    background-image: none !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet thead tr,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid thead tr {
    height: 48px !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet th,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid th {
    height: 48px !important;
    border: 1px solid var(--board-line) !important;
    background: #ffffff !important;
    color: #008d34 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 48px !important;
    text-align: center !important;
    white-space: nowrap;
}

.registered-layout-body .registered-waiting-screen .registration-sheet td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid td {
    height: 48px !important;
    border: 1px solid #e7edf2 !important;
    padding: 0 8px !important;
    background: #ffffff !important;
    color: #101820 !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 48px !important;
    text-align: center !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registered-layout-body .registered-waiting-screen .registration-sheet tbody tr.sheet-filler-row td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tbody tr.sheet-filler-row td {
    color: #8ea0bb !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet tbody tr:not(.sheet-filler-row):hover td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tbody tr:not(.sheet-filler-row):hover td {
    background: #f5fbf7 !important;
}

.registered-status-pill {
    display: inline-grid !important;
    place-items: center !important;
    min-width: 58px !important;
    height: 30px !important;
    border-radius: 999px !important;
    background: #d9f5df !important;
    color: #009640 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.registered-layout-body .registered-registration-screen .registered-record-cell {
    color: #008d34 !important;
}

.registered-layout-body .registered-waiting-screen .summary-dock,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
    min-height: 0 !important;
    display: grid !important;
    gap: 16px !important;
    padding: 14px 22px 0 !important;
    border: 0 !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-registration-screen .summary-dock {
    grid-template-columns: minmax(0, 930px) minmax(0, 1fr) !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
    grid-template-columns: minmax(0, 1fr) 330px !important;
}

.registered-layout-body .registered-registration-screen .summary-dock .dock-side-actions[hidden] {
    display: block !important;
    visibility: hidden !important;
}

.registered-layout-body .registered-waiting-screen .screening-row,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-row {
    display: grid !important;
    gap: 8px !important;
    min-width: 0;
    align-items: stretch;
}

.registered-layout-body .registered-registration-screen .screening-row {
    grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-row {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

.screening-card {
    height: 58px !important;
    min-width: 0;
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) 24px !important;
    grid-template-rows: 1fr !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 7px 12px !important;
    border: 1px solid var(--board-line) !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(21, 49, 76, .04) !important;
}

.screening-icon {
    grid-row: auto !important;
    width: 24px !important;
    height: 24px !important;
    border-color: #00a640 !important;
}

.screening-card strong {
    color: #101820 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: center !important;
}

.screening-card b {
    color: #009640 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center;
}

.registered-layout-body .registered-waiting-screen .dock-side-actions,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: center;
}

.registered-layout-body .registered-waiting-screen .dock-side-actions button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions button {
    height: 60px !important;
    border: 1px solid var(--board-line) !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #101820 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    box-shadow: 0 4px 14px rgba(21, 49, 76, .04) !important;
}

.registered-layout-body .registered-waiting-screen .dock-side-actions button span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions button span {
    margin-right: 10px;
    color: #00a640 !important;
}

.registered-layout-body .registered-waiting-screen .command-dock,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
    min-height: 0 !important;
    display: grid !important;
    gap: 14px !important;
    padding: 8px 22px 20px !important;
    border: 0 !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-registration-screen .command-dock {
    grid-template-columns: minmax(0, 1fr) 278px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
    grid-template-columns: minmax(0, 1fr) 346px !important;
}

.registered-layout-body .registered-waiting-screen .command-row.primary,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-row.primary {
    height: auto !important;
    min-width: 0;
    display: grid !important;
    gap: 6px !important;
    padding: 0 !important;
}

.registered-layout-body .registered-registration-screen .command-row.primary {
    grid-template-columns: repeat(14, minmax(0, 1fr)) !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-row.primary {
    grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
}

.registered-layout-body .registered-waiting-screen .command-dock button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button {
    min-width: 0 !important;
    height: 74px !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    grid-template-rows: 38px 22px !important;
    align-items: center !important;
    justify-items: center !important;
    column-gap: 2px !important;
    padding: 0 4px !important;
    border: 1px solid var(--board-line) !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #101820 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    box-shadow: 0 4px 14px rgba(21, 49, 76, .04) !important;
    overflow: hidden;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button {
    font-size: 17px !important;
}

.registered-layout-body .registered-waiting-screen .command-dock button span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button span {
    color: #00a640 !important;
    font-size: 20px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button span {
    font-size: 26px !important;
}

.registered-layout-body .registered-waiting-screen .command-dock button small,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button small {
    grid-column: 1 / -1;
    color: #64738b !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

.registered-layout-body .registered-waiting-screen .command-dock .danger-command,
.registered-layout-body .registered-waiting-screen .command-dock .danger-command span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock .danger-command,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock .danger-command span {
    color: #f71919 !important;
}

.registered-footer-status {
    min-width: 0;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
}

.registered-footer-status .waiting-count,
.workbench-clock-box {
    min-width: 0;
    height: 90px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid var(--board-line) !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(21, 49, 76, .04) !important;
}

.registered-footer-status .waiting-count span,
.workbench-clock-box span {
    color: #101820 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.registered-footer-status .waiting-count b {
    color: #009640 !important;
    font-size: 40px !important;
    line-height: 1 !important;
}

.workbench-clock-box strong {
    color: #009640 !important;
    font-size: 25px !important;
    line-height: 1 !important;
}

.workbench-clock-box small {
    color: #64738b !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

@media (max-width: 1400px), (max-height: 760px) {
    .registered-layout-body .registered-waiting-screen,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen {
        grid-template-rows: 54px 74px minmax(0, 1fr) 62px 82px !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-waiting-header,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-waiting-header {
        height: 54px !important;
        min-height: 54px;
        grid-template-columns: minmax(300px, max-content) minmax(0, 1fr) max-content !important;
        gap: 14px;
        padding: 0 14px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-brand,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand,
    .registered-layout-body .registered-waiting-screen .workbench-metrics,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics,
    .registered-layout-body .registered-waiting-screen .registered-header-actions,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-header-actions {
        height: 54px !important;
        gap: 9px !important;
        font-size: 12px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-logo,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-logo {
        width: 34px !important;
        height: 34px !important;
        flex-basis: 34px;
        font-size: 22px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-brand strong,
    .registered-layout-body .registered-waiting-screen .workbench-brand span:not(.workbench-logo),
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand strong,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand span:not(.workbench-logo) {
        font-size: 23px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-toolbar,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
        height: 74px !important;
        min-height: 74px;
        grid-template-columns: 36px 162px 38px 38px 36px 190px 36px 160px 36px minmax(210px, 1fr) !important;
        gap: 8px !important;
        padding: 10px 18px !important;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-label,
    .registered-layout-body .registered-waiting-screen .toolbar-field span,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-label,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field span {
        font-size: 16px !important;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-date,
    .registered-layout-body .registered-waiting-screen .workbench-toolbar select,
    .registered-layout-body .registered-waiting-screen .workbench-toolbar input,
    .registered-layout-body .registered-waiting-screen .workbench-toolbar button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-date,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar select,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar input,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar button,
    .registered-layout-body .registered-waiting-screen .toolbar-segments,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-segments,
    .registered-layout-body .registered-waiting-screen .toolbar-segments button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-segments button {
        height: 42px !important;
        min-height: 42px !important;
        font-size: 15px !important;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-field.search,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search {
        grid-template-columns: auto 100px minmax(0, 1fr) 42px !important;
    }

    .registered-layout-body .registered-waiting-screen .registration-sheet thead tr,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid thead tr,
    .registered-layout-body .registered-waiting-screen .registration-sheet th,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid th {
        height: 34px !important;
        line-height: 34px !important;
        font-size: 12px !important;
    }

    .registered-layout-body .registered-waiting-screen .registration-sheet td,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid td {
        height: 28px !important;
        line-height: 28px !important;
        padding: 0 4px !important;
        font-size: 11px !important;
    }

    .registered-status-pill {
        min-width: 42px !important;
        height: 22px !important;
        font-size: 12px !important;
    }

    .registered-layout-body .registered-waiting-screen .summary-dock,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
        padding: 7px 12px 0 !important;
        gap: 8px !important;
    }

    .screening-card {
        height: 48px !important;
        grid-template-columns: 20px minmax(0, 1fr) 18px !important;
        gap: 4px !important;
        padding: 5px 7px !important;
    }

    .screening-icon {
        width: 19px !important;
        height: 19px !important;
    }

    .screening-card strong {
        font-size: 10px !important;
    }

    .screening-card b {
        font-size: 16px !important;
    }

    .registered-layout-body .registered-waiting-screen .dock-side-actions button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions button {
        height: 48px !important;
        font-size: 13px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
        padding: 6px 12px 8px !important;
        gap: 8px !important;
    }

    .registered-layout-body .registered-registration-screen .command-dock {
        grid-template-columns: minmax(0, 1fr) 230px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
        grid-template-columns: minmax(0, 1fr) 260px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-row.primary,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-row.primary {
        gap: 4px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button {
        height: 66px !important;
        grid-template-columns: 17px minmax(0, 1fr) !important;
        grid-template-rows: 34px 18px !important;
        padding: 0 2px !important;
        font-size: 10px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button {
        font-size: 12px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button span,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button span {
        font-size: 16px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button small,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button small {
        font-size: 12px !important;
    }

    .registered-footer-status {
        gap: 6px !important;
    }

    .registered-footer-status .waiting-count,
    .workbench-clock-box {
        height: 66px !important;
    }

    .registered-footer-status .waiting-count span,
    .workbench-clock-box span,
    .workbench-clock-box small {
        font-size: 10px !important;
    }

    .registered-footer-status .waiting-count b {
        font-size: 28px !important;
    }

    .workbench-clock-box strong {
        font-size: 18px !important;
    }
}

/* Local SVG icon set for Registered / Outpatient workbench screens. */
.his-icon-sprite {
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.workbench-icon {
    width: 1em;
    height: 1em;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.registered-layout-body .registered-waiting-screen .workbench-logo .workbench-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-logo .workbench-icon {
    width: 30px !important;
    height: 30px !important;
}

.registered-layout-body .registered-waiting-screen .header-help-button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-help-button,
.registered-layout-body .registered-waiting-screen .header-chevron,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-chevron {
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
}

.registered-layout-body .registered-waiting-screen .header-help-button .workbench-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-help-button .workbench-icon,
.registered-layout-body .registered-waiting-screen .header-user-icon .workbench-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-user-icon .workbench-icon {
    width: 24px !important;
    height: 24px !important;
}

.registered-layout-body .registered-waiting-screen .header-chevron .workbench-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-chevron .workbench-icon {
    width: 22px !important;
    height: 22px !important;
}

.registered-layout-body .registered-waiting-screen .header-user-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-user-icon {
    display: grid !important;
    place-items: center !important;
}

.registered-layout-body .registered-waiting-screen .header-user-icon::before,
.registered-layout-body .registered-waiting-screen .header-user-icon::after,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-user-icon::before,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-user-icon::after {
    display: none !important;
}

.registered-layout-body .registered-waiting-screen .registered-date-control button .workbench-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-date-control button .workbench-icon {
    width: 23px !important;
    height: 23px !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search button .workbench-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search button .workbench-icon {
    width: 29px !important;
    height: 29px !important;
    margin: 0 auto;
}

.registered-layout-body .registered-waiting-screen .screening-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon {
    width: 28px !important;
    height: 28px !important;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    color: #009a47 !important;
    transform: none !important;
}

.registered-layout-body .registered-waiting-screen .screening-icon::before,
.registered-layout-body .registered-waiting-screen .screening-icon::after,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon::before,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon::after {
    display: none !important;
}

.registered-layout-body .registered-waiting-screen .screening-icon .workbench-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon .workbench-icon {
    width: 100% !important;
    height: 100% !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon {
    width: 38px !important;
    height: 38px !important;
}

.registered-layout-body .registered-waiting-screen .dock-side-actions button span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions button span,
.registered-layout-body .registered-waiting-screen .command-dock button span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button span {
    display: grid !important;
    place-items: center !important;
    width: 24px !important;
    height: 24px !important;
    color: currentColor !important;
    font-size: 24px !important;
    margin: 0 !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button span {
    width: 28px !important;
    height: 28px !important;
    font-size: 28px !important;
}

.registered-layout-body .registered-waiting-screen .command-dock button span .workbench-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button span .workbench-icon,
.registered-layout-body .registered-waiting-screen .dock-side-actions button span .workbench-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions button span .workbench-icon {
    width: 100% !important;
    height: 100% !important;
}

.registered-layout-body .registered-waiting-screen .danger-command span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .danger-command span {
    color: #f71919 !important;
}

@media (max-width: 1400px), (max-height: 760px) {
    .registered-layout-body .registered-waiting-screen .screening-icon,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon {
        width: 20px !important;
        height: 20px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button span,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button span {
        width: 18px !important;
        height: 18px !important;
        font-size: 18px !important;
    }
}

/* Exact mockup guardrails: keep hidden controls hidden and remove legacy workbench grid leftovers. */
.registered-layout-body .registered-waiting-screen [hidden],
.outpatient-body.registered-layout-body .outpatient-waiting-screen [hidden] {
    display: none !important;
}

.registered-layout-body .registered-waiting-screen .command-dock button[hidden],
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button[hidden],
.registered-layout-body .registered-waiting-screen .dock-side-actions[hidden],
.outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions[hidden] {
    display: none !important;
    visibility: hidden !important;
}

.registered-layout-body .registered-waiting-screen,
.outpatient-body.registered-layout-body .outpatient-waiting-screen {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    max-width: none !important;
}

.registered-layout-body .registered-waiting-screen .workbench-toolbar,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
    grid-template-columns: 48px 224px 50px 50px 48px 260px 270px minmax(430px, 1fr) !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-field:not(.search),
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field:not(.search) {
    grid-template-columns: 54px minmax(0, 1fr) !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search {
    grid-template-columns: 54px 164px minmax(0, 1fr) 58px !important;
}

.registered-layout-body .registered-waiting-screen .sheet-area,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .sheet-area {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) !important;
    border: 0 !important;
}

.registered-layout-body .registered-waiting-screen .sheet-scrollbar,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .sheet-scrollbar {
    display: none !important;
}

.registered-layout-body .registered-waiting-screen .registration-table-frame,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registration-table-frame {
    height: 100% !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet tbody,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tbody {
    height: auto !important;
}

.registered-layout-body .registered-waiting-screen .command-row.primary,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-row.primary {
    height: 74px !important;
    align-self: start !important;
    align-content: start !important;
    align-items: start !important;
}

.registered-layout-body .registered-waiting-screen .command-dock,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
    overflow: visible !important;
}

.registered-layout-body .registered-waiting-screen .registered-footer-status,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status {
    grid-template-columns: 112px minmax(0, 152px) !important;
    justify-content: end !important;
    align-self: start !important;
    margin-top: -38px !important;
}

.registered-layout-body .registered-waiting-screen .registered-footer-status .waiting-count,
.registered-layout-body .registered-waiting-screen .registered-footer-status .workbench-clock-box,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .workbench-clock-box {
    height: 112px !important;
}

.registered-layout-body .registered-waiting-screen .workbench-clock-box .workbench-clock,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-clock-box .workbench-clock {
    margin-left: 0 !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen {
    grid-template-rows: 72px 100px minmax(0, 1fr) 111px 136px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
    height: 100px !important;
    min-height: 100px !important;
    padding-top: 18px !important;
    padding-bottom: 18px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid th {
    height: 48px !important;
    line-height: 48px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid {
    height: auto !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tr {
    height: 36px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid thead tr {
    height: 48px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid td {
    height: 36px !important;
    line-height: 36px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
    padding: 20px 22px 0 !important;
    grid-template-columns: minmax(0, 1fr) 330px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card {
    height: 74px !important;
    grid-template-columns: 38px minmax(0, 1fr) 34px !important;
    padding: 10px 18px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon {
    width: 34px !important;
    height: 34px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card strong {
    font-size: 18px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card b {
    font-size: 28px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions button {
    height: 74px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status {
    margin-top: -5px !important;
    grid-template-columns: 148px minmax(0, 178px) !important;
}

@media (max-width: 1400px), (max-height: 760px) {
    .registered-layout-body .registered-waiting-screen .workbench-toolbar,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
        grid-template-columns: 36px minmax(132px, 162px) 38px 38px 36px minmax(152px, 190px) minmax(150px, 190px) minmax(230px, 1fr) !important;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-field:not(.search),
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field:not(.search) {
        grid-template-columns: 42px minmax(0, 1fr) !important;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-field.search,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search {
        grid-template-columns: 42px minmax(82px, 110px) minmax(0, 1fr) 42px !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-footer-status,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status {
        grid-template-columns: 92px minmax(0, 130px) !important;
        margin-top: -26px !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-footer-status .waiting-count,
    .registered-layout-body .registered-waiting-screen .registered-footer-status .workbench-clock-box,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .workbench-clock-box {
        height: 76px !important;
    }
}

/* Full-screen first-visit patient profile mockup. */
.patient-profile-modal {
    position: fixed !important;
    inset: 0 !important;
    display: none !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    background: #ffffff !important;
    z-index: 90 !important;
}

.patient-profile-modal.is-open {
    display: block !important;
}

.patient-profile-modal,
.patient-profile-modal * {
    box-sizing: border-box;
}

.patient-profile-card {
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 66px minmax(0, 1fr) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden !important;
    color: #152033 !important;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif !important;
}

.profile-sidebar {
    grid-row: 1 / 3;
    grid-column: 1;
    display: grid;
    grid-template-rows: 78px minmax(0, 1fr);
    border-right: 1px solid #e1e7eb;
    background: #ffffff;
}

.profile-menu-button {
    width: 94px;
    height: 78px;
    display: grid;
    place-content: center;
    gap: 7px;
    border: 0;
    border-bottom: 1px solid #e3e8ed;
    background: #ffffff;
}

.profile-menu-button span {
    width: 30px;
    height: 2px;
    border-radius: 99px;
    background: #0f1f32;
}

.profile-sidebar nav {
    display: grid;
    grid-auto-rows: 98px;
    align-content: start;
}

.profile-sidebar a {
    position: relative;
    display: grid;
    place-items: center;
    gap: 8px;
    border-bottom: 1px solid #edf1f3;
    color: #102033;
    text-decoration: none;
    font-size: 15px;
    font-weight: 900;
}

.profile-sidebar a.is-active {
    background: #f0fbf4;
    color: #008f3c;
}

.profile-sidebar a.is-active::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: #009a47;
}

.profile-nav-icon {
    width: 32px;
    height: 32px;
    display: block;
    position: relative;
    color: #008f3c;
}

.profile-nav-icon::before,
.profile-nav-icon::after {
    content: "";
    position: absolute;
    border: 2px solid currentColor;
}

.profile-nav-icon.user::before {
    width: 14px;
    height: 14px;
    top: 1px;
    left: 9px;
    border-radius: 999px;
}

.profile-nav-icon.user::after {
    width: 25px;
    height: 16px;
    left: 4px;
    bottom: 1px;
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
    border-bottom: 0;
}

.profile-nav-icon.search::before {
    width: 23px;
    height: 23px;
    left: 1px;
    top: 1px;
    border-radius: 999px;
}

.profile-nav-icon.search::after {
    width: 12px;
    height: 2px;
    right: 0;
    bottom: 4px;
    border: 0;
    background: currentColor;
    transform: rotate(45deg);
}

.profile-nav-icon.note::before,
.profile-nav-icon.batch::before {
    width: 23px;
    height: 28px;
    left: 5px;
    top: 1px;
    border-radius: 4px;
}

.profile-nav-icon.note::after,
.profile-nav-icon.batch::after {
    width: 12px;
    height: 10px;
    right: 3px;
    top: 3px;
    border-left: 0;
    border-bottom: 0;
}

.profile-nav-icon.stetho::before {
    width: 20px;
    height: 19px;
    left: 4px;
    top: 1px;
    border-top: 0;
    border-radius: 0 0 14px 14px;
}

.profile-nav-icon.stetho::after {
    width: 8px;
    height: 8px;
    right: 2px;
    bottom: 2px;
    border-radius: 999px;
}

.profile-nav-icon.report::before {
    width: 26px;
    height: 22px;
    left: 3px;
    top: 5px;
    border-radius: 3px;
}

.profile-nav-icon.report::after {
    width: 18px;
    height: 10px;
    left: 7px;
    bottom: 7px;
    border-top: 0;
    border-right: 0;
    transform: skew(-20deg);
}

.profile-nav-icon.gear::before {
    width: 27px;
    height: 27px;
    left: 2px;
    top: 2px;
    border-radius: 999px;
}

.profile-nav-icon.gear::after {
    width: 8px;
    height: 8px;
    left: 12px;
    top: 12px;
    border-radius: 999px;
}

.profile-topbar {
    grid-row: 1;
    grid-column: 1;
    min-height: 66px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 31px !important;
    border-bottom: 1px solid #e3e8ed !important;
    background: #ffffff !important;
    color: #132033 !important;
}

.profile-breadcrumb {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #152033;
    font-size: 17px;
    font-weight: 900;
}

.profile-plus {
    width: 47px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid #dce5eb;
    border-radius: 7px;
    color: #009a47;
    background: #ffffff;
    font-size: 31px;
    font-weight: 900;
}

.profile-breadcrumb i {
    color: #9ba8b7;
    font-style: normal;
}

.profile-userbar {
    display: flex;
    align-items: center;
    gap: 16px;
    color: #1e2a3d;
    font-size: 15px;
    font-weight: 900;
}

.profile-userbar > span {
    width: 1px;
    height: 18px;
    background: #e5ebf0;
}

.profile-help,
.profile-user-menu {
    border: 0;
    background: transparent;
    color: #142033;
    font-weight: 900;
}

.profile-help {
    width: 26px;
    height: 26px;
    border: 2px solid #142033;
    border-radius: 999px;
    font-size: 17px;
    line-height: 20px;
}

.profile-user-menu {
    font-size: 19px;
}

.patient-profile-form {
    grid-row: 2;
    grid-column: 1;
    min-height: 0;
    display: grid !important;
    grid-template-rows: 72px minmax(0, 1fr) 72px !important;
    gap: 0 !important;
    padding: 0 22px 0 29px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.profile-title-row {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.profile-title-icon {
    width: 58px;
    height: 51px;
    position: relative;
    display: block;
    border: 1px solid #dce5eb;
    border-radius: 8px;
    background: #ffffff;
    color: #009a47;
}

.profile-title-icon::before {
    content: "";
    position: absolute;
    width: 17px;
    height: 17px;
    left: 20px;
    top: 10px;
    border-radius: 999px;
    background: currentColor;
}

.profile-title-icon::after {
    content: "";
    position: absolute;
    width: 29px;
    height: 15px;
    left: 14px;
    bottom: 8px;
    border-radius: 15px 15px 5px 5px;
    background: currentColor;
}

.profile-title-row h2 {
    margin: 0 !important;
    color: #142033 !important;
    font-size: 32px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

.patient-profile-workspace {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 558px;
    gap: 17px;
    align-items: stretch;
    overflow: hidden;
}

.profile-form-stack {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: 154px 91px 87px 102px 216px 88px;
    gap: 8px;
    overflow: hidden;
}

.profile-section,
.profile-address-panel,
.profile-address-token-panel {
    border: 1px solid #dce5eb;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(16, 32, 51, .035);
}

.profile-section {
    min-width: 0;
    padding: 14px 22px 14px 23px;
    display: grid;
    grid-template-rows: 25px minmax(0, 1fr);
    gap: 8px;
    overflow: hidden;
}

.profile-section h3,
.profile-address-panel h3 {
    position: relative;
    margin: 0;
    padding-left: 18px;
    color: #152033;
    font-size: 18px;
    font-weight: 900;
    line-height: 24px;
}

.profile-section h3::before,
.profile-address-panel h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 4px;
    height: 19px;
    border-radius: 99px;
    background: #009a47;
}

.profile-section-grid {
    display: grid;
    min-width: 0;
    gap: 14px 32px;
    align-items: center;
}

.profile-section-grid label,
.profile-chronic-field,
.profile-radio-field,
.profile-checkbox-line {
    min-width: 0;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #172238;
    font-size: 15px;
    font-weight: 900;
}

.profile-section-grid label > span,
.profile-chronic-field > span,
.profile-radio-field legend,
.profile-radio-title,
.profile-checkbox-line > span,
.profile-file-row > span {
    color: #152033;
    font-size: 15px;
    font-weight: 900;
    white-space: nowrap;
}

.profile-section-grid .required > span::after,
.profile-radio-field.required legend::after,
.profile-radio-field.required .profile-radio-title::after {
    content: " *";
    color: #e12626;
}

.profile-section-grid input,
.profile-section-grid select,
.profile-file-row input {
    width: 100%;
    height: 39px;
    min-width: 0;
    border: 1px solid #dce5eb;
    border-radius: 7px;
    background: #ffffff;
    color: #1c2a3c;
    font-size: 15px;
    font-weight: 800;
    padding: 0 14px;
    box-shadow: inset 0 1px 1px rgba(16, 32, 51, .025);
}

.profile-chronic-field {
    min-width: 0;
    grid-column: 2 / 4;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: start;
    gap: 8px;
}

.profile-chronic-options {
    min-width: 0;
    max-height: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    gap: 5px 10px;
    padding: 2px 0;
    overflow: visible;
}

.profile-chronic-options label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #1c2a3c;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.profile-chronic-options input {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    padding: 0 !important;
    accent-color: #009a47;
}

.profile-section-grid input::placeholder {
    color: #9aa7b5;
}

.profile-section-grid input:focus,
.profile-section-grid select:focus {
    outline: 2px solid rgba(0, 154, 71, .16);
    border-color: #009a47;
}

.basic-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr) minmax(0, .88fr);
    grid-template-rows: 39px 39px;
}

.contact-grid {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1fr) minmax(0, 1fr);
}

.insurance-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(0, .8fr);
}

.address-grid {
    grid-template-columns: minmax(110px, .34fr) minmax(0, 1fr) 131px;
    grid-template-rows: 39px;
}

.reminder-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) minmax(0, 1.25fr);
    grid-template-rows: 39px 39px 39px;
    align-content: center;
}

.profile-history-input {
    grid-column: 1 / 2;
}

.profile-special-note-input {
    grid-column: 2 / 4;
}

.profile-remark-input {
    grid-column: 1 / -1;
}

.profile-radio-field {
    grid-template-columns: 82px repeat(3, auto);
    border: 0;
    padding: 0;
}

.profile-radio-field legend {
    padding: 0;
}

.profile-radio-title {
    padding: 0;
}

.profile-radio-field label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 900;
}

.profile-radio-field input,
.profile-checkbox-line input {
    width: 18px;
    height: 18px;
    accent-color: #009a47;
}

.profile-checkbox-line {
    grid-template-columns: auto 18px;
    justify-content: start;
}

.profile-address-pick,
.profile-clear-address,
.profile-upload-button,
.profile-file-icon {
    height: 39px;
    border: 1px solid #c4dfd0;
    border-radius: 7px;
    background: #ffffff;
    color: #008f3c;
    font-size: 15px;
    font-weight: 900;
}

.profile-clear-address,
.profile-file-icon {
    border-color: #dce5eb;
    color: #28364a;
}

.profile-address-pick span,
.profile-clear-address span,
.profile-upload-button span {
    margin-right: 8px;
}

.profile-file-section {
    padding-top: 8px;
    padding-bottom: 8px;
    grid-template-rows: 22px 39px;
    gap: 5px;
}

.profile-file-row {
    display: grid;
    grid-template-columns: 48px 174px minmax(0, 1fr) 52px;
    gap: 0;
    align-items: center;
}

.profile-upload-button {
    border-radius: 7px 0 0 7px;
    background: #ffffff;
    color: #009a47;
}

.profile-file-row input {
    border-left: 0;
    border-radius: 0;
    color: #7c8797;
    font-size: 13px;
}

.profile-file-icon {
    margin-left: 14px;
}

.profile-address-side {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 10px;
    align-self: stretch;
    overflow: hidden;
}

.profile-address-panel {
    min-height: 0;
    height: auto;
    padding: 16px 18px 17px;
    overflow: auto;
}

.profile-address-panel p {
    margin: 8px 0 15px;
    color: #667489;
    font-size: 14px;
    font-weight: 800;
}

.quick-address-group {
    display: grid;
    gap: 8px;
    margin-bottom: 15px;
}

.quick-address-group > span {
    color: #172238;
    font-size: 14px;
    font-weight: 900;
}

.quick-address-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
}

.quick-address-buttons button {
    height: 36px;
    min-width: 73px;
    padding: 0 16px;
    border: 1px solid #dce5eb;
    border-radius: 7px;
    background: #ffffff;
    color: #233044;
    font-size: 14px;
    font-weight: 900;
}

.quick-address-buttons .is-active {
    border-color: #009a47;
    background: linear-gradient(180deg, #10ab57 0%, #008f3c 100%);
    color: #ffffff;
}

.quick-address-buttons .is-favorite:not(.is-active) {
    border-color: #f0bd4b;
    background: #fff9e8;
    color: #795d11;
}

.quick-address-buttons button:disabled {
    cursor: default;
    opacity: .68;
}

.tw-address-all-group {
    min-height: 0;
}

.tw-address-search {
    height: 34px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.tw-address-search span {
    color: #4f5d70;
    font-size: 13px;
    font-weight: 900;
}

.tw-address-search input {
    width: 100%;
    height: 34px;
    padding: 0 12px;
    border: 1px solid #dce5eb;
    border-radius: 7px;
    background: #ffffff;
    color: #1f2c40;
    font-size: 14px;
    font-weight: 800;
}

.tw-address-search input:disabled {
    background: #f4f7f9;
    color: #8a96a6;
}

@media (max-width: 1400px), (max-height: 760px) {
    .tw-address-search {
        height: 29px;
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 6px;
    }

    .tw-address-search span,
    .tw-address-search input {
        font-size: 12px;
    }

    .tw-address-search input {
        height: 29px;
        padding: 0 8px;
    }
}

@media (max-height: 680px), (max-width: 1320px) {
    .tw-address-search {
        height: 25px;
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 4px;
    }

    .tw-address-search span,
    .tw-address-search input {
        font-size: 10px;
    }

    .tw-address-search input {
        height: 25px;
        padding: 0 6px;
    }
}

.tw-address-buttons {
    max-height: 390px;
    overflow-y: auto;
    padding-right: 4px;
}

.road-buttons button {
    min-width: 93px;
}

.quick-address-group.compact {
    margin-bottom: 14px;
}

.number-group {
    margin-bottom: 6px;
}

.number-group .quick-address-buttons {
    flex-wrap: nowrap;
    gap: 5px;
}

.number-group .quick-address-buttons button {
    min-width: 37px;
    width: 37px;
    padding: 0;
}

.profile-address-token-panel {
    min-width: 0;
    padding: 10px 14px 12px;
}

.address-token-title {
    display: block;
    margin-bottom: 8px;
    color: #172238;
    font-size: 14px;
    font-weight: 900;
}

.address-token-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 184px;
    gap: 8px;
    align-items: start;
}

.address-token-grid {
    display: grid;
    gap: 6px;
}

.address-token-units {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.address-token-numbers {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.address-token-grid button {
    height: 32px;
    min-width: 0;
    border: 1px solid #b9c4ce;
    border-radius: 0;
    background: #f7f7f7;
    color: #6a3653;
    font-size: 17px;
    font-weight: 900;
}

.address-token-grid button:hover {
    border-color: #009a47;
    background: #eef8f2;
    color: #0b6f3a;
}

@media (max-width: 1400px), (max-height: 760px) {
    .profile-address-token-panel {
        padding: 8px 10px 10px;
    }

    .address-token-title {
        margin-bottom: 6px;
        font-size: 12px;
    }

    .address-token-body {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    .address-token-grid button {
        height: 27px;
        font-size: 13px;
    }
}

.profile-actions {
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 24px !important;
    padding: 0 14px 10px 0 !important;
    border-top: 0 !important;
    background: #ffffff !important;
}

.profile-actions button {
    height: 52px !important;
    min-width: 154px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;
    border: 1px solid #dce5eb !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #152033 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    box-shadow: 0 6px 16px rgba(16, 32, 51, .035) !important;
}

.profile-actions .profile-save-register {
    min-width: 205px !important;
    background: linear-gradient(180deg, #12a756 0%, #008f3c 100%) !important;
    border-color: #008f3c !important;
    color: #ffffff !important;
}

.profile-actions .profile-save-only {
    border-color: #78c79b !important;
    color: #008f3c !important;
}

.profile-actions .danger-profile-action,
.profile-actions .profile-clear-action {
    color: #152033 !important;
}

.profile-actions button span {
    color: currentColor;
    font-size: 19px;
    line-height: 1;
}

.profile-floating-close {
    display: none !important;
}

@media (max-width: 1400px), (max-height: 760px) {
    .patient-profile-card {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: 52px minmax(0, 1fr) !important;
    }

    .profile-sidebar {
        grid-template-rows: 58px minmax(0, 1fr);
    }

    .profile-menu-button {
        width: 74px;
        height: 58px;
    }

    .profile-sidebar nav {
        grid-auto-rows: 70px;
    }

    .profile-sidebar a {
        font-size: 11px;
        gap: 4px;
    }

    .profile-nav-icon {
        width: 24px;
        height: 24px;
        transform: scale(.78);
    }

    .profile-topbar {
        min-height: 52px !important;
        padding: 0 18px !important;
    }

    .profile-plus {
        width: 38px;
        height: 34px;
        font-size: 24px;
    }

    .patient-profile-form {
        grid-template-rows: 52px minmax(0, 1fr) 58px !important;
        padding: 0 14px 0 18px !important;
    }

    .profile-title-row h2 {
        font-size: 24px !important;
    }

    .profile-title-icon {
        width: 45px;
        height: 39px;
        transform: scale(.88);
    }

    .patient-profile-workspace {
        grid-template-columns: minmax(0, 1fr) minmax(390px, 34vw);
        gap: 10px;
    }

    .profile-form-stack {
        grid-template-rows: 122px 70px 70px 72px 128px 63px;
        gap: 7px;
    }

    .profile-section {
        padding: 8px 12px;
        grid-template-rows: 20px minmax(0, 1fr);
        gap: 5px;
    }

    .profile-section h3,
    .profile-address-panel h3 {
        font-size: 14px;
        line-height: 18px;
    }

    .profile-section-grid {
        gap: 8px 14px;
    }

    .profile-section-grid label,
    .profile-chronic-field,
    .profile-radio-field,
    .profile-checkbox-line {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 6px;
        font-size: 12px;
    }

    .profile-section-grid label > span,
    .profile-chronic-field > span,
    .profile-radio-field legend,
    .profile-checkbox-line > span,
    .profile-file-row > span {
        font-size: 12px;
    }

    .profile-section-grid input,
    .profile-section-grid select,
    .profile-file-row input,
    .profile-address-pick,
    .profile-clear-address,
    .profile-upload-button,
    .profile-file-icon {
        height: 29px;
        font-size: 12px;
        padding: 0 8px;
    }

    .profile-radio-field {
        grid-template-columns: 62px repeat(3, auto);
    }

    .reminder-grid {
        grid-template-rows: 29px 29px;
    }

    .profile-radio-field input,
    .profile-checkbox-line input {
        width: 14px;
        height: 14px;
    }

    .profile-file-row {
        grid-template-columns: 38px 130px minmax(0, 1fr) 38px;
    }

    .profile-address-panel {
        height: 544px;
        padding: 10px 12px;
    }

    .profile-address-panel p {
        margin: 4px 0 8px;
        font-size: 11px;
    }

    .quick-address-group {
        gap: 5px;
        margin-bottom: 8px;
    }

    .quick-address-group > span,
    .quick-address-buttons button {
        font-size: 11px;
    }

    .quick-address-buttons {
        gap: 6px;
    }

    .quick-address-buttons button {
        height: 27px;
        min-width: 52px;
        padding: 0 8px;
    }

    .road-buttons button {
        min-width: 66px;
    }

    .number-group .quick-address-buttons button {
        width: 30px;
        min-width: 30px;
    }

    .profile-actions {
        min-height: 58px !important;
        gap: 10px !important;
        padding-bottom: 6px !important;
    }

    .profile-actions button {
        height: 40px !important;
        min-width: 116px !important;
        font-size: 13px !important;
    }

    .profile-actions .profile-save-register {
        min-width: 154px !important;
    }
}

/* Patient profile should behave like a modal, not a full-page takeover. */
.patient-profile-modal {
    align-items: center !important;
    justify-content: center !important;
    padding: 22px !important;
    background: rgba(15, 31, 50, .34) !important;
    backdrop-filter: blur(3px);
}

.patient-profile-modal.is-open {
    display: flex !important;
}

.patient-profile-card {
    position: relative !important;
    width: min(1540px, calc(100vw - 44px)) !important;
    height: min(870px, calc(100vh - 44px)) !important;
    max-width: 1540px !important;
    max-height: 870px !important;
    border: 1px solid #d8e4ec !important;
    border-radius: 14px !important;
    box-shadow: 0 24px 70px rgba(15, 31, 50, .22) !important;
    overflow: hidden !important;
}

.profile-topbar {
    padding-right: 70px !important;
}

.profile-floating-close {
    position: absolute !important;
    top: 14px !important;
    right: 16px !important;
    z-index: 8 !important;
    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #cfdde7 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #142033 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: 0 8px 18px rgba(15, 31, 50, .08) !important;
    cursor: pointer !important;
}

.profile-floating-close:hover {
    border-color: #009a47 !important;
    color: #008f3c !important;
}

@media (max-width: 1400px), (max-height: 760px) {
    .patient-profile-modal {
        padding: 14px !important;
    }

    .patient-profile-card {
        width: min(1280px, calc(100vw - 28px)) !important;
        height: min(720px, calc(100vh - 28px)) !important;
        max-height: 720px !important;
        border-radius: 12px !important;
    }

    .profile-topbar {
        padding-right: 58px !important;
    }

    .profile-floating-close {
        top: 9px !important;
        right: 11px !important;
        width: 34px !important;
        height: 34px !important;
        font-size: 22px !important;
    }
}

@media (max-height: 680px) {
    .patient-profile-form {
        grid-template-rows: 44px minmax(0, 1fr) 48px !important;
    }

    .profile-form-stack {
        grid-template-rows: 95px 56px 56px 58px 96px 48px !important;
        gap: 5px !important;
    }

    .profile-section {
        padding: 6px 10px !important;
        grid-template-rows: 17px minmax(0, 1fr) !important;
        gap: 3px !important;
    }

    .profile-section-grid {
        gap: 5px 10px !important;
    }

    .profile-section-grid input,
    .profile-section-grid select,
    .profile-file-row input,
    .profile-address-pick,
    .profile-clear-address,
    .profile-upload-button,
    .profile-file-icon {
        height: 25px !important;
        font-size: 11px !important;
    }

    .profile-section h3,
    .profile-address-panel h3 {
        font-size: 12px !important;
        line-height: 15px !important;
    }

    .profile-title-row h2 {
        font-size: 21px !important;
    }

    .profile-title-icon {
        width: 38px !important;
        height: 34px !important;
    }

    .profile-address-panel {
        height: 430px !important;
        padding: 8px 10px !important;
    }

    .quick-address-group {
        margin-bottom: 5px !important;
    }

    .quick-address-buttons {
        gap: 4px !important;
    }

    .quick-address-buttons button {
        height: 23px !important;
        min-width: 46px !important;
        padding: 0 6px !important;
        font-size: 10px !important;
    }

    .number-group .quick-address-buttons button {
        min-width: 25px !important;
        width: 25px !important;
    }

    .profile-actions {
        min-height: 48px !important;
        gap: 8px !important;
        padding-bottom: 4px !important;
    }

    .profile-actions button {
        height: 34px !important;
        min-width: 96px !important;
        font-size: 12px !important;
    }

    .profile-actions .profile-save-register {
        min-width: 132px !important;
    }
}

/* Patient profile modal icons are SVG sprite icons, not CSS-drawn glyphs. */
.patient-profile-modal .profile-svg-icon,
.patient-profile-modal .profile-nav-icon,
.patient-profile-modal .profile-inline-icon svg,
.patient-profile-modal .quick-address-chevron,
.registration-note-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex: 0 0 auto;
}

.patient-profile-modal .profile-nav-icon::before,
.patient-profile-modal .profile-nav-icon::after,
.patient-profile-modal .profile-title-icon::before,
.patient-profile-modal .profile-title-icon::after {
    content: none !important;
    display: none !important;
}

.patient-profile-modal .profile-menu-button {
    place-items: center;
    gap: 0;
}

.patient-profile-modal .profile-menu-button .profile-svg-icon {
    width: 31px;
    height: 31px;
    color: #0f1f32;
}

.patient-profile-modal .profile-nav-icon {
    width: 32px;
    height: 32px;
    color: currentColor;
    position: static;
}

.patient-profile-modal .profile-plus {
    display: grid;
    place-items: center;
}

.patient-profile-modal .profile-plus .profile-svg-icon {
    width: 25px;
    height: 25px;
    fill: currentColor;
    stroke: none;
}

.patient-profile-modal .profile-help,
.patient-profile-modal .profile-user-menu {
    display: inline-grid;
    place-items: center;
}

.patient-profile-modal .profile-help .profile-svg-icon {
    width: 22px;
    height: 22px;
}

.patient-profile-modal .profile-user-menu .profile-svg-icon {
    width: 20px;
    height: 20px;
}

.patient-profile-modal .profile-title-icon {
    display: grid !important;
    place-items: center !important;
}

.patient-profile-modal .profile-title-icon .profile-svg-icon {
    width: 34px;
    height: 34px;
    color: #009a47;
}

.patient-profile-modal .profile-inline-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    color: currentColor;
}

.patient-profile-modal .profile-inline-icon svg {
    width: 100%;
    height: 100%;
}

.patient-profile-modal .profile-file-icon .profile-svg-icon {
    width: 20px;
    height: 20px;
}

.patient-profile-modal .quick-address-buttons button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.patient-profile-modal .quick-address-chevron {
    width: 13px;
    height: 13px;
    margin-left: 1px;
}

.patient-profile-modal .profile-actions button span {
    line-height: 0;
}

.patient-profile-modal .profile-actions .profile-inline-icon {
    width: 21px;
    height: 21px;
    margin-right: 0;
}

.patient-profile-modal .profile-floating-close .profile-svg-icon {
    width: 22px;
    height: 22px;
}

.registration-note-icon {
    width: 18px;
    height: 18px;
    color: currentColor;
}

@media (max-width: 1400px), (max-height: 760px) {
    .patient-profile-modal .profile-menu-button .profile-svg-icon {
        width: 27px;
        height: 27px;
    }

    .patient-profile-modal .profile-nav-icon {
        width: 24px;
        height: 24px;
        transform: none !important;
    }

    .patient-profile-modal .profile-title-icon .profile-svg-icon {
        width: 28px;
        height: 28px;
    }
}

@media (max-height: 680px) {
    .patient-profile-modal .profile-title-icon .profile-svg-icon {
        width: 24px;
        height: 24px;
    }

    .patient-profile-modal .profile-inline-icon {
        width: 15px;
        height: 15px;
        margin-right: 5px;
    }

    .patient-profile-modal .profile-actions .profile-inline-icon {
        width: 17px;
        height: 17px;
    }
}

/* Small-height modal guardrails: prevent clipped text in 580px laptop viewports. */
@media (max-height: 680px) {
    .patient-profile-modal {
        padding: 8px !important;
    }

    .patient-profile-card {
        width: min(1320px, calc(100vw - 16px)) !important;
        height: calc(100vh - 16px) !important;
        max-height: none !important;
    }

    .patient-profile-card {
        grid-template-rows: 46px minmax(0, 1fr) !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .profile-sidebar {
        grid-template-rows: 50px minmax(0, 1fr) !important;
    }

    .profile-menu-button {
        height: 50px !important;
    }

    .profile-sidebar nav {
        grid-auto-rows: 62px !important;
    }

    .profile-topbar {
        min-height: 46px !important;
        padding-left: 14px !important;
    }

    .patient-profile-form {
        grid-template-rows: 36px minmax(0, 1fr) 42px !important;
        padding: 0 10px 0 12px !important;
    }

    .patient-profile-workspace {
        grid-template-columns: minmax(0, 1fr) minmax(452px, 37vw) !important;
        gap: 8px !important;
    }

    .profile-form-stack {
        grid-template-rows: 92px 52px 52px 54px 86px 40px !important;
        gap: 4px !important;
    }

    .profile-section {
        padding: 5px 8px !important;
        grid-template-rows: 15px minmax(0, 1fr) !important;
        gap: 2px !important;
    }

    .profile-section h3,
    .profile-address-panel h3 {
        font-size: 11px !important;
        line-height: 14px !important;
    }

    .profile-section h3::before,
    .profile-address-panel h3::before {
        top: 2px !important;
        height: 13px !important;
    }

    .profile-section-grid {
        gap: 4px 8px !important;
    }

    .profile-section-grid label,
    .profile-chronic-field,
    .profile-radio-field,
    .profile-checkbox-line {
        grid-template-columns: 52px minmax(0, 1fr) !important;
        gap: 4px !important;
        font-size: 10px !important;
    }

    .profile-section-grid label > span,
    .profile-chronic-field > span,
    .profile-radio-field legend,
    .profile-checkbox-line > span,
    .profile-file-row > span {
        font-size: 10px !important;
    }

    .profile-section-grid input,
    .profile-section-grid select,
    .profile-file-row input,
    .profile-address-pick,
    .profile-clear-address,
    .profile-upload-button,
    .profile-file-icon {
        height: 24px !important;
        font-size: 10px !important;
        padding: 0 6px !important;
    }

    .basic-grid {
        grid-template-rows: 24px 24px !important;
    }

    .contact-grid,
    .insurance-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .insurance-grid .profile-checkbox-line {
        grid-template-columns: auto 14px !important;
    }

    .address-grid {
        grid-template-columns: minmax(78px, .3fr) minmax(0, 1fr) 86px !important;
        grid-template-rows: 24px !important;
    }

    .reminder-grid {
        grid-template-rows: 24px 24px !important;
    }

    .profile-file-section {
        grid-template-rows: 14px 24px !important;
        gap: 2px !important;
    }

    .profile-file-row {
        grid-template-columns: 32px 112px minmax(0, 1fr) 30px !important;
    }

    .profile-file-icon {
        margin-left: 6px !important;
    }

    .profile-address-panel {
        height: 414px !important;
        padding: 6px 8px !important;
    }

    .profile-address-panel p {
        margin: 2px 0 5px !important;
        font-size: 10px !important;
    }

    .quick-address-group {
        gap: 3px !important;
        margin-bottom: 4px !important;
    }

    .quick-address-group > span,
    .quick-address-buttons button {
        font-size: 10px !important;
        line-height: 1.05 !important;
    }

    .quick-address-buttons {
        gap: 4px !important;
    }

    .quick-address-buttons button {
        height: 26px !important;
        min-width: 46px !important;
        padding: 0 6px !important;
        overflow: visible !important;
    }

    .road-buttons button {
        min-width: 62px !important;
    }

    .number-group .quick-address-buttons {
        flex-wrap: nowrap !important;
        gap: 4px !important;
    }

    .number-group .quick-address-buttons button {
        min-width: 29px !important;
        width: 29px !important;
        height: 26px !important;
    }

    .profile-actions {
        min-height: 42px !important;
        gap: 6px !important;
        padding: 3px 8px 5px 0 !important;
    }

    .profile-actions button {
        height: 32px !important;
        min-width: 92px !important;
        font-size: 11px !important;
    }

    .profile-actions .profile-save-register {
        min-width: 128px !important;
    }
}

@media (max-height: 680px), (max-width: 1320px) {
    .registration-entry-modal {
        padding: 6px !important;
    }

    .registration-entry-card {
        width: calc(100vw - 12px) !important;
        height: calc(100vh - 12px) !important;
    }

    #visitRegistrationForm {
        grid-template-rows: 28px 98px 56px 100px 42px minmax(0, 1fr) !important;
    }

    .registration-entry-header {
        padding: 0 8px !important;
    }

    .registration-entry-profile {
        grid-template-columns: minmax(188px, .95fr) minmax(150px, .82fr) minmax(190px, 1fr) minmax(150px, .82fr) minmax(150px, .82fr) !important;
        grid-template-rows: 38px 36px !important;
        gap: 5px 10px !important;
        margin: 4px 7px 0 !important;
        padding: 7px 10px !important;
    }

    .registration-entry-id {
        grid-template-columns: 50px minmax(0, 1fr) !important;
        gap: 8px !important;
        padding-right: 10px !important;
    }

    .registration-avatar {
        width: 48px !important;
        height: 48px !important;
    }

    .registration-entry-id strong {
        font-size: 23px !important;
        line-height: 1 !important;
    }

    .registration-entry-id span {
        font-size: 18px !important;
        line-height: 1.08 !important;
    }

    .registration-entry-profile label,
    .registration-entry-profile .registration-address {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        gap: 5px !important;
    }

    .registration-entry-profile label span {
        font-size: 13px !important;
    }

    .registration-entry-profile input,
    .registration-card-strip input,
    .registration-entry-grid input,
    .registration-entry-grid select {
        height: 27px !important;
        padding: 0 6px !important;
        font-size: 13px !important;
    }

    .registration-inline-control {
        grid-template-columns: minmax(0, 1fr) 24px !important;
        gap: 3px !important;
    }

    .registration-inline-control button {
        width: 24px !important;
        height: 27px !important;
        padding: 0 !important;
        line-height: 1 !important;
    }

    .registration-card-strip {
        grid-template-columns: 46px 72px minmax(74px, .55fr) minmax(74px, .55fr) minmax(70px, .5fr) minmax(230px, 1.7fr) 76px !important;
        gap: 7px !important;
        margin: 4px 7px 0 !important;
        padding: 6px 10px !important;
    }

    .registration-card-strip label,
    .registration-status-message {
        grid-template-columns: 50px minmax(0, 1fr) !important;
    }

    .registration-card-strip .registration-ic-note {
        grid-template-columns: 1fr !important;
        justify-items: stretch !important;
    }

    .registration-card-strip label span {
        font-size: 12px !important;
    }

    .registration-transfer {
        height: 30px !important;
        font-size: 14px !important;
    }

    .registration-entry-grid {
        grid-template-columns: minmax(98px, 1.06fr) 36px minmax(58px, .58fr) minmax(54px, .54fr) minmax(62px, .62fr) minmax(46px, .45fr) minmax(82px, .86fr) minmax(48px, .48fr) minmax(54px, .55fr) minmax(72px, .72fr) minmax(74px, .76fr) minmax(56px, .56fr) minmax(56px, .56fr) minmax(58px, .58fr) minmax(58px, .58fr) minmax(58px, .58fr) 72px !important;
        grid-template-rows: 48px 24px !important;
        gap: 4px 4px !important;
        margin: 4px 7px 0 !important;
        padding: 6px 9px 5px !important;
    }

    .registration-entry-grid label {
        grid-template-rows: 15px 27px !important;
        gap: 2px !important;
    }

    .registration-entry-grid label > span:first-child,
    .registration-entry-vitals span {
        font-size: 12px !important;
    }

    .registration-small-command,
    .registration-entry-actions button {
        height: 29px !important;
        font-size: 12px !important;
        line-height: 1 !important;
    }

    .registration-entry-help {
        font-size: 11px !important;
        grid-template-columns: minmax(0, 1fr) 56px !important;
    }

    .registration-entry-vitals {
        grid-template-columns: repeat(8, minmax(64px, 1fr)) !important;
        gap: 4px 10px !important;
        margin: 4px 7px 0 !important;
        padding: 5px 10px !important;
    }

    .registration-entry-vitals label {
        grid-template-columns: 28px minmax(0, 1fr) !important;
        gap: 4px !important;
    }

    .registration-entry-vitals input {
        height: 26px !important;
        font-size: 12px !important;
    }

    .registration-entry-lower {
        grid-template-columns: minmax(0, 1.08fr) minmax(220px, 300px) minmax(360px, 1.1fr) !important;
        gap: 5px !important;
        margin: 4px 7px 6px !important;
    }

    .registration-entry-note {
        grid-template-rows: 34px minmax(0, 1fr) !important;
    }

    .registration-entry-note header {
        grid-template-columns: minmax(0, 1fr) 28px 28px 28px !important;
        gap: 4px !important;
        padding: 4px 7px !important;
    }

    .registration-entry-note header label {
        grid-template-columns: 76px minmax(0, 50px) !important;
    }

    .registration-entry-note header span {
        font-size: 13px !important;
    }

    .registration-entry-note header input,
    .registration-entry-note header button,
    .registration-fast-panel button {
        height: 24px !important;
        font-size: 11px !important;
    }

    .registration-entry-note textarea {
        padding: 8px !important;
        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    .registration-fast-panel {
        grid-auto-rows: minmax(0, 20px) !important;
        gap: 3px 5px !important;
        padding: 6px 9px !important;
    }

    .registration-fast-panel h3 {
        font-size: 14px !important;
        line-height: 17px !important;
    }

    .registration-fast-panel button {
        grid-template-columns: 18px minmax(0, 1fr) !important;
        gap: 4px !important;
        padding: 0 6px !important;
        overflow: visible !important;
    }

    .registration-fast-panel button span {
        font-size: 13px !important;
    }

    .registration-entry-history {
        grid-template-rows: 38px minmax(0, 1fr) !important;
        padding-left: 30px !important;
    }

    .registration-entry-history header {
        grid-template-rows: 18px 14px !important;
        padding: 4px 7px 2px !important;
    }

    .registration-entry-history header strong {
        font-size: 14px !important;
    }

    .registration-entry-history header span,
    .registration-entry-history header small {
        font-size: 10px !important;
    }

    .history-side-label {
        top: 38px !important;
        width: 30px !important;
        font-size: 12px !important;
    }

    .registration-entry-history th,
    .registration-entry-history td {
        height: 22px !important;
        padding: 2px 3px !important;
        font-size: 10.5px !important;
        line-height: 1.1 !important;
    }

    .registration-entry-history th:nth-child(1),
    .registration-entry-history td:nth-child(1) {
        width: 15% !important;
    }

    .registration-entry-history th:nth-child(3),
    .registration-entry-history td:nth-child(3) {
        width: 15% !important;
    }

    .registration-entry-history th:nth-child(5),
    .registration-entry-history td:nth-child(5) {
        width: 27% !important;
    }

    .registration-entry-id strong,
    .registration-entry-profile label {
        overflow: visible !important;
    }
}

@media (max-height: 680px) {
    .abnormal-visit-modal {
        padding: 8px 16px !important;
    }

    .abnormal-visit-card {
        height: calc(100vh - 16px) !important;
        grid-template-rows: 52px 58px minmax(0, 1fr) 50px !important;
    }

    .abnormal-visit-card header {
        padding: 0 14px !important;
    }

    .abnormal-visit-card header h2 {
        font-size: 18px !important;
    }

    .abnormal-visit-card header p {
        font-size: 12px !important;
    }

    .abnormal-visit-toolbar {
        grid-template-columns: minmax(230px, 300px) minmax(270px, 350px) minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 7px 14px 8px !important;
    }

    .abnormal-visit-toolbar > label,
    .abnormal-visit-mode legend {
        font-size: 12px !important;
    }

    .abnormal-visit-mode {
        padding-top: 16px !important;
    }

    .abnormal-visit-mode input[type="radio"] {
        width: 1px !important;
        height: 1px !important;
        min-width: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .abnormal-visit-mode span,
    .abnormal-visit-toolbar input,
    .abnormal-visit-toolbar strong {
        min-height: 29px !important;
        height: 29px !important;
        font-size: 13px !important;
    }

    .abnormal-visit-table th,
    .abnormal-visit-table td {
        padding: 5px 8px !important;
        font-size: 12.5px !important;
        line-height: 1.25 !important;
    }

    .abnormal-visit-table th {
        height: 30px !important;
        font-size: 12px !important;
    }

    .abnormal-visit-table td:nth-child(1),
    .abnormal-visit-table td:nth-child(2) {
        font-size: 13px !important;
    }

    .abnormal-visit-card footer {
        padding: 7px 14px !important;
    }

    .abnormal-visit-card footer button {
        min-height: 34px !important;
        font-size: 14px !important;
    }
}

/* Medium-height profile modal: keep every section visible on laptop-like 800-940px tall screens. */
@media (min-height: 681px) and (max-height: 940px) {
    .patient-profile-modal {
        padding: 6px !important;
    }

    .patient-profile-card {
        width: min(1520px, calc(100vw - 12px)) !important;
        height: calc(100vh - 12px) !important;
        max-height: none !important;
        grid-template-rows: 56px minmax(0, 1fr) !important;
    }

    .profile-sidebar {
        grid-template-rows: 56px minmax(0, 1fr) !important;
    }

    .profile-menu-button {
        height: 56px !important;
    }

    .profile-sidebar nav {
        grid-auto-rows: minmax(72px, 1fr) !important;
    }

    .profile-sidebar a {
        gap: 5px !important;
        font-size: 12px !important;
    }

    .profile-topbar {
        min-height: 56px !important;
        padding: 0 62px 0 22px !important;
    }

    .patient-profile-form {
        grid-template-rows: 58px minmax(0, 1fr) 58px !important;
        padding: 0 16px 0 20px !important;
    }

    .profile-title-row h2 {
        font-size: 28px !important;
    }

    .profile-title-icon {
        width: 50px !important;
        height: 44px !important;
    }

    .patient-profile-workspace {
        grid-template-columns: minmax(0, 1fr) minmax(470px, 33vw) !important;
        gap: 12px !important;
        align-items: stretch !important;
    }

    .profile-form-stack {
        grid-template-rows: 146px 82px 84px 82px 152px 68px !important;
        gap: 6px !important;
    }

    .profile-section {
        padding: 9px 16px !important;
        grid-template-rows: 20px minmax(0, 1fr) !important;
        gap: 5px !important;
    }

    .profile-section h3,
    .profile-address-panel h3 {
        font-size: 15px !important;
        line-height: 20px !important;
    }

    .profile-section h3::before,
    .profile-address-panel h3::before {
        top: 3px !important;
        height: 16px !important;
    }

    .profile-section-grid {
        gap: 8px 18px !important;
    }

    .profile-section-grid label,
    .profile-chronic-field,
    .profile-radio-field {
        grid-template-columns: 74px minmax(0, 1fr) !important;
        gap: 8px !important;
        font-size: 13px !important;
    }

    .profile-section-grid label > span,
    .profile-chronic-field > span,
    .profile-radio-field legend,
    .profile-checkbox-line > span,
    .profile-file-row > span {
        font-size: 13px !important;
    }

    .profile-section-grid input,
    .profile-section-grid select,
    .profile-file-row input,
    .profile-address-pick,
    .profile-clear-address,
    .profile-upload-button,
    .profile-file-icon {
        height: 34px !important;
        font-size: 13px !important;
        padding: 0 10px !important;
    }

    .basic-grid {
        grid-template-rows: 34px 34px !important;
    }

    .contact-grid {
        grid-template-columns: minmax(0, .88fr) minmax(0, 1fr) minmax(0, 1fr) !important;
    }

    .insurance-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, .95fr) minmax(0, .85fr) !important;
        gap: 8px 16px !important;
    }

    .insurance-grid .profile-checkbox-line {
        grid-template-columns: auto 18px !important;
        gap: 8px !important;
        justify-content: start !important;
        align-items: center !important;
        min-width: 0 !important;
    }

    .profile-checkbox-line input {
        width: 17px !important;
        height: 17px !important;
        min-width: 17px !important;
    }

    .address-grid {
        grid-template-columns: minmax(96px, .32fr) minmax(0, 1fr) 124px !important;
        grid-template-rows: 34px !important;
        gap: 8px 10px !important;
    }

    .address-grid label {
        grid-template-columns: 60px minmax(0, 1fr) !important;
        gap: 6px !important;
    }

    .reminder-grid {
        grid-template-rows: 34px 34px !important;
        gap: 8px 16px !important;
    }

    .profile-file-section {
        grid-template-rows: 18px 34px !important;
        gap: 3px !important;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    .profile-file-row {
        grid-template-columns: 42px 150px minmax(0, 1fr) 42px !important;
    }

    .profile-file-icon {
        margin-left: 8px !important;
    }

    .profile-address-panel {
        align-self: stretch !important;
        height: auto !important;
        padding: 10px 14px !important;
    }

    .profile-address-panel p {
        margin: 3px 0 8px !important;
        font-size: 12px !important;
    }

    .quick-address-group {
        gap: 5px !important;
        margin-bottom: 8px !important;
    }

    .quick-address-group > span,
    .quick-address-buttons button {
        font-size: 12px !important;
        line-height: 1.15 !important;
    }

    .quick-address-buttons {
        gap: 6px 8px !important;
    }

    .quick-address-buttons button {
        height: 31px !important;
        min-width: 62px !important;
        padding: 0 10px !important;
        overflow: visible !important;
    }

    .road-buttons button {
        min-width: 80px !important;
    }

    .number-group {
        margin-bottom: 5px !important;
    }

    .number-group .quick-address-buttons {
        flex-wrap: nowrap !important;
        gap: 5px !important;
    }

    .number-group .quick-address-buttons button {
        min-width: 34px !important;
        width: 34px !important;
        height: 30px !important;
        padding: 0 !important;
    }

    .profile-actions {
        min-height: 58px !important;
        gap: 14px !important;
        padding: 6px 14px 8px 0 !important;
    }

    .profile-actions button {
        height: 42px !important;
        min-width: 138px !important;
        font-size: 14px !important;
    }

    .profile-actions .profile-save-register {
        min-width: 186px !important;
    }
}

.registered-layout-body .registered-waiting-screen .command-dock,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
    position: relative;
}

.nhi-card-message {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: calc(100% + 8px);
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #657086;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.35;
    opacity: 0;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity .15s ease, transform .15s ease;
    z-index: 8;
}

.nhi-card-message.has-message {
    min-height: 34px;
    display: flex;
    align-items: center;
    padding: 7px 12px;
    border: 1px solid #dce7ef;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 24px rgba(20, 54, 74, .1);
    opacity: 1;
    transform: translateY(0);
}

.nhi-card-message.is-success {
    color: #007a3d;
    border-color: #bde8cf;
    background: #f2fff7;
}

.nhi-card-message.is-danger {
    color: #c92222;
    border-color: #f0caca;
    background: #fff5f5;
}

.nhi-card-message.is-info {
    color: #4b6179;
    border-color: #dce7ef;
    background: #f8fbfd;
}

.registered-layout-body .registered-waiting-screen .command-dock button.is-reading,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button.is-reading {
    color: #007a3d !important;
    border-color: #a8dfbd !important;
    background: #f3fff7 !important;
}

.nhi-card-loading-dot {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    border: 2px solid #8fd5aa;
    border-top-color: #007a3d;
    animation: nhi-card-spin .8s linear infinite;
}

@keyframes nhi-card-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 1400px), (max-height: 760px) {
    .nhi-card-message {
        left: 12px;
        right: 12px;
        bottom: calc(100% + 5px);
        font-size: 12px;
    }

    .nhi-card-message.has-message {
        min-height: 28px;
        padding: 5px 9px;
    }
}

/* Registration dialog layout stabilization: keep the shared Registered/Outpatient entry modal readable. */
.registration-entry-card {
    width: min(1460px, calc(100vw - 28px)) !important;
    height: min(820px, calc(100vh - 12px)) !important;
    max-width: calc(100vw - 28px) !important;
    max-height: calc(100vh - 12px) !important;
    overflow: hidden !important;
}

#visitRegistrationForm {
    grid-template-rows: 52px 124px 74px 88px 66px minmax(0, 1fr) !important;
    gap: 6px !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

#visitRegistrationForm > * {
    min-width: 0 !important;
}

.registration-entry-profile {
    grid-template-columns:
        minmax(270px, 1.08fr)
        minmax(230px, .95fr)
        minmax(230px, .95fr)
        minmax(240px, .95fr)
        minmax(240px, .95fr) !important;
    grid-template-rows: 48px 48px !important;
    gap: 10px 20px !important;
    margin: 8px 14px 0 !important;
    padding: 10px 22px !important;
    align-items: center !important;
    overflow: hidden !important;
}

.registration-entry-profile div {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.registration-entry-profile .registration-entry-id {
    grid-row: 1 / span 2 !important;
    display: grid !important;
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: center !important;
    padding-right: 22px !important;
    border-right: 1px solid #d8e6ee !important;
}

.registration-entry-profile .registration-entry-id > div:last-child {
    display: grid !important;
    gap: 6px !important;
    align-content: center !important;
}

.registration-entry-profile .registration-avatar {
    width: 70px !important;
    height: 70px !important;
    border: 1px solid #bddbd2 !important;
    border-radius: 8px !important;
    background: #f0fbf7 !important;
}

.registration-entry-profile .registration-avatar::before {
    width: 24px !important;
    height: 24px !important;
    top: 14px !important;
    left: 22px !important;
}

.registration-entry-profile .registration-avatar::after {
    width: 44px !important;
    height: 24px !important;
    left: 13px !important;
    bottom: 13px !important;
}

.registration-entry-profile .registration-patient-number {
    font-size: 15px !important;
    line-height: 1 !important;
    color: #008c84 !important;
}

.registration-entry-profile .registration-patient-name {
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 14px !important;
    border: 1px solid #cfe1eb !important;
    border-radius: 5px !important;
    background: #fff !important;
    display: flex !important;
    align-items: center !important;
    color: #12233b !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.registration-entry-profile label {
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    min-width: 0 !important;
    color: #008c84 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.registration-entry-profile input {
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 12px !important;
    font-size: 17px !important;
    border-color: #cfe1eb !important;
}

.registration-entry-profile .registration-address {
    grid-column: 3 / -1 !important;
    grid-row: 2 !important;
}

.registration-inline-control {
    grid-template-columns: minmax(0, 1fr) 34px !important;
    gap: 8px !important;
}

.registration-inline-control button {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
}

.registration-card-strip {
    grid-template-columns:
        74px
        minmax(104px, .72fr)
        minmax(92px, .68fr)
        minmax(92px, .68fr)
        minmax(78px, .52fr)
        minmax(92px, .58fr)
        minmax(300px, 1.8fr)
        98px !important;
    gap: 10px 14px !important;
    margin: 0 14px !important;
    padding: 10px 22px !important;
    align-items: center !important;
    overflow: hidden !important;
}

.registration-card-strip label {
    min-width: 0 !important;
    font-size: 15px !important;
}

.registration-card-strip input {
    min-width: 0 !important;
    height: 34px !important;
    font-size: 16px !important;
}

.registration-card-status {
    min-width: 0 !important;
}

.registration-card-status input {
    width: 100% !important;
}

.registration-entry-grid {
    grid-template-columns:
        minmax(104px, 1.05fr)
        54px
        58px
        62px
        58px
        58px
        58px
        62px
        70px
        minmax(88px, .95fr)
        minmax(82px, .82fr)
        minmax(72px, .72fr)
        minmax(82px, .82fr)
        minmax(82px, .82fr)
        minmax(82px, .82fr)
        minmax(54px, .55fr)
        86px !important;
    grid-template-rows: 44px 26px !important;
    gap: 6px 8px !important;
    margin: 0 14px !important;
    padding: 8px 22px !important;
    align-items: start !important;
    overflow: hidden !important;
}

.registration-entry-grid label {
    min-width: 0 !important;
    gap: 4px !important;
    font-size: 15px !important;
}

.registration-entry-grid input,
.registration-entry-grid select {
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 8px !important;
    font-size: 15px !important;
}

.registration-entry-grid .registration-entry-help {
    grid-column: 1 / 17 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: 15px !important;
}

.registration-entry-actions {
    grid-column: 17 !important;
    grid-row: 1 / span 2 !important;
    align-self: stretch !important;
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 6px !important;
    min-width: 0 !important;
}

.registration-entry-actions button {
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 8px !important;
    font-size: 16px !important;
}

.registration-entry-vitals {
    grid-template-columns: repeat(8, minmax(96px, 1fr)) !important;
    gap: 8px 18px !important;
    margin: 0 14px !important;
    padding: 10px 22px !important;
    align-items: center !important;
    overflow: hidden !important;
}

.registration-entry-vitals label {
    min-width: 0 !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    font-size: 15px !important;
}

.registration-entry-vitals input {
    min-width: 0 !important;
    height: 34px !important;
    font-size: 15px !important;
}

.registration-entry-lower {
    grid-template-columns: minmax(420px, 1fr) minmax(260px, .58fr) minmax(430px, .96fr) !important;
    gap: 8px !important;
    margin: 0 14px 12px !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.registration-entry-note,
.registration-entry-fast,
.registration-entry-history {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.registration-entry-note-body {
    min-height: 0 !important;
    overflow: hidden !important;
    font-size: 18px !important;
}

.registration-fast-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px 8px !important;
}

.registration-fast-grid button {
    min-width: 0 !important;
    height: 28px !important;
    padding: 0 10px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 15px !important;
}

.registration-history-table {
    table-layout: fixed !important;
    width: 100% !important;
    font-size: 14px !important;
}

.registration-history-table th,
.registration-history-table td {
    padding: 0 7px !important;
    height: 36px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.registration-history-table th:nth-child(1),
.registration-history-table td:nth-child(1) { width: 14% !important; }
.registration-history-table th:nth-child(2),
.registration-history-table td:nth-child(2) { width: 8% !important; }
.registration-history-table th:nth-child(3),
.registration-history-table td:nth-child(3) { width: 13% !important; }
.registration-history-table th:nth-child(4),
.registration-history-table td:nth-child(4) { width: 10% !important; }
.registration-history-table th:nth-child(5),
.registration-history-table td:nth-child(5) { width: 24% !important; }
.registration-history-table th:nth-child(6),
.registration-history-table td:nth-child(6) { width: 9% !important; }
.registration-history-table th:nth-child(7),
.registration-history-table td:nth-child(7) { width: 10% !important; }
.registration-history-table th:nth-child(8),
.registration-history-table td:nth-child(8) { width: 8% !important; }

@media (max-width: 1320px), (max-height: 720px) {
    .registration-entry-card {
        width: calc(100vw - 10px) !important;
        height: calc(100vh - 10px) !important;
        max-width: calc(100vw - 10px) !important;
        max-height: calc(100vh - 10px) !important;
    }

    #visitRegistrationForm {
        grid-template-rows: 42px 104px 64px 76px 52px minmax(0, 1fr) !important;
        gap: 5px !important;
    }

    .registration-entry-profile {
        grid-template-columns: minmax(210px, .98fr) minmax(180px, .86fr) minmax(180px, .86fr) minmax(188px, .9fr) minmax(188px, .9fr) !important;
        grid-template-rows: 40px 40px !important;
        gap: 7px 10px !important;
        margin: 6px 8px 0 !important;
        padding: 8px 12px !important;
    }

    .registration-entry-profile .registration-entry-id {
        grid-template-columns: 56px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding-right: 12px !important;
    }

    .registration-entry-profile .registration-avatar {
        width: 54px !important;
        height: 54px !important;
    }

    .registration-entry-profile .registration-avatar::before {
        width: 18px !important;
        height: 18px !important;
        top: 11px !important;
        left: 18px !important;
    }

    .registration-entry-profile .registration-avatar::after {
        width: 34px !important;
        height: 18px !important;
        left: 10px !important;
        bottom: 10px !important;
    }

    .registration-entry-profile .registration-patient-number {
        font-size: 13px !important;
    }

    .registration-entry-profile .registration-patient-name {
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 10px !important;
        font-size: 19px !important;
    }

    .registration-entry-profile label {
        grid-template-columns: 52px minmax(0, 1fr) !important;
        gap: 6px !important;
        font-size: 13px !important;
    }

    .registration-entry-profile input {
        height: 30px !important;
        padding: 0 8px !important;
        font-size: 14px !important;
    }

    .registration-inline-control {
        grid-template-columns: minmax(0, 1fr) 30px !important;
        gap: 6px !important;
    }

    .registration-inline-control button {
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
    }

    .registration-card-strip {
        grid-template-columns: 52px minmax(86px, .7fr) minmax(76px, .62fr) minmax(76px, .62fr) minmax(58px, .48fr) minmax(76px, .55fr) minmax(240px, 1.7fr) 78px !important;
        gap: 6px 8px !important;
        margin: 0 8px !important;
        padding: 7px 12px !important;
    }

    .registration-card-strip label {
        font-size: 12px !important;
    }

    .registration-card-strip input {
        height: 30px !important;
        padding: 0 8px !important;
        font-size: 13px !important;
    }

    .registration-chip {
        width: 52px !important;
        min-width: 52px !important;
        height: 36px !important;
    }

    .registration-entry-grid {
        grid-template-columns:
            minmax(88px, 1fr)
            46px
            48px
            50px
            48px
            48px
            46px
            52px
            56px
            minmax(68px, .85fr)
            minmax(60px, .72fr)
            minmax(54px, .62fr)
            minmax(60px, .72fr)
            minmax(60px, .72fr)
            minmax(58px, .7fr)
            minmax(46px, .5fr)
            70px !important;
        grid-template-rows: 38px 22px !important;
        gap: 5px !important;
        margin: 0 8px !important;
        padding: 6px 12px !important;
    }

    .registration-entry-grid label {
        font-size: 12px !important;
    }

    .registration-entry-grid input,
    .registration-entry-grid select {
        height: 30px !important;
        padding: 0 5px !important;
        font-size: 12px !important;
    }

    .registration-entry-grid .registration-entry-help {
        font-size: 12px !important;
    }

    .registration-entry-actions button {
        height: 30px !important;
        padding: 0 5px !important;
        font-size: 13px !important;
    }

    .registration-entry-vitals {
        grid-template-columns: repeat(8, minmax(70px, 1fr)) !important;
        gap: 6px 10px !important;
        margin: 0 8px !important;
        padding: 8px 12px !important;
    }

    .registration-entry-vitals label {
        font-size: 12px !important;
    }

    .registration-entry-vitals input {
        height: 30px !important;
        padding: 0 6px !important;
        font-size: 12px !important;
    }

    .registration-entry-lower {
        grid-template-columns: minmax(330px, 1fr) minmax(215px, .58fr) minmax(330px, .95fr) !important;
        gap: 6px !important;
        margin: 0 8px 8px !important;
    }

    .registration-entry-note-body {
        font-size: 14px !important;
    }

    .registration-fast-grid {
        gap: 4px 6px !important;
    }

    .registration-fast-grid button {
        height: 25px !important;
        padding: 0 7px !important;
        font-size: 12px !important;
    }

    .registration-history-table {
        font-size: 11px !important;
    }

    .registration-history-table th,
    .registration-history-table td {
        height: 28px !important;
        padding: 0 4px !important;
    }
}

/* Registration dialog repair v2: preserve the intended desktop layout and scale the whole form on short/narrow screens. */
.registration-entry-modal.is-open {
    align-items: center !important;
    justify-content: center !important;
    padding: 6px !important;
    overflow: hidden !important;
}

.registration-entry-card {
    flex: 0 0 auto !important;
    width: 1460px !important;
    height: 820px !important;
    max-width: none !important;
    max-height: none !important;
    overflow: hidden !important;
    zoom: 1;
}

#visitRegistrationForm {
    height: 100% !important;
    grid-template-rows: 44px 118px 68px 84px 58px minmax(0, 1fr) !important;
    gap: 6px !important;
    overflow: hidden !important;
}

.registration-entry-header {
    min-height: 44px !important;
    padding: 0 16px !important;
}

.registration-window-title {
    gap: 12px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.registration-window-title strong,
.registration-window-title span {
    font-size: 15px !important;
}

#closeVisitRegistration {
    width: 30px !important;
    height: 30px !important;
}

.registration-entry-profile {
    grid-template-columns: 270px 230px 230px 240px 240px !important;
    grid-template-rows: 42px 42px !important;
    gap: 10px 18px !important;
    margin: 0 14px !important;
    padding: 12px 20px !important;
    align-items: center !important;
}

.registration-entry-profile div {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.registration-entry-profile .registration-entry-id {
    grid-row: 1 / span 2 !important;
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: center !important;
    height: 100% !important;
    padding-right: 22px !important;
    border-right: 1px solid #d8e6ee !important;
}

.registration-entry-profile .registration-entry-id > div:last-child {
    display: grid !important;
    gap: 7px !important;
    align-content: center !important;
}

.registration-entry-profile .registration-avatar {
    width: 66px !important;
    height: 66px !important;
    border: 1px solid #bddbd2 !important;
    border-radius: 8px !important;
    background: #f0fbf7 !important;
    position: relative !important;
    overflow: hidden !important;
}

.registration-entry-profile .registration-avatar::before {
    width: 22px !important;
    height: 22px !important;
    top: 13px !important;
    left: 22px !important;
    transform: none !important;
}

.registration-entry-profile .registration-avatar::after {
    width: 42px !important;
    height: 22px !important;
    left: 12px !important;
    bottom: 12px !important;
}

.registration-entry-id strong[data-registration-entry="chartNo"] {
    display: block !important;
    min-width: 0 !important;
    color: #008f85 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.registration-entry-id span[data-registration-entry="patientName"] {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    padding: 0 12px !important;
    border: 1px solid #cfe1eb !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #12233b !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.registration-entry-profile label {
    grid-template-columns: 66px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-width: 0 !important;
    align-items: center !important;
}

.registration-entry-profile label > span:first-child {
    color: #008f85 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.registration-entry-profile input {
    height: 34px !important;
    min-width: 0 !important;
    padding: 0 12px !important;
    font-size: 17px !important;
}

.registration-entry-profile .registration-address {
    grid-column: 3 / span 3 !important;
    grid-row: 2 !important;
}

.registration-inline-control {
    grid-template-columns: minmax(0, 1fr) 34px !important;
    gap: 8px !important;
}

.registration-inline-control button {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
}

.registration-card-strip {
    grid-template-columns: 72px 126px 138px 138px 116px minmax(360px, 1fr) 112px !important;
    gap: 12px !important;
    margin: 0 14px !important;
    padding: 10px 22px !important;
    align-items: center !important;
    overflow: hidden !important;
}

.registration-card-strip label {
    display: grid !important;
    grid-template-columns: 70px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    min-width: 0 !important;
    font-size: 15px !important;
}

.registration-card-strip label span {
    color: #008f85 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.registration-ic-note {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
}

.registration-card-strip input {
    height: 34px !important;
    min-width: 0 !important;
    padding: 0 10px !important;
    font-size: 16px !important;
}

.registration-ic-chip {
    width: 64px !important;
    height: 40px !important;
}

.registration-status-message {
    grid-template-columns: 54px minmax(0, 1fr) !important;
}

.registration-transfer {
    width: 100% !important;
    height: 40px !important;
    min-width: 0 !important;
    font-size: 18px !important;
}

.registration-entry-grid {
    grid-template-columns:
        minmax(132px, 1.45fr)
        minmax(56px, .45fr)
        minmax(50px, .42fr)
        minmax(58px, .5fr)
        minmax(58px, .5fr)
        minmax(54px, .46fr)
        minmax(54px, .46fr)
        minmax(54px, .46fr)
        minmax(58px, .5fr)
        minmax(78px, .74fr)
        minmax(86px, .82fr)
        minmax(68px, .64fr)
        minmax(68px, .64fr)
        minmax(72px, .68fr)
        minmax(72px, .68fr)
        minmax(72px, .68fr)
        94px !important;
    grid-template-rows: 42px 24px !important;
    gap: 6px 5px !important;
    margin: 0 14px !important;
    padding: 8px 22px !important;
    align-items: start !important;
}

.registration-entry-grid label {
    min-width: 0 !important;
    gap: 4px !important;
}

.registration-entry-grid label > span:first-child {
    color: #008f85 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.registration-entry-grid input,
.registration-entry-grid select {
    height: 32px !important;
    min-width: 0 !important;
    padding: 0 7px !important;
    font-size: 15px !important;
}

.registration-entry-grid input[data-combobox] {
    padding-right: 22px !important;
    background-image: linear-gradient(45deg, transparent 50%, #0f766e 50%), linear-gradient(135deg, #0f766e 50%, transparent 50%);
    background-position: calc(100% - 13px) 50%, calc(100% - 8px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.registration-combobox-menu {
    position: fixed;
    z-index: 22000;
    display: none;
    min-width: 220px;
    max-width: calc(100vw - 16px);
    max-height: 220px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid #b8d7e7;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(15, 52, 74, .16);
    padding: 4px;
}

.registration-combobox-menu.is-open {
    display: block;
}

.registration-combobox-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 30px;
    padding: 5px 8px;
    border-radius: 5px;
    color: #08243d;
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
}

.registration-combobox-option:hover,
.registration-combobox-option.is-active {
    background: #e7f7f1;
    color: #008f85;
}

.registration-combobox-code {
    flex: 0 0 auto;
    color: #6b7f96;
    font-size: 12px;
}

.registration-combobox-option.is-code-first {
    justify-content: flex-start;
}

.registration-combobox-option.is-code-first .registration-combobox-code {
    width: 34px;
    color: #008f85;
    font-size: 14px;
    font-weight: 800;
    text-align: left;
}

.registration-entry-grid .registration-entry-help {
    grid-column: 1 / 17 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    min-width: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 14px !important;
}

.registration-entry-help p {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.registration-entry-help span {
    min-width: 70px !important;
    text-align: right !important;
    white-space: nowrap !important;
}

.registration-entry-actions {
    grid-column: 17 !important;
    grid-row: 1 / span 2 !important;
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 6px !important;
    align-self: stretch !important;
}

.registration-entry-actions button {
    height: 32px !important;
    min-width: 0 !important;
    padding: 0 8px !important;
    font-size: 16px !important;
}

.registration-entry-vitals {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 0 14px !important;
    padding: 9px 22px !important;
}

.registration-entry-vitals label {
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 8px !important;
}

.registration-entry-vitals span {
    color: #008f85 !important;
    font-size: 15px !important;
}

.registration-entry-vitals input {
    height: 32px !important;
    font-size: 15px !important;
}

.registration-entry-lower {
    grid-template-columns: minmax(480px, 1fr) 326px minmax(420px, .9fr) !important;
    gap: 8px !important;
    margin: 0 14px 12px !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.registration-entry-note,
.registration-entry-fast-panel,
.registration-entry-history {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.registration-entry-note textarea {
    height: 100% !important;
    min-height: 0 !important;
    resize: none !important;
    overflow: hidden !important;
}

.registration-fast-panel {
    padding: 10px 16px !important;
}

.registration-fast-panel h3 {
    margin-bottom: 8px !important;
    font-size: 17px !important;
}

.registration-fast-panel button {
    min-width: 0 !important;
    height: 29px !important;
    padding: 0 10px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 15px !important;
}

.registration-entry-history table {
    table-layout: fixed !important;
    width: 100% !important;
    font-size: 14px !important;
}

.registration-entry-history th,
.registration-entry-history td {
    height: 36px !important;
    min-width: 0 !important;
    padding: 0 7px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

@media (max-width: 1500px), (max-height: 835px) {
    .registration-entry-card {
        zoom: .92;
    }
}

@media (max-width: 1360px), (max-height: 760px) {
    .registration-entry-card {
        zoom: .86;
    }
}

@media (max-width: 1240px), (max-height: 690px) {
    .registration-entry-card {
        zoom: .78;
    }
}

/* Registration dialog repair v3: use the reference-sized layout on desktop, then scale for laptops. */
.registration-entry-card {
    width: 1720px !important;
    height: 900px !important;
    max-width: none !important;
    max-height: none !important;
    zoom: 1 !important;
}

#visitRegistrationForm {
    grid-template-rows: 46px 132px 76px 90px 62px minmax(0, 1fr) !important;
    gap: 7px !important;
}

.registration-entry-header {
    min-height: 46px !important;
}

.registration-window-title strong,
.registration-window-title span {
    font-size: 16px !important;
}

.registration-window-title > :not(strong) {
    display: none !important;
}

.registration-entry-profile {
    grid-template-columns: 318px 270px 270px 270px 270px !important;
    grid-template-rows: 48px 48px !important;
    gap: 12px 22px !important;
    margin: 0 16px !important;
    padding: 14px 24px !important;
}

.registration-entry-profile .registration-entry-id {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 18px !important;
    padding-right: 26px !important;
}

.registration-entry-profile .registration-avatar {
    width: 72px !important;
    height: 72px !important;
}

.registration-entry-profile .registration-avatar::before {
    width: 24px !important;
    height: 24px !important;
    top: 14px !important;
    left: 24px !important;
}

.registration-entry-profile .registration-avatar::after {
    width: 46px !important;
    height: 23px !important;
    left: 13px !important;
    bottom: 13px !important;
}

.registration-entry-id strong[data-registration-entry="chartNo"] {
    font-size: 18px !important;
}

.registration-entry-id span[data-registration-entry="patientName"] {
    height: 46px !important;
    font-size: 27px !important;
}

.registration-entry-profile label {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 12px !important;
}

.registration-entry-profile label > span:first-child {
    font-size: 17px !important;
}

.registration-entry-profile input {
    height: 36px !important;
    font-size: 18px !important;
}

.registration-entry-profile .registration-address {
    grid-column: 3 / span 3 !important;
}

.registration-card-strip {
    grid-template-columns: 78px 130px 156px 156px 120px minmax(500px, 1fr) 118px !important;
    gap: 14px !important;
    margin: 0 16px !important;
    padding: 12px 24px !important;
}

.registration-ic-chip {
    width: 70px !important;
    height: 44px !important;
}

.registration-card-strip label {
    grid-template-columns: 76px minmax(0, 1fr) !important;
}

.registration-card-strip label span {
    font-size: 16px !important;
}

.registration-card-strip input {
    height: 36px !important;
    font-size: 17px !important;
}

.registration-transfer {
    height: 42px !important;
    font-size: 19px !important;
}

.registration-entry-grid {
    grid-template-columns:
        154px
        64px
        58px
        74px
        74px
        64px
        64px
        64px
        70px
        96px
        112px
        84px
        84px
        90px
        84px
        84px
        104px !important;
    grid-template-rows: 44px 26px !important;
    gap: 7px 6px !important;
    margin: 0 16px !important;
    padding: 9px 24px !important;
}

.registration-entry-grid label > span:first-child {
    font-size: 16px !important;
}

.registration-entry-grid input,
.registration-entry-grid select {
    height: 34px !important;
    font-size: 16px !important;
}

.registration-entry-grid .registration-entry-help {
    font-size: 15px !important;
}

.registration-entry-actions button {
    height: 34px !important;
    font-size: 17px !important;
}

.registration-entry-vitals {
    margin: 0 16px !important;
    padding: 10px 24px !important;
    gap: 18px !important;
}

.registration-entry-vitals span {
    font-size: 16px !important;
}

.registration-entry-vitals input {
    height: 34px !important;
    font-size: 16px !important;
}

.registration-entry-lower {
    grid-template-columns: minmax(640px, 1.08fr) 340px minmax(600px, .95fr) !important;
    gap: 10px !important;
    margin: 0 16px 14px !important;
}

.registration-entry-note header {
    min-height: 52px !important;
    padding: 10px 16px !important;
}

.registration-entry-note textarea {
    font-size: 18px !important;
    padding: 16px !important;
}

.registration-fast-panel {
    padding: 12px 18px !important;
}

.registration-fast-panel button {
    height: 31px !important;
    font-size: 16px !important;
}

.registration-entry-history table {
    font-size: 15px !important;
}

.registration-entry-history th,
.registration-entry-history td {
    height: 40px !important;
    padding: 0 8px !important;
}

@media (max-width: 1780px), (max-height: 930px) {
    .registration-entry-card {
        zoom: .84 !important;
    }
}

@media (max-width: 1500px), (max-height: 790px) {
    .registration-entry-card {
        zoom: .76 !important;
    }
}

@media (max-width: 1360px), (max-height: 710px) {
    .registration-entry-card {
        zoom: .68 !important;
    }
}

@media (max-width: 1180px), (max-height: 640px) {
    .registration-entry-card {
        zoom: .6 !important;
    }
}

/* Registration dialog repair v4: clean patient card, separate help text, and simplify history table. */
#visitRegistrationForm {
    grid-template-rows: 46px 132px 76px 104px 62px minmax(0, 1fr) !important;
}

.registration-entry-profile .registration-entry-id {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 20px !important;
}

.registration-entry-id strong[data-registration-entry="chartNo"] {
    display: none !important;
}

.registration-entry-profile .registration-entry-id > div:last-child {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
}

.registration-entry-id span[data-registration-entry="patientName"] {
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #12233b !important;
    font-size: 31px !important;
    font-weight: 900 !important;
}

.registration-entry-grid {
    grid-template-rows: 48px 34px !important;
    align-items: start !important;
}

.registration-entry-grid label {
    grid-template-rows: 16px 34px !important;
}

.registration-entry-grid .registration-entry-help {
    height: 34px !important;
    padding-top: 7px !important;
    border-top: 1px solid #e3eef4 !important;
    align-self: end !important;
    line-height: 1.4 !important;
    font-size: 14px !important;
}

.registration-entry-help p {
    margin: 0 !important;
}

.registration-entry-help span {
    align-self: center !important;
}

.registration-entry-history {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) !important;
    padding-left: 0 !important;
}

.registration-entry-history header,
.registration-entry-history .history-side-label {
    display: none !important;
}

.registration-entry-history table {
    grid-row: 1 !important;
    align-self: stretch !important;
    height: 100% !important;
}

.registration-entry-history th,
.registration-entry-history td {
    height: 42px !important;
}

/* Registration dialog repair v5: fix the patient summary block alignment. */
.registration-entry-profile {
    grid-template-columns: 250px repeat(4, minmax(0, 1fr)) !important;
}

.registration-entry-profile .registration-entry-id {
    position: relative !important;
    grid-row: 1 / span 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 22px 0 0 !important;
    border-right: 0 !important;
}

.registration-entry-profile .registration-entry-id::after {
    content: "" !important;
    position: absolute !important;
    top: 12px !important;
    right: 0 !important;
    bottom: 12px !important;
    width: 1px !important;
    background: #d8e6ee !important;
}

.registration-entry-profile .registration-entry-id > div:last-child {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    height: 100% !important;
}

.registration-entry-profile .registration-avatar {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
}

.registration-entry-profile .registration-avatar::before {
    width: 21px !important;
    height: 21px !important;
    top: 12px !important;
    left: 21px !important;
}

.registration-entry-profile .registration-avatar::after {
    width: 40px !important;
    height: 22px !important;
    left: 12px !important;
    bottom: 11px !important;
}

.registration-entry-id span[data-registration-entry="patientName"] {
    display: block !important;
    width: auto !important;
    max-width: 130px !important;
    line-height: 1.15 !important;
    text-align: left !important;
}

.registration-entry-profile .registration-address {
    grid-column: 3 / -1 !important;
}

/* Registration dialog repair v6: use the available viewport width before truncating text. */
.registration-entry-modal.is-open {
    padding: 6px !important;
}

.registration-entry-card {
    width: calc(100vw - 24px) !important;
    max-width: 1888px !important;
    height: min(900px, calc(100vh - 12px)) !important;
    max-height: calc(100vh - 12px) !important;
    zoom: 1 !important;
}

.registration-entry-profile {
    grid-template-columns: 270px repeat(4, minmax(0, 1fr)) !important;
}

.registration-entry-profile .registration-entry-id {
    padding-right: 24px !important;
}

.registration-entry-id span[data-registration-entry="patientName"] {
    max-width: none !important;
}

.registration-card-strip {
    grid-template-columns: 78px 142px 168px 168px 126px minmax(560px, 1fr) 126px !important;
}

.registration-entry-grid {
    grid-template-columns:
        minmax(154px, 1.2fr)
        minmax(64px, .45fr)
        minmax(58px, .42fr)
        minmax(76px, .56fr)
        minmax(78px, .6fr)
        minmax(68px, .48fr)
        minmax(68px, .48fr)
        minmax(68px, .48fr)
        minmax(72px, .52fr)
        minmax(98px, .76fr)
        minmax(122px, 1fr)
        minmax(88px, .62fr)
        minmax(88px, .62fr)
        minmax(94px, .68fr)
        minmax(88px, .62fr)
        minmax(90px, .64fr)
        112px !important;
}

.registration-entry-lower {
    grid-template-columns: minmax(720px, 1.36fr) minmax(340px, .64fr) minmax(560px, 1fr) !important;
}

.registration-entry-history th,
.registration-entry-history td {
    padding: 0 9px !important;
}

.registration-entry-history th:nth-child(1),
.registration-entry-history td:nth-child(1) { width: 13% !important; }
.registration-entry-history th:nth-child(2),
.registration-entry-history td:nth-child(2) { width: 17% !important; }
.registration-entry-history th:nth-child(3),
.registration-entry-history td:nth-child(3) { width: 6% !important; }
.registration-entry-history th:nth-child(4),
.registration-entry-history td:nth-child(4) { width: 10% !important; }
.registration-entry-history th:nth-child(5),
.registration-entry-history td:nth-child(5) { width: 7% !important; }
.registration-entry-history th:nth-child(6),
.registration-entry-history td:nth-child(6) { width: 25% !important; }
.registration-entry-history th:nth-child(7),
.registration-entry-history td:nth-child(7) { width: 6% !important; }
.registration-entry-history th:nth-child(8),
.registration-entry-history td:nth-child(8) { width: 7% !important; }
.registration-entry-history th:nth-child(9),
.registration-entry-history td:nth-child(9) { width: 9% !important; }

@media (max-width: 1700px) {
    .registration-entry-card {
        width: 1888px !important;
        max-width: none !important;
        zoom: .88 !important;
    }
}

@media (max-width: 1500px) {
    .registration-entry-card {
        zoom: .78 !important;
    }
}

@media (max-width: 1360px), (max-height: 720px) {
    .registration-entry-card {
        zoom: .7 !important;
    }
}

@media (max-width: 1180px), (max-height: 640px) {
    .registration-entry-card {
        zoom: .62 !important;
    }
}

/* Registration dialog repair v7: keep the available-count input readable. */
.registration-card-strip .registration-available {
    grid-template-columns: 42px 64px !important;
    justify-content: start !important;
}

.registration-card-strip .registration-available input {
    width: 64px !important;
    min-width: 64px !important;
    padding: 0 8px !important;
    text-align: center !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* Registration dialog repair v8: remove the disaster command column. */
.registration-entry-grid {
    grid-template-columns:
        minmax(154px, 1.2fr)
        minmax(64px, .48fr)
        minmax(76px, .56fr)
        minmax(78px, .6fr)
        minmax(68px, .48fr)
        minmax(68px, .48fr)
        minmax(68px, .48fr)
        minmax(72px, .52fr)
        minmax(98px, .76fr)
        minmax(122px, 1fr)
        minmax(88px, .62fr)
        minmax(88px, .62fr)
        minmax(94px, .68fr)
        minmax(88px, .62fr)
        minmax(90px, .64fr)
        112px !important;
}

.registration-entry-actions {
    grid-column: 16 !important;
}

.registration-entry-grid .registration-entry-help {
    grid-column: 1 / 16 !important;
}

/* Registration dialog repair v9: hide any stale disaster button left by cached markup. */
.registration-small-command {
    display: none !important;
}

/* Registration dialog repair v10: remove the legacy right-side note number. */
.registration-entry-grid .registration-entry-help {
    grid-template-columns: minmax(0, 1fr) !important;
}

.registration-entry-help span {
    display: none !important;
}

/* Registration dialog repair v11: show calculated age under ID and before address. */
.registration-age-field input {
    color: #006f68 !important;
    font-weight: 900 !important;
}

/* Registration dialog repair v13: place age beside address in the profile row. */
.registration-entry-profile .registration-address.registration-address-with-age {
    grid-column: 2 / -1 !important;
    grid-row: 2 !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
}

.registration-address-row {
    display: grid !important;
    grid-template-columns: minmax(172px, 220px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 16px !important;
    min-width: 0 !important;
}

.registration-address-row .registration-inline-control {
    min-width: 0 !important;
}

.registration-age-inline {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.registration-age-inline > span:first-child {
    color: #008f85 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-align: right !important;
}

.registration-age-inline input {
    color: #006f68 !important;
    font-weight: 900 !important;
}

@media (max-width: 1500px), (max-height: 760px) {
    .registration-address-row {
        grid-template-columns: minmax(154px, 190px) minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .registration-age-inline {
        grid-template-columns: 38px minmax(0, 1fr) !important;
        gap: 6px !important;
    }
}

/* Registration dialog repair v12: visit date input opens a compact ROC calendar. */
.registration-date-control {
    display: block !important;
    min-width: 0 !important;
}

.registration-date-field .registration-date-control input {
    cursor: pointer !important;
}

.registration-date-picker {
    position: fixed;
    z-index: 220;
    width: 286px;
    display: none;
    padding: 10px;
    border: 1px solid #cfe1eb;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(20, 54, 74, .18);
    color: #14243b;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.registration-date-picker.is-open {
    display: block;
}

.registration-date-picker-header {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.registration-date-picker-header strong {
    text-align: center;
    color: #008f85;
    font-size: 15px;
    font-weight: 900;
}

.registration-date-picker-header button,
.registration-date-picker-footer button,
.registration-date-picker-days button {
    border: 1px solid #d8e3ec;
    border-radius: 6px;
    background: #ffffff;
    color: #14243b;
    font-weight: 900;
    cursor: pointer;
}

.registration-date-picker-header button {
    height: 32px;
    font-size: 22px;
    line-height: 1;
}

.registration-date-picker-week,
.registration-date-picker-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

.registration-date-picker-week {
    margin-bottom: 5px;
}

.registration-date-picker-week span {
    text-align: center;
    color: #657086;
    font-size: 12px;
    font-weight: 900;
}

.registration-date-picker-days span,
.registration-date-picker-days button {
    height: 32px;
}

.registration-date-picker-days button {
    font-size: 13px;
}

.registration-date-picker-days button:hover,
.registration-date-picker-days button.is-today {
    border-color: #91d8c8;
    color: #008f85;
    background: #eefaf7;
}

.registration-date-picker-days button.is-selected {
    border-color: #008f85;
    background: #008f85;
    color: #ffffff;
}

.registration-date-picker-footer {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

.registration-date-picker-footer button {
    height: 30px;
    padding: 0 14px;
    color: #008f85;
}

/* NHI card status toast: keep read messages from covering the bottom command bar. */
.nhi-card-message {
    position: fixed !important;
    left: 18px !important;
    right: auto !important;
    bottom: 112px !important;
    width: auto !important;
    max-width: min(440px, calc(100vw - 36px)) !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: normal !important;
    text-overflow: clip !important;
    z-index: 240 !important;
}

.nhi-card-message.has-message {
    width: auto !important;
    min-height: 32px !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 26px rgba(20, 54, 74, .14) !important;
}

.nhi-card-message.is-success.has-message {
    max-width: 190px !important;
}

@media (max-height: 760px) {
    .nhi-card-message {
        bottom: 92px !important;
        left: 12px !important;
        max-width: min(360px, calc(100vw - 24px)) !important;
    }

    .nhi-card-message.has-message {
        min-height: 28px !important;
        padding: 5px 10px !important;
    }
}

/* Runtime fallback while IIS is holding an old compiled Razor view. */
.registration-transfer {
    font-size: 0 !important;
}

.registration-transfer::after {
    content: "T轉入";
    font-size: 18px !important;
    font-weight: 900 !important;
}

.registration-date-field button {
    display: none !important;
}

.registration-entry-profile .registration-address:not(.registration-address-with-age) {
    grid-column: 3 / -1 !important;
    grid-row: 2 !important;
    grid-template-columns: 260px 72px minmax(0, 1fr) !important;
    gap: 10px !important;
}

.registration-entry-profile .registration-address:not(.registration-address-with-age)::before {
    content: "年齡：025歲08月28天";
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 36px !important;
    min-width: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #cfe0eb !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #006f68 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

@media (max-width: 1500px), (max-height: 760px) {
    .registration-entry-profile .registration-address:not(.registration-address-with-age) {
        grid-template-columns: 224px 54px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .registration-entry-profile .registration-address:not(.registration-address-with-age)::before {
        height: 30px !important;
        padding: 0 8px !important;
        font-size: 14px !important;
    }
}

.nhi-card-message.is-info.has-message {
    animation: his-nhi-toast-autohide 1.8s ease forwards !important;
}

.nhi-card-message.is-success.has-message {
    animation: his-nhi-toast-autohide 1.6s ease forwards !important;
}

.nhi-card-message.is-danger.has-message {
    animation: his-nhi-toast-autohide 8s ease forwards !important;
}

@keyframes his-nhi-toast-autohide {
    0%, 72% {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    100% {
        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
    }
}

/* Registration dialog repair v15: keep age left-aligned below the ID field. */
.registration-entry-profile .registration-age-field {
    grid-column: 2 !important;
    grid-row: 2 !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
}

.registration-entry-profile .registration-age-field span {
    text-align: left !important;
}

.registration-entry-profile .registration-age-field input {
    color: #006f68 !important;
    font-weight: 900 !important;
}

.registration-entry-profile .registration-address.registration-address-with-age {
    grid-column: 3 / -1 !important;
    grid-row: 2 !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
}

.registration-address-row {
    grid-template-columns: minmax(0, 1fr) !important;
}

.registration-address-row .registration-age-inline {
    display: none !important;
}

.registration-entry-profile .registration-address:not(.registration-address-with-age)::before {
    content: none !important;
    display: none !important;
}

.registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-rows: 36px 36px !important;
    align-content: start !important;
    row-gap: 8px !important;
}

.registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type > span {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type > input {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type::after {
    content: "年齡：025歲08月28天";
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 36px !important;
    min-width: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #cfe0eb !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #006f68 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.registration-entry-profile:not(:has(.registration-age-field)) .registration-address:not(.registration-address-with-age) {
    grid-column: 3 / -1 !important;
    grid-row: 2 !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
}

@media (max-width: 1500px), (max-height: 760px) {
    .registration-entry-profile .registration-age-field {
        grid-template-columns: 54px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type {
        grid-template-columns: 54px minmax(0, 1fr) !important;
        grid-template-rows: 30px 30px !important;
        row-gap: 6px !important;
    }

    .registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type::after {
        height: 30px !important;
        padding: 0 8px !important;
        font-size: 14px !important;
    }
}

/* Registration dialog repair v16: prevent the legacy age fallback from being clipped. */
.registration-entry-profile,
.registration-entry-profile > label,
.registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type {
    overflow: visible !important;
}

.registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type {
    grid-template-rows: 34px 30px !important;
    row-gap: 5px !important;
    align-content: start !important;
}

.registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type::after {
    height: 30px !important;
    min-height: 30px !important;
    box-sizing: border-box !important;
    line-height: 28px !important;
    margin-top: 0 !important;
}

@media (max-width: 1500px), (max-height: 760px) {
    .registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type {
        grid-template-rows: 28px 26px !important;
        row-gap: 4px !important;
    }

    .registration-entry-profile:not(:has(.registration-age-field)) > label:first-of-type::after {
        height: 26px !important;
        min-height: 26px !important;
        line-height: 24px !important;
    }
}

/* Patient profile repair v1: keep gender radios from spilling into the name field. */
.profile-basic-section .basic-grid {
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(190px, .9fr) !important;
    grid-template-rows: 36px 36px !important;
    gap: 12px 28px !important;
    align-items: center !important;
}

.profile-basic-section .basic-grid > label:nth-of-type(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.profile-basic-section .basic-grid > label:nth-of-type(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.profile-basic-section .basic-grid > label:nth-of-type(3) {
    grid-column: 3 !important;
    grid-row: 1 !important;
}

.profile-basic-section .basic-grid > label:nth-of-type(4) {
    grid-column: 1 !important;
    grid-row: 2 !important;
}

.profile-basic-section .basic-grid > .profile-radio-field {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: 74px repeat(3, max-content) !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 0 16px !important;
    min-width: 0 !important;
    height: 36px !important;
    padding: 0 !important;
    overflow: visible !important;
}

.profile-basic-section .basic-grid > label:nth-of-type(5) {
    grid-column: 3 !important;
    grid-row: 2 !important;
}

.profile-basic-section .profile-radio-field legend,
.profile-basic-section .profile-radio-field .profile-radio-title {
    grid-column: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
}

.profile-basic-section .profile-radio-field label {
    display: inline-flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    height: 36px !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.profile-basic-section .profile-radio-field input[type="radio"] {
    flex: 0 0 17px !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    padding: 0 !important;
}

fieldset.profile-radio-field {
    border: 0 !important;
    min-inline-size: 0 !important;
}

@media (max-width: 1500px), (max-height: 760px) {
    .profile-basic-section .basic-grid {
        grid-template-rows: 31px 31px !important;
        gap: 8px 18px !important;
    }

    .profile-basic-section .basic-grid > .profile-radio-field {
        grid-template-columns: 62px repeat(3, max-content) !important;
        gap: 0 10px !important;
        height: 31px !important;
    }

    .profile-basic-section .profile-radio-field legend,
    .profile-basic-section .profile-radio-field .profile-radio-title,
    .profile-basic-section .profile-radio-field label {
        height: 31px !important;
        line-height: 31px !important;
        font-size: 12px !important;
    }

    .profile-basic-section .profile-radio-field input[type="radio"] {
        flex-basis: 14px !important;
        width: 14px !important;
        height: 14px !important;
        min-width: 14px !important;
    }
}

/* Patient profile repair v2: give gender and custom-code fields separate room. */
.profile-basic-section .basic-grid {
    grid-template-columns: minmax(210px, 1fr) minmax(260px, 1.18fr) minmax(150px, .72fr) !important;
    gap: 12px 24px !important;
}

.profile-basic-section .basic-grid > .profile-radio-field {
    grid-template-columns: 64px max-content max-content max-content !important;
    gap: 0 14px !important;
    min-width: 254px !important;
    padding-right: 8px !important;
}

.profile-basic-section .profile-radio-field label:last-of-type {
    margin-right: 10px !important;
}

.profile-basic-section .basic-grid > label:nth-of-type(5) {
    grid-template-columns: 58px minmax(76px, 1fr) !important;
    gap: 8px !important;
    margin-left: 4px !important;
}

.profile-basic-section .basic-grid > label:nth-of-type(5) input {
    padding: 0 10px !important;
}

@media (max-width: 1500px), (max-height: 760px) {
    .profile-basic-section .basic-grid {
        grid-template-columns: minmax(200px, 1fr) minmax(246px, 1.14fr) minmax(138px, .68fr) !important;
        gap: 8px 16px !important;
    }

    .profile-basic-section .basic-grid > .profile-radio-field {
        grid-template-columns: 52px max-content max-content max-content !important;
        gap: 0 10px !important;
        min-width: 232px !important;
        padding-right: 6px !important;
    }

    .profile-basic-section .basic-grid > label:nth-of-type(5) {
        grid-template-columns: 50px minmax(66px, 1fr) !important;
        gap: 6px !important;
        margin-left: 2px !important;
    }
}

/* HIS RWD master v1: stabilize Registered/Outpatient workbench and shared modals. */
html,
body.registered-layout-body,
body.outpatient-body {
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 100%;
    overflow: hidden !important;
}

.registered-layout-body *,
.outpatient-body * {
    box-sizing: border-box;
}

.registered-layout-body .registered-waiting-screen,
.outpatient-body.registered-layout-body .outpatient-waiting-screen {
    --rwd-header-title: 28px;
    --rwd-header-meta: 16px;
    --rwd-toolbar-label: 20px;
    --rwd-toolbar-value: 22px;
    --rwd-table-head: 18px;
    --rwd-table-cell: 19px;
    --rwd-screening-label: 16px;
    --rwd-button-label: 15px;
    width: 100vw !important;
    height: 100vh !important;
    height: 100svh !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows:
        clamp(58px, 7.4svh, 72px)
        clamp(58px, 7.8svh, 78px)
        minmax(0, 1fr)
        clamp(88px, 13.8svh, 128px)
        clamp(82px, 12svh, 112px) !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen > *,
.outpatient-body.registered-layout-body .outpatient-waiting-screen > * {
    min-width: 0 !important;
    min-height: 0 !important;
}

.registered-layout-body .registered-waiting-screen .workbench-tabs,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-tabs {
    display: none !important;
}

.registered-layout-body .registered-waiting-screen .workbench-status,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-status {
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(280px, 1.15fr) minmax(360px, .95fr) minmax(260px, .78fr) !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 0 22px !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .workbench-brand,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand,
.registered-layout-body .registered-waiting-screen .workbench-metrics,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics,
.registered-layout-body .registered-waiting-screen .registered-header-actions,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-header-actions {
    min-width: 0 !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.registered-layout-body .registered-waiting-screen .workbench-brand {
    justify-content: flex-start !important;
}

.registered-layout-body .registered-waiting-screen .workbench-brand strong,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand strong {
    flex: 0 0 auto !important;
    font-size: var(--rwd-header-title) !important;
    line-height: 1.15 !important;
}

.registered-layout-body .registered-waiting-screen .workbench-brand span:not(.workbench-logo):not(.clinic-logo),
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-brand span:not(.workbench-logo):not(.clinic-logo) {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: var(--rwd-header-title) !important;
    line-height: 1.15 !important;
}

.registered-layout-body .registered-waiting-screen .workbench-metrics {
    justify-content: center !important;
    gap: 26px !important;
}

.registered-layout-body .registered-waiting-screen .workbench-metrics span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics span,
.registered-layout-body .registered-waiting-screen .registered-header-actions,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-header-actions {
    font-size: var(--rwd-header-meta) !important;
}

.registered-layout-body .registered-waiting-screen .registered-header-actions,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-header-actions {
    justify-content: flex-end !important;
    gap: 12px !important;
}

.registered-layout-body .registered-waiting-screen .workbench-logo,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-logo {
    flex: 0 0 auto !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 10px !important;
}

.registered-layout-body .registered-waiting-screen .workbench-toolbar,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns:
        auto
        minmax(166px, 226px)
        48px
        48px
        auto
        minmax(224px, 282px)
        minmax(196px, 266px)
        minmax(300px, 1fr) !important;
    align-items: center !important;
    gap: 12px 18px !important;
    padding: 10px 24px !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-label,
.registered-layout-body .registered-waiting-screen .toolbar-field span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-label,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field span {
    font-size: var(--rwd-toolbar-label) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.registered-layout-body .registered-waiting-screen .registered-date-control,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-date-control {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 40px !important;
    gap: 8px !important;
}

.registered-layout-body .registered-waiting-screen .workbench-toolbar input,
.registered-layout-body .registered-waiting-screen .workbench-toolbar select,
.registered-layout-body .registered-waiting-screen .workbench-toolbar button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar input,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar select,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar button {
    height: 44px !important;
    min-width: 0 !important;
    font-size: var(--rwd-toolbar-value) !important;
    line-height: 1 !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-nav-button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-nav-button {
    width: 48px !important;
    min-width: 48px !important;
    padding: 0 !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-segments,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-segments {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-segments button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-segments button {
    width: auto !important;
    min-width: 0 !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-field,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search {
    display: grid !important;
    grid-template-columns: auto minmax(92px, 130px) minmax(110px, 1fr) 44px !important;
    gap: 10px !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-field.search button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search button {
    width: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
}

.registered-layout-body .registered-waiting-screen .sheet-area,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .sheet-area {
    min-height: 0 !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .registration-table-frame,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-table-frame {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid {
    width: 100% !important;
    height: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet th,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid th {
    height: 38px !important;
    padding: 0 6px !important;
    font-size: var(--rwd-table-head) !important;
    line-height: 1.1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid td {
    height: 36px !important;
    padding: 0 6px !important;
    font-size: var(--rwd-table-cell) !important;
    line-height: 1.15 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet tr,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tr {
    height: 36px !important;
}

.registered-layout-body .registered-waiting-screen .summary-dock,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(184px, 248px) !important;
    grid-template-rows: 1fr !important;
    align-items: stretch !important;
    gap: 18px !important;
    padding: 12px 24px !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .summary-dock .screening-row,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock .screening-row {
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)) !important;
    align-content: stretch !important;
    align-items: stretch !important;
    gap: 12px !important;
}

.registered-layout-body .registered-waiting-screen .screening-card,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card {
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .screening-card strong,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card strong {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: var(--rwd-screening-label) !important;
}

.registered-layout-body .registered-waiting-screen .screening-card b,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card b {
    font-size: 22px !important;
    line-height: 1 !important;
}

.registered-layout-body .registered-waiting-screen .screening-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon {
    width: 30px !important;
    height: 30px !important;
}

.registered-layout-body .registered-waiting-screen .dock-side-actions,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.registered-layout-body .registered-waiting-screen .command-dock,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(236px, 292px) !important;
    align-items: stretch !important;
    gap: 16px !important;
    padding: 10px 24px !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .command-row.primary,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-row.primary {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(82px, 1fr)) !important;
    grid-auto-rows: 1fr !important;
    align-items: stretch !important;
    gap: 8px !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .command-dock button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) 20px !important;
    place-items: center !important;
    gap: 2px !important;
    padding: 6px 7px !important;
    overflow: hidden !important;
    font-size: var(--rwd-button-label) !important;
    line-height: 1 !important;
}

.registered-layout-body .registered-waiting-screen .command-dock button span,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button span {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.registered-layout-body .registered-waiting-screen .command-dock button small,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button small {
    font-size: 13px !important;
    line-height: 1 !important;
}

.registered-layout-body .registered-waiting-screen .registered-footer-status,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
    gap: 14px !important;
}

.registered-layout-body .registered-waiting-screen .registered-footer-status .waiting-count,
.registered-layout-body .registered-waiting-screen .registered-footer-status .workbench-clock-box,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .workbench-clock-box {
    min-width: 0 !important;
    height: 100% !important;
    padding: 8px 10px !important;
}

.registered-layout-body .registered-waiting-screen .registered-footer-status .waiting-count b,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count b,
.registered-layout-body .registered-waiting-screen .workbench-clock-box strong,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-clock-box strong {
    font-size: 30px !important;
    line-height: 1 !important;
}

@media (min-width: 1900px) and (min-height: 940px) {
    .registered-layout-body .registered-waiting-screen,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen {
        grid-template-rows: 72px 82px minmax(0, 1fr) 132px 118px !important;
    }
}

@media (max-width: 1500px), (max-height: 820px) {
    .registered-layout-body .registered-waiting-screen,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen {
        --rwd-header-title: 24px;
        --rwd-header-meta: 14px;
        --rwd-toolbar-label: 17px;
        --rwd-toolbar-value: 18px;
        --rwd-table-head: 15px;
        --rwd-table-cell: 16px;
        --rwd-screening-label: 14px;
        --rwd-button-label: 13px;
        grid-template-rows: 58px 62px minmax(0, 1fr) 96px 90px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-status,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-status {
        grid-template-columns: minmax(230px, 1fr) minmax(290px, .95fr) minmax(210px, .72fr) !important;
        gap: 10px !important;
        padding: 0 16px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-metrics,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics {
        gap: 16px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-logo,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-logo {
        width: 34px !important;
        height: 34px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-toolbar,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
        grid-template-columns: auto minmax(138px, 172px) 38px 38px auto minmax(180px, 216px) minmax(152px, 190px) minmax(230px, 1fr) !important;
        gap: 8px 12px !important;
        padding: 8px 14px !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-date-control,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-date-control {
        grid-template-columns: minmax(0, 1fr) 34px !important;
        gap: 6px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-toolbar input,
    .registered-layout-body .registered-waiting-screen .workbench-toolbar select,
    .registered-layout-body .registered-waiting-screen .workbench-toolbar button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar input,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar select,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar button {
        height: 38px !important;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-nav-button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-nav-button,
    .registered-layout-body .registered-waiting-screen .toolbar-field.search button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search button {
        width: 38px !important;
        min-width: 38px !important;
    }

    .registered-layout-body .registered-waiting-screen .registration-sheet th,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid th {
        height: 30px !important;
        padding: 0 4px !important;
    }

    .registered-layout-body .registered-waiting-screen .registration-sheet td,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid td,
    .registered-layout-body .registered-waiting-screen .registration-sheet tr,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tr {
        height: 29px !important;
    }

    .registered-layout-body .registered-waiting-screen .summary-dock,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
        grid-template-columns: minmax(0, 1fr) minmax(150px, 206px) !important;
        gap: 10px !important;
        padding: 8px 14px !important;
    }

    .registered-layout-body .registered-waiting-screen .summary-dock .screening-row,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock .screening-row {
        grid-template-columns: repeat(auto-fit, minmax(86px, 1fr)) !important;
        gap: 8px !important;
    }

    .registered-layout-body .registered-waiting-screen .screening-card,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card {
        grid-template-columns: 24px minmax(0, 1fr) auto !important;
        gap: 6px !important;
        padding: 6px 8px !important;
    }

    .registered-layout-body .registered-waiting-screen .screening-icon,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon {
        width: 22px !important;
        height: 22px !important;
    }

    .registered-layout-body .registered-waiting-screen .screening-card b,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card b {
        font-size: 18px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
        grid-template-columns: minmax(0, 1fr) minmax(184px, 234px) !important;
        gap: 10px !important;
        padding: 8px 14px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-row.primary,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-row.primary {
        grid-template-columns: repeat(auto-fit, minmax(70px, 1fr)) !important;
        gap: 6px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button {
        grid-template-rows: minmax(0, 1fr) 16px !important;
        padding: 4px 5px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button small,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button small {
        font-size: 11px !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-footer-status .waiting-count b,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count b,
    .registered-layout-body .registered-waiting-screen .workbench-clock-box strong,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-clock-box strong {
        font-size: 24px !important;
    }
}

@media (max-width: 1240px), (max-height: 660px) {
    .registered-layout-body .registered-waiting-screen,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen {
        --rwd-header-title: 20px;
        --rwd-header-meta: 12px;
        --rwd-toolbar-label: 14px;
        --rwd-toolbar-value: 15px;
        --rwd-table-head: 12px;
        --rwd-table-cell: 13px;
        --rwd-screening-label: 12px;
        --rwd-button-label: 12px;
        grid-template-rows: 48px 54px minmax(0, 1fr) 78px 76px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-status,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-status {
        grid-template-columns: minmax(190px, 1fr) minmax(190px, .72fr) minmax(150px, .55fr) !important;
        padding: 0 10px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-metrics span:first-child,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics span:first-child,
    .registered-layout-body .registered-waiting-screen .registered-header-actions > span,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-header-actions > span {
        display: none !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-header-actions,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-header-actions {
        gap: 6px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-logo,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-logo {
        width: 30px !important;
        height: 30px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-toolbar,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
        grid-template-columns: auto minmax(118px, 144px) 32px 32px auto minmax(154px, 190px) minmax(126px, 160px) minmax(188px, 1fr) !important;
        gap: 6px 8px !important;
        padding: 6px 10px !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-date-control,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-date-control {
        grid-template-columns: minmax(0, 1fr) 28px !important;
        gap: 4px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-toolbar input,
    .registered-layout-body .registered-waiting-screen .workbench-toolbar select,
    .registered-layout-body .registered-waiting-screen .workbench-toolbar button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar input,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar select,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar button {
        height: 32px !important;
        padding-right: 6px !important;
        padding-left: 6px !important;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-nav-button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-nav-button,
    .registered-layout-body .registered-waiting-screen .toolbar-field.search button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search button {
        width: 32px !important;
        min-width: 32px !important;
    }

    .registered-layout-body .registered-waiting-screen .toolbar-field.search,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search {
        grid-template-columns: auto minmax(72px, 98px) minmax(80px, 1fr) 32px !important;
        gap: 6px !important;
    }

    .registered-layout-body .registered-waiting-screen .registration-sheet th,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid th {
        height: 25px !important;
        padding: 0 3px !important;
    }

    .registered-layout-body .registered-waiting-screen .registration-sheet td,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid td,
    .registered-layout-body .registered-waiting-screen .registration-sheet tr,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tr {
        height: 24px !important;
        padding: 0 3px !important;
    }

    .registered-layout-body .registered-waiting-screen .summary-dock,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
        grid-template-columns: minmax(0, 1fr) minmax(124px, 170px) !important;
        gap: 8px !important;
        padding: 6px 10px !important;
    }

    .registered-layout-body .registered-waiting-screen .summary-dock .screening-row,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock .screening-row {
        grid-template-columns: repeat(auto-fit, minmax(70px, 1fr)) !important;
        gap: 5px !important;
    }

    .registered-layout-body .registered-waiting-screen .screening-card,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card {
        grid-template-columns: 18px minmax(0, 1fr) auto !important;
        gap: 4px !important;
        padding: 4px 5px !important;
    }

    .registered-layout-body .registered-waiting-screen .screening-icon,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon {
        width: 18px !important;
        height: 18px !important;
    }

    .registered-layout-body .registered-waiting-screen .screening-card b,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card b {
        font-size: 15px !important;
    }

    .registered-layout-body .registered-waiting-screen .dock-side-actions,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions {
        gap: 6px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
        grid-template-columns: minmax(0, 1fr) minmax(144px, 188px) !important;
        gap: 8px !important;
        padding: 6px 10px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-row.primary,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-row.primary {
        grid-template-columns: repeat(auto-fit, minmax(58px, 1fr)) !important;
        gap: 5px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button {
        grid-template-rows: minmax(0, 1fr) 13px !important;
        padding: 3px 4px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button span,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button span {
        gap: 4px !important;
    }

    .registered-layout-body .registered-waiting-screen .command-dock button small,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock button small {
        font-size: 10px !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-footer-status .waiting-count,
    .registered-layout-body .registered-waiting-screen .registered-footer-status .workbench-clock-box,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .workbench-clock-box {
        padding: 5px 6px !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-footer-status .waiting-count b,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count b,
    .registered-layout-body .registered-waiting-screen .workbench-clock-box strong,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-clock-box strong {
        font-size: 19px !important;
    }
}

@media (max-height: 590px) {
    .registered-layout-body .registered-waiting-screen,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen {
        grid-template-rows: 44px 48px minmax(0, 1fr) 64px 64px !important;
    }

    .registered-layout-body .registered-waiting-screen .summary-dock .screening-row,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock .screening-row {
        grid-template-columns: repeat(auto-fit, minmax(62px, 1fr)) !important;
    }
}

/* Shared modal RWD. */
.follow-up-card,
.abnormal-patient-card {
    width: min(1040px, calc(100vw - 24px)) !important;
    max-height: calc(100svh - 24px) !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
}

.follow-up-filters {
    grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) !important;
}

.follow-up-results {
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    padding-bottom: 18px !important;
}

.follow-up-results table {
    min-width: 760px !important;
}

.abnormal-visit-card {
    width: min(1160px, calc(100vw - 24px)) !important;
    height: min(760px, calc(100svh - 24px)) !important;
    max-height: calc(100svh - 24px) !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    overflow: hidden !important;
}

.abnormal-visit-table-frame {
    min-height: 0 !important;
    overflow: hidden !important;
}

.abnormal-visit-table {
    height: 100% !important;
    table-layout: fixed !important;
}

.patient-profile-card {
    width: min(1540px, calc(100vw - 24px)) !important;
    height: min(880px, calc(100svh - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100svh - 24px) !important;
    overflow: hidden !important;
}

@media (max-width: 1240px), (max-height: 700px) {
    .follow-up-card,
    .abnormal-patient-card {
        width: calc(100vw - 12px) !important;
        max-height: calc(100svh - 12px) !important;
    }

    .follow-up-card header,
    .abnormal-patient-card header {
        min-height: 54px !important;
        padding: 0 14px !important;
    }

    .follow-up-card header h2,
    .abnormal-patient-card header h2 {
        font-size: 19px !important;
    }

    .follow-up-filters {
        grid-template-columns: 130px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 12px 14px !important;
    }

    .follow-up-results {
        padding: 0 14px 14px !important;
    }

    .follow-up-results th,
    .follow-up-results td {
        padding: 7px 5px !important;
        font-size: 13px !important;
    }

    .abnormal-visit-card {
        width: calc(100vw - 12px) !important;
        height: calc(100svh - 12px) !important;
    }

    .abnormal-visit-card header {
        min-height: 52px !important;
        padding: 0 14px !important;
    }

    .abnormal-visit-toolbar {
        gap: 8px !important;
        padding: 10px 14px !important;
    }

    .abnormal-visit-table th,
    .abnormal-visit-table td {
        padding: 6px 7px !important;
        font-size: 13px !important;
    }

    .abnormal-visit-card footer {
        padding: 10px 14px !important;
    }
}

/* Registration entry modal final scale. */
.registration-entry-modal.is-open {
    overflow: hidden !important;
    padding: 6px !important;
}

.registration-entry-card {
    width: 1720px !important;
    height: 900px !important;
    max-width: none !important;
    max-height: none !important;
    transform-origin: center center !important;
}

@media (min-width: 1748px) and (min-height: 928px) {
    .registration-entry-card {
        zoom: 1 !important;
    }
}

@media (max-width: 1747px), (max-height: 927px) {
    .registration-entry-card {
        zoom: .92 !important;
    }
}

@media (max-width: 1588px), (max-height: 835px) {
    .registration-entry-card {
        zoom: .84 !important;
    }
}

@media (max-width: 1448px), (max-height: 760px) {
    .registration-entry-card {
        zoom: .76 !important;
    }
}

@media (max-width: 1320px), (max-height: 690px) {
    .registration-entry-card {
        zoom: .68 !important;
    }
}

@media (max-width: 1180px), (max-height: 620px) {
    .registration-entry-card {
        zoom: .6 !important;
    }
}

/* RWD overflow trim: keep sheet frames inside padded workbench viewports. */
.registered-layout-body .registered-waiting-screen .sheet-area,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .sheet-area,
.registered-layout-body .registered-waiting-screen .registered-patient-board,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-table-frame {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}

/* Registration profile date/address cleanup. */
.registration-entry-profile [data-registration-entry-input="birthday"][data-registration-date-picker] {
    cursor: pointer !important;
}

.registration-entry-profile .registration-address.registration-address-with-age .registration-address-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
}

.registration-entry-profile .registration-address.registration-address-with-age .registration-address-row input {
    width: 100% !important;
}

.registration-address-vaccination {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 104px !important;
    height: 36px !important;
    padding: 0 12px !important;
    border: 1px solid #b8d9d5 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #14243b !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.registration-address-vaccination span {
    color: #008f85 !important;
    font-size: 18px !important;
}

.registration-address-vaccination:hover,
.registration-address-vaccination:focus-visible {
    border-color: #008f85 !important;
    background: #edf9f7 !important;
}

/* Patient search filter buttons. */
.follow-up-filters {
    grid-template-columns: minmax(270px, 300px) minmax(0, 1fr) !important;
    align-items: end !important;
}

.patient-filter-buttons {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

.patient-filter-buttons legend {
    grid-column: 1 / -1 !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: #2b4a39 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.patient-filter-buttons button {
    height: 38px !important;
    min-width: 0 !important;
    border: 1px solid #c4d8ca !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #20342b !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    padding: 0 4px !important;
    white-space: nowrap !important;
}

.patient-filter-buttons button.is-active {
    border-color: #00945f !important;
    background: #00945f !important;
    color: #ffffff !important;
}

.patient-filter-buttons button.is-default:not(.is-active) {
    border-color: #43b778 !important;
    color: #008a5d !important;
    box-shadow: inset 0 0 0 1px rgba(0, 148, 95, 0.16) !important;
}

/* 病患搜尋鍵盤直接佔滿上方三排；下方保留查詢條件與關鍵字同一排。 */
.follow-up-filters > .his-virtual-search-keyboard,
.appointment-patient-filterbar > .his-virtual-search-keyboard,
.diagnosis-patient-filterbar > .his-virtual-search-keyboard {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.his-virtual-keyboard-row {
    grid-template-columns: repeat(13, minmax(0, 1fr)) !important;
    gap: 3px !important;
}

.his-virtual-keyboard-row + .his-virtual-keyboard-row {
    margin-top: 3px !important;
}

.his-virtual-keyboard-row.is-numeric {
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
}

.his-virtual-keyboard-key {
    min-height: 30px !important;
    border: 1px solid #c9ddd1 !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    color: #176044 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.patient-filter-default-menu {
    position: fixed !important;
    z-index: 100000 !important;
    min-width: 150px !important;
    padding: 6px !important;
    border: 1px solid #b8d4c4 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 34px rgba(13, 38, 28, 0.18) !important;
    color: #102033 !important;
    display: grid !important;
    gap: 4px !important;
}

.patient-filter-default-menu[hidden] {
    display: none !important;
}

.patient-filter-default-menu button {
    width: 100% !important;
    height: 34px !important;
    border: 1px solid #00945f !important;
    border-radius: 6px !important;
    background: #00945f !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.patient-filter-default-menu small {
    min-height: 16px !important;
    color: #557061 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-align: center !important;
}

.nhi-card-mode-menu {
    position: fixed !important;
    z-index: 100000 !important;
    width: 182px !important;
    padding: 6px !important;
    border: 1px solid #b8d4c4 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 34px rgba(13, 38, 28, 0.18) !important;
    color: #102033 !important;
    display: grid !important;
    gap: 5px !important;
}

.nhi-card-mode-menu[hidden] {
    display: none !important;
}

.nhi-card-mode-menu button {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 18px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 6px 8px !important;
    border: 1px solid #d8e7df !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #102033 !important;
    text-align: left !important;
    cursor: pointer !important;
}

.nhi-card-mode-menu button:hover,
.nhi-card-mode-menu button.is-selected {
    border-color: #00945f !important;
    background: #f0fbf5 !important;
}

.nhi-card-mode-menu button.is-selected::after {
    content: "✓" !important;
    color: #00945f !important;
    font-weight: 900 !important;
    text-align: center !important;
}

.nhi-card-mode-menu b {
    color: #00856f !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.nhi-card-mode-menu small {
    min-width: 0 !important;
    color: #516274 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.command-dock button[data-nhi-read-mode="auto"],
.registered-layout-body .clinic-soft-grid .command-dock button[data-nhi-read-mode="auto"] {
    border-color: #56be86 !important;
    background: #f3fff7 !important;
    box-shadow: inset 0 0 0 1px rgba(0, 148, 95, .16) !important;
}

.follow-up-results .patient-empty-row td {
    height: 82px !important;
    color: #657086 !important;
    text-align: center !important;
    font-weight: 900 !important;
}

@media (max-width: 900px), (max-height: 680px) {
    .follow-up-filters {
        grid-template-columns: minmax(232px, 270px) minmax(0, 1fr) !important;
    }

    .patient-filter-buttons {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 4px !important;
    }

    .patient-filter-buttons button {
        height: 34px !important;
        font-size: 12px !important;
    }
}

/* Keep the outer registered/outpatient footer inside the bottom command row. */
.registered-layout-body .registered-waiting-screen .command-dock,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .command-dock {
    overflow: hidden !important;
    align-items: stretch !important;
}

.registered-layout-body .registered-waiting-screen .registered-footer-status,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status {
    height: 100% !important;
    align-self: stretch !important;
    margin-top: 0 !important;
}

.registered-layout-body .registered-waiting-screen .registered-footer-status .waiting-count,
.registered-layout-body .registered-waiting-screen .registered-footer-status .workbench-clock-box,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .workbench-clock-box {
    height: 100% !important;
    min-height: 0 !important;
}

/* Center patient rows in the main registered/outpatient tables. */
.registered-layout-body .registered-waiting-screen .registration-sheet th,
.registered-layout-body .registered-waiting-screen .registration-sheet td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid th,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid td {
    text-align: center !important;
    vertical-align: middle !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid td {
    line-height: normal !important;
}

.registered-layout-body .registered-waiting-screen .registered-status-pill,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-status-pill {
    vertical-align: middle !important;
}

/* Main waiting tables: use quiet zebra rows and keep filler cells empty. */
.registered-layout-body .registered-waiting-screen .registration-sheet tbody tr:nth-child(odd):not(.is-selected) td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tbody tr:nth-child(odd):not(.is-selected) td {
    background: #ffffff !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet tbody tr:nth-child(even):not(.is-selected) td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tbody tr:nth-child(even):not(.is-selected) td {
    background: #f7fbf8 !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet tbody tr.sheet-filler-row td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tbody tr.sheet-filler-row td {
    color: transparent !important;
    text-shadow: none !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet tbody tr:not(.sheet-filler-row):not(.is-selected):hover td,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tbody tr:not(.sheet-filler-row):not(.is-selected):hover td {
    background: #eefaf2 !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid tbody tr.is-selected td {
    background: #dcf4e5 !important;
    color: #12422a !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-select-cell,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-review-cell {
    padding: 2px 4px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-select,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-review-button {
    width: 100%;
    min-width: 0;
    height: 24px;
    border: 1px solid #6aa77d;
    border-radius: 4px;
    background: #f4fff7;
    color: #12422a;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-review-button {
    border-color: #5e8fc8;
    background: #f3f8ff;
    color: #17446d;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-select:hover,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-select:focus,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-review-button:hover,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-review-button:focus {
    background: #dcf4e5;
    outline: 2px solid rgba(49, 126, 76, 0.25);
    outline-offset: 1px;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-review-button:hover,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-soap-review-button:focus {
    background: #e1efff;
    outline-color: rgba(39, 96, 158, 0.26);
}

.outpatient-soap-review-modal {
    position: fixed;
    inset: 0;
    z-index: 760;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
    background: rgba(15, 27, 38, 0.42);
}

.outpatient-soap-review-modal.is-open {
    display: flex;
}

.outpatient-soap-review-card {
    width: min(920px, 96vw);
    max-height: min(760px, 92vh);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #aac3dc;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 22px 54px rgba(13, 34, 54, 0.26);
}

.outpatient-soap-review-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    border-bottom: 1px solid #cfe0ee;
    background: #f5f9fd;
}

.outpatient-soap-review-head div {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.outpatient-soap-review-head strong {
    color: #173c5c;
    font-size: 18px;
    line-height: 1.25;
}

.outpatient-soap-review-head span {
    color: #536678;
    font-size: 13px;
    line-height: 1.35;
}

.outpatient-soap-review-head button {
    width: 34px;
    height: 34px;
    border: 1px solid #b8cadb;
    border-radius: 6px;
    background: #ffffff;
    color: #25465f;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.outpatient-soap-review-head button:hover,
.outpatient-soap-review-head button:focus {
    background: #eaf3fb;
    outline: 2px solid rgba(39, 96, 158, 0.25);
    outline-offset: 1px;
}

.outpatient-soap-review-body {
    min-height: 260px;
    overflow: auto;
    padding: 14px 16px 18px;
    background: #ffffff;
}

.outpatient-soap-review-loading,
.outpatient-soap-review-empty {
    margin: 0;
    padding: 20px;
    border: 1px dashed #c8d6e2;
    border-radius: 6px;
    background: #f8fbfe;
    color: #536678;
    text-align: center;
    font-size: 15px;
}

.outpatient-soap-review-visit {
    border: 1px solid #d8e5ef;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}

.outpatient-soap-review-visit + .outpatient-soap-review-visit {
    margin-top: 12px;
}

.outpatient-soap-review-visit-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    background: #eef6fd;
    border-bottom: 1px solid #d8e5ef;
}

.outpatient-soap-review-visit-head strong {
    color: #173c5c;
    font-size: 16px;
    line-height: 1.35;
}

.outpatient-soap-review-visit-head span {
    min-width: 0;
    color: #536678;
    font-size: 13px;
    line-height: 1.35;
    text-align: right;
}

.outpatient-soap-review-section {
    padding: 10px 12px 12px;
    border-bottom: 1px solid #edf3f7;
}

.outpatient-soap-review-section:last-child {
    border-bottom: 0;
}

.outpatient-soap-review-section b {
    display: block;
    margin-bottom: 6px;
    color: #1f4a32;
    font-size: 14px;
}

.outpatient-soap-review-section p {
    margin: 0 0 5px;
    color: #26343f;
    font-size: 14px;
    line-height: 1.45;
    white-space: pre-wrap;
}

.outpatient-soap-review-section ul {
    margin: 0;
    padding-left: 20px;
}

.outpatient-soap-review-section li {
    margin: 0 0 5px;
    color: #26343f;
    font-size: 14px;
    line-height: 1.45;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-name-cell {
    cursor: pointer;
    color: #0b4f77;
    font-weight: 800;
}

/* Outpatient footer polish: keep it visually aligned with the registration footer. */
.outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
    grid-template-columns: minmax(0, 1fr) minmax(196px, 252px) !important;
    gap: 14px !important;
    padding: 6px 22px !important;
    align-items: center !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock .screening-row {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-content: center !important;
    align-items: center !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card {
    height: auto !important;
    min-height: 44px !important;
    grid-template-columns: 32px minmax(0, 1fr) auto !important;
    gap: 6px !important;
    padding: 4px 10px !important;
    border: 1px solid var(--board-line) !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(21, 49, 76, .04) !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon {
    width: 30px !important;
    height: 30px !important;
    border-radius: 8px !important;
    display: inline-grid !important;
    place-items: center !important;
    justify-self: center !important;
    align-self: center !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card strong {
    font-size: 15px !important;
    font-weight: 900 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card b {
    color: #009640 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    display: inline-block !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    justify-self: end !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions button {
    height: auto !important;
    min-height: 64px !important;
    border: 1px solid var(--board-line) !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    color: #101820 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    box-shadow: 0 4px 14px rgba(21, 49, 76, .04) !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-command-bar.command-dock {
    grid-template-columns: minmax(0, 1fr) 278px !important;
    gap: 14px !important;
    padding: 8px 22px 18px !important;
    background: #ffffff !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-buttons.command-row.primary {
    grid-template-columns: repeat(9, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: stretch !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-command-bar.command-dock button {
    height: 74px !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    grid-template-rows: 38px 22px !important;
    padding: 0 4px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-command-bar.command-dock button span {
    font-size: 20px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-command-bar.command-dock button small {
    font-size: 16px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen #toggleOutpatientStatusScopeButton {
    grid-template-columns: minmax(18px, 24px) minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) 20px !important;
    column-gap: 4px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen #toggleOutpatientStatusScopeButton > span:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen #toggleOutpatientStatusScopeButton > .outpatient-status-scope-label {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    height: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    display: block !important;
    overflow: visible !important;
    color: #101820 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    justify-self: center !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-icon {
    display: none !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-logo,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-help-button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-user-icon,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .header-chevron,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-command-bar.command-dock button > span:not(.outpatient-status-scope-label) {
    display: none !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock .screening-row {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card {
    grid-template-columns: minmax(max-content, 1fr) auto !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card strong {
    min-width: max-content !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-field.search {
    grid-template-columns: auto minmax(220px, 1fr) !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-buttons.command-row.primary {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-command-bar.command-dock button {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) 20px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen #toggleOutpatientStatusScopeButton {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) 20px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen #toggleOutpatientStatusScopeButton > .outpatient-status-scope-label {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen #toggleOutpatientStatusScopeButton > small {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .workbench-clock-box {
    height: 74px !important;
    border-radius: 7px !important;
}

.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count b,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-clock-box strong {
    font-size: 30px !important;
}

/* Top toolbar date picker: the input itself opens the calendar, no side icon button. */
.registered-layout-body .registered-waiting-screen .registered-date-control,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-date-control {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-date[data-registration-date-picker],
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-date[data-registration-date-picker] {
    border-right: 1px solid var(--board-line) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    caret-color: transparent;
}

.registered-layout-body .registered-waiting-screen .toolbar-date[data-registration-date-picker]:focus,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-date[data-registration-date-picker]:focus {
    border-color: rgba(0, 150, 64, .35) !important;
    box-shadow: 0 0 0 3px rgba(0, 150, 64, .10) !important;
}

@media (max-width: 1400px), (max-height: 760px) {
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock {
        grid-template-columns: minmax(0, 1fr) 204px !important;
        gap: 8px !important;
        padding: 8px 14px 6px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .summary-dock .screening-row {
        gap: 6px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions button {
        min-height: 40px !important;
        padding: 4px 8px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card strong,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .dock-side-actions button {
        font-size: 13px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .screening-card b {
        font-size: 20px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-command-bar.command-dock {
        grid-template-columns: minmax(0, 1fr) 258px !important;
        gap: 8px !important;
        padding: 6px 14px 12px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-buttons.command-row.primary {
        gap: 5px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-command-bar.command-dock button {
        height: 62px !important;
        font-size: 12px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status {
        gap: 8px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .workbench-clock-box {
        height: 62px !important;
    }

    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-footer-status .waiting-count b,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-clock-box strong {
        font-size: 25px !important;
    }
}

/* Keep large patient fuzzy-search results inside the chooser modal. */
.follow-up-card {
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    overflow: hidden !important;
}

.abnormal-patient-card {
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
    overflow: hidden !important;
}

.follow-up-card .follow-up-results,
.abnormal-patient-card .follow-up-results {
    min-height: 180px !important;
    max-height: min(420px, calc(100svh - 250px)) !important;
    overflow-x: auto !important;
    overflow-y: auto !important;
    padding: 0 18px 14px !important;
    overscroll-behavior: contain;
}

.follow-up-card .follow-up-results table,
.abnormal-patient-card .follow-up-results table {
    table-layout: fixed !important;
    width: 100% !important;
    min-width: 760px !important;
}

.follow-up-results th:nth-child(4),
.follow-up-results td:nth-child(4) {
    width: 150px !important;
    min-width: 150px !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    font-variant-numeric: tabular-nums;
}

.follow-up-results .patient-limit-row td {
    height: 36px !important;
    background: #fff8df !important;
    color: #795d11 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: center !important;
}

/* Registration data dialog should use the full available viewport width. */
.registration-entry-modal.is-open {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.registration-entry-modal.is-open .registration-entry-card {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    min-width: 0 !important;
    zoom: 1 !important;
}

@media (max-width: 1747px), (max-height: 927px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: calc((100vw - 12px) * 1.0869565) !important;
        max-width: none !important;
        zoom: .92 !important;
    }
}

@media (max-width: 1588px), (max-height: 835px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: calc((100vw - 12px) * 1.1904762) !important;
        max-width: none !important;
        zoom: .84 !important;
    }
}

@media (max-width: 1448px), (max-height: 760px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: calc((100vw - 12px) * 1.3157895) !important;
        max-width: none !important;
        zoom: .76 !important;
    }
}

@media (max-width: 1320px), (max-height: 690px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: calc((100vw - 12px) * 1.4705882) !important;
        max-width: none !important;
        zoom: .68 !important;
    }
}

@media (max-width: 1180px), (max-height: 620px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: calc((100vw - 12px) * 1.6666667) !important;
        max-width: none !important;
        zoom: .6 !important;
    }
}

/* Registration dialog patient name/chart number stack. */
.registration-entry-profile .registration-entry-id > .registration-entry-person {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    height: 100% !important;
}

.registration-entry-id span[data-registration-entry="patientName"] {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 38px !important;
    padding: 0 12px !important;
    border: 1px solid #cfe1eb !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #12233b !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-align: left !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.registration-entry-id .registration-chart-line {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    color: #008f85 !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

.registration-entry-id strong[data-registration-entry="chartNo"] {
    display: inline-block !important;
    min-width: 0 !important;
    color: #008f85 !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Wide viewport guard: keep the registration dialog readable on large monitors. */
.registration-entry-modal.is-open {
    align-items: flex-start !important;
    justify-content: center !important;
    padding: clamp(8px, 1.4vh, 18px) clamp(12px, 2vw, 32px) !important;
    overflow: hidden !important;
}

.registration-entry-modal.is-open .registration-entry-card {
    width: min(1620px, calc(100vw - 48px)) !important;
    max-width: min(1620px, calc(100vw - 48px)) !important;
    height: auto !important;
    max-height: calc(100vh - clamp(16px, 2.8vh, 36px)) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    zoom: 1 !important;
}

.registration-entry-modal.is-open #visitRegistrationForm {
    grid-template-rows: 46px auto auto auto auto minmax(190px, 1fr) !important;
}

.registration-entry-modal.is-open .registration-entry-lower {
    grid-template-columns: minmax(0, .55fr) minmax(260px, .62fr) minmax(420px, .95fr) !important;
    align-items: stretch !important;
}

.registration-entry-modal.is-open .registration-entry-lower.has-preventive-care {
    grid-template-columns: minmax(0, .82fr) minmax(0, .72fr) minmax(0, .58fr) minmax(0, .92fr) !important;
}

.registration-entry-modal.is-open .registration-entry-note,
.registration-entry-modal.is-open .registration-fast-panel,
.registration-entry-modal.is-open .registration-history-panel,
.registration-entry-modal.is-open .preventive-care-modal {
    min-height: 185px !important;
}

@media (min-width: 1760px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: min(1680px, calc(100vw - 72px)) !important;
        max-width: min(1680px, calc(100vw - 72px)) !important;
    }
}

@media (max-width: 1747px), (max-height: 927px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: calc((100vw - 12px) * 1.0869565) !important;
        max-width: none !important;
        height: 900px !important;
        max-height: none !important;
        zoom: .92 !important;
    }
}

@media (max-width: 1588px), (max-height: 835px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: calc((100vw - 12px) * 1.1904762) !important;
        max-width: none !important;
        height: 900px !important;
        max-height: none !important;
        zoom: .84 !important;
    }
}

@media (max-width: 1448px), (max-height: 760px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: calc((100vw - 12px) * 1.3157895) !important;
        max-width: none !important;
        height: 900px !important;
        max-height: none !important;
        zoom: .76 !important;
    }
}

@media (max-width: 1320px), (max-height: 690px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: calc((100vw - 12px) * 1.4705882) !important;
        max-width: none !important;
        height: 900px !important;
        max-height: none !important;
        zoom: .68 !important;
    }
}

@media (max-width: 1180px), (max-height: 620px) {
    .registration-entry-modal.is-open .registration-entry-card {
        width: calc((100vw - 12px) * 1.6666667) !important;
        max-width: none !important;
        height: 900px !important;
        max-height: none !important;
        zoom: .6 !important;
    }
}

/* Registration dialog: keep the visit date field compact. */
.registration-entry-modal.is-open .registration-entry-grid .registration-date-field {
    width: clamp(112px, 8vw, 128px) !important;
    max-width: 128px !important;
    justify-self: start !important;
}

.registration-entry-modal.is-open .registration-entry-grid .registration-date-field input {
    width: 100% !important;
}

/* Registration dialog: give the doctor selector more room now that visit date is compact. */
.registration-entry-modal.is-open .registration-entry-grid {
    grid-template-columns:
        minmax(112px, .87fr)
        minmax(64px, .48fr)
        minmax(76px, .56fr)
        minmax(78px, .6fr)
        minmax(68px, .48fr)
        minmax(92px, .74fr)
        minmax(68px, .48fr)
        minmax(72px, .52fr)
        minmax(98px, .76fr)
        minmax(142px, 1.16fr)
        minmax(88px, .62fr)
        minmax(88px, .62fr)
        minmax(94px, .68fr)
        minmax(88px, .62fr)
        minmax(90px, .64fr)
        112px !important;
}

.registration-entry-modal.is-open .registration-entry-grid .registration-doctor-field input {
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* Diagnosis certificate modal. */
.diagnosis-header-button,
.billing-header-button,
.appointment-header-button {
    height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .62);
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: #ffffff;
    font: inherit;
    font-weight: 900;
    white-space: nowrap;
    cursor: pointer;
}

.diagnosis-header-button .workbench-icon,
.billing-header-button .workbench-icon,
.appointment-header-button .workbench-icon {
    width: 18px;
    height: 18px;
}

.appointment-calendar-plus-icon {
    fill: currentColor;
    stroke: none;
}

.diagnosis-header-button:hover,
.billing-header-button:hover,
.appointment-header-button:hover {
    background: rgba(255, 255, 255, .23);
}

/* Appointment registration modal. */
.appointment-patient-search-modal,
.appointment-registration-modal {
    position: fixed;
    inset: 0;
    z-index: 24100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(10px, 1.4vw, 22px);
    background: rgba(8, 34, 25, .38);
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.appointment-patient-search-modal.is-open,
.appointment-registration-modal.is-open {
    display: flex;
}

.appointment-patient-search-card,
.appointment-registration-card {
    border: 1px solid #b8d5c4;
    border-radius: 12px;
    background: #fbfefa;
    box-shadow: 0 26px 78px rgba(13, 62, 39, .24);
    overflow: hidden;
}

.appointment-patient-search-card {
    width: min(860px, calc(100vw - 28px));
    max-height: min(650px, calc(100vh - 28px));
    display: grid;
    grid-template-rows: 72px minmax(0, 1fr);
}

.appointment-patient-search-card header,
.appointment-registration-titlebar {
    min-height: 70px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 18px 0 24px;
    background: linear-gradient(180deg, #079447 0%, #00652f 100%);
    color: #fff;
}

.appointment-patient-search-card header p,
.appointment-patient-search-card header h2,
.appointment-registration-titlebar h2 {
    margin: 0;
}

.appointment-patient-search-card header p {
    color: #dff7e6;
    font-size: 13px;
    font-weight: 800;
}

.appointment-patient-search-card header h2,
.appointment-registration-titlebar h2 {
    font-size: 24px;
    font-weight: 900;
    line-height: 1.05;
}

.appointment-registration-titlebar > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.appointment-registration-titlebar .appointment-registration-title-actions {
    gap: 10px;
}

.appointment-schedule-setting-link {
    min-width: 112px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
}

.appointment-schedule-setting-link:hover,
.appointment-schedule-setting-link:focus {
    background: rgba(255, 255, 255, .24);
    color: #fff;
    text-decoration: none;
}

.appointment-registration-titlebar .appointment-schedule-setting-link .workbench-icon {
    width: 18px;
    height: 18px;
}

.appointment-registration-titlebar .workbench-icon {
    width: 30px;
    height: 30px;
}

.appointment-patient-search-card header button,
.appointment-registration-titlebar button {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.appointment-patient-search-body {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    background: #f8fcf8;
}

.appointment-patient-filterbar {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(220px, 1fr) auto;
    gap: 14px;
    align-items: end;
    padding: 18px;
    border-bottom: 1px solid #d5e5d9;
}

.appointment-patient-filterbar label {
    display: grid;
    gap: 7px;
    color: #173326;
    font-weight: 800;
}

.appointment-patient-filterbar input {
    height: 42px;
    min-width: 0;
    border: 1px solid #b8d1c2;
    border-radius: 6px;
    padding: 0 12px;
    color: #12223b;
    font: inherit;
}

.appointment-patient-search-submit {
    height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 22px;
    border: 0;
    border-radius: 7px;
    background: #04924d;
    color: #fff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.appointment-patient-search-results {
    min-height: 0;
    overflow: auto;
    padding: 0 18px 18px;
}

.appointment-patient-search-results table,
.appointment-info-table,
.appointment-data-table,
.appointment-availability-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.appointment-patient-search-results th,
.appointment-patient-search-results td {
    height: 42px;
    border-bottom: 1px solid #d8e8dc;
    text-align: center;
    color: #15273d;
    font-weight: 800;
}

.appointment-patient-search-results th {
    color: #007c3d;
    background: #eaf5eb;
}

.appointment-patient-search-results tr.is-selected td {
    background: #e1f2ed;
}

.appointment-patient-search-results button {
    min-width: 64px;
    height: 30px;
    border: 1px solid #00a05b;
    border-radius: 6px;
    background: #fff;
    color: #007945;
    font-weight: 900;
    cursor: pointer;
}

.appointment-registration-card {
    width: min(1520px, calc(100vw - 24px));
    max-height: min(960px, calc(100vh - 22px));
    display: grid;
    grid-template-rows: 72px minmax(0, 1fr) 74px;
}

.appointment-registration-body {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.35fr) minmax(330px, .95fr);
    grid-template-rows: auto minmax(165px, .48fr) minmax(190px, .52fr);
    gap: 14px;
    padding: 14px 18px;
    overflow: auto;
    background: #fbfefa;
}

.appointment-panel {
    min-width: 0;
    min-height: 0;
    border: 1px solid #c4dccb;
    border-radius: 9px;
    background: rgba(255, 255, 255, .92);
    overflow: hidden;
}

.appointment-panel h3 {
    height: 44px;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 0 16px;
    color: #007b3f;
    font-size: 18px;
    font-weight: 900;
}

.appointment-panel h3 .workbench-icon {
    width: 22px;
    height: 22px;
}

.appointment-panel h3 span {
    margin-left: 18px;
    font-size: 14px;
}

.appointment-patient-panel {
    grid-column: 1;
    grid-row: 1;
}

.appointment-form-panel {
    grid-column: 2;
    grid-row: 1;
}

.appointment-calendar-panel {
    grid-column: 3;
    grid-row: 1 / span 3;
    padding: 18px 14px;
}

.appointment-pending-panel {
    grid-column: 1 / span 2;
    grid-row: 2;
}

.appointment-history-panel {
    grid-column: 1 / span 2;
    grid-row: 3;
}

.appointment-info-table th,
.appointment-info-table td {
    height: 38px;
    border: 1px solid #d8e5dc;
    padding: 0 12px;
    text-align: left;
    color: #15273d;
    font-weight: 800;
}

.appointment-info-table th {
    width: 116px;
    background: #f4faf5;
    color: #1c3729;
}

.appointment-patient-panel {
    min-height: 332px;
}

.appointment-patient-panel .appointment-info-table {
    width: 100%;
    table-layout: fixed;
}

.appointment-patient-panel .appointment-info-table th,
.appointment-patient-panel .appointment-info-table td {
    height: 34px;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.appointment-patient-panel .appointment-info-table th {
    width: 92px;
    padding: 0 10px;
}

.appointment-patient-panel .appointment-info-table td {
    padding: 0 10px;
}

.appointment-info-table b {
    margin-left: 12px;
    color: #ff2b36;
    font-size: 13px;
}

.appointment-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
    padding: 0 14px 12px;
}

.appointment-form-grid label {
    min-width: 0;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    align-items: center;
    border: 1px solid #d5e4da;
    border-radius: 7px;
    overflow: hidden;
}

.appointment-form-grid label span {
    height: 44px;
    display: flex;
    align-items: center;
    padding-left: 16px;
    background: #f5faf6;
    color: #008248;
    font-weight: 900;
}

.appointment-form-grid input,
.appointment-form-grid select {
    min-width: 0;
    height: 44px;
    border: 0;
    border-left: 1px solid #d5e4da;
    padding: 0 12px;
    background: #fff;
    color: #14233b;
    font: inherit;
    font-weight: 800;
}

.appointment-note-field {
    grid-column: 1 / -1;
}

.appointment-outline-button {
    height: 44px;
    border: 1px solid #1ca464;
    border-radius: 7px;
    background: #fff;
    color: #008c4a;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.appointment-form-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 0 14px 12px;
}

.appointment-form-actions button,
.appointment-registration-footer button {
    min-width: 0;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #c6d9cc;
    border-radius: 7px;
    background: #fff;
    color: #173326;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.appointment-form-actions button.is-primary,
.appointment-registration-footer button.is-primary {
    border-color: transparent;
    background: linear-gradient(180deg, #05a45a, #008748);
    color: #fff;
}

.appointment-form-actions .workbench-icon,
.appointment-registration-footer .workbench-icon {
    width: 19px;
    height: 19px;
}

.appointment-status {
    min-height: 18px;
    margin: -4px 14px 10px;
    color: #527064;
    font-size: 13px;
    font-weight: 800;
}

.appointment-status.is-success {
    color: #008743;
}

.appointment-status.is-error {
    color: #c41f28;
}

.appointment-status.is-info {
    color: #0a6f9f;
}

.appointment-calendar-header {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    gap: 10px;
    margin: 4px 0 14px;
}

.appointment-calendar-header strong {
    text-align: center;
    font-size: 22px;
    color: #101d2f;
}

.appointment-calendar-header button {
    height: 42px;
    border: 1px solid #d4e2d9;
    border-radius: 8px;
    background: #fff;
    font-size: 34px;
    line-height: 1;
    color: #10223a;
    cursor: pointer;
}

.appointment-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border: 1px solid #d5e4da;
    border-radius: 9px;
    overflow: hidden;
}

.appointment-calendar-weekday,
.appointment-calendar-day {
    height: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-right: 1px solid #dce8df;
    border-bottom: 1px solid #dce8df;
    background: #fff;
    color: #14233b;
    font: inherit;
    font-weight: 900;
}

.appointment-calendar-weekday {
    height: 36px;
    color: #00773f;
    background: #f8fcf8;
}

.appointment-calendar-day {
    cursor: pointer;
}

.appointment-calendar-day.is-muted {
    color: #9aa7b3;
}

.appointment-calendar-day.is-weekend:not(.is-muted) {
    color: #008743;
}

.appointment-calendar-day.is-selected {
    background: linear-gradient(180deg, #0ba35b, #008647);
    color: #fff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
}

.appointment-selected-date {
    margin: 16px 4px 10px;
    color: #008247;
    font-weight: 900;
}

.appointment-availability-table th,
.appointment-availability-table td,
.appointment-data-table th,
.appointment-data-table td {
    height: 38px;
    border: 1px solid #d7e7dc;
    padding: 0 8px;
    text-align: center;
    color: #10223a;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.appointment-availability-table th,
.appointment-data-table th {
    color: #007a3e;
    background: #e9f5eb;
}

.appointment-availability-table span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    height: 28px;
    border-radius: 7px;
    font-weight: 900;
}

.appointment-availability-table .is-full {
    background: #eef1f4;
    color: #66727c;
}

.appointment-availability-table .is-open {
    background: #dcf7e5;
    color: #008a45;
}

.appointment-calendar-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 14px 4px 0;
    color: #425849;
    font-weight: 800;
}

.appointment-calendar-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.appointment-calendar-legend i {
    width: 14px;
    height: 14px;
    border-radius: 50%;
}

.appointment-calendar-legend .is-full {
    background: #9da5ad;
}

.appointment-calendar-legend .is-open {
    background: #00954d;
}

.appointment-calendar-legend .is-low {
    background: #f2a915;
}

.appointment-calendar-note {
    margin: 14px 4px 0;
    color: #527064;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
}

.appointment-data-table tbody tr:nth-child(odd):not(.appointment-empty-row) td {
    background: #eaf8f3;
}

.appointment-data-table tbody tr.is-selected td {
    background: #beeeda !important;
}

.appointment-data-table button {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #008743;
    cursor: pointer;
}

.appointment-data-table .workbench-icon {
    width: 20px;
    height: 20px;
}

.appointment-pending-panel .appointment-data-table th:nth-child(-n+3),
.appointment-pending-panel .appointment-data-table td:nth-child(-n+3) {
    width: 44px;
    padding: 0 3px;
}

.appointment-empty-row td {
    height: 92px;
    color: #7d8d9b;
    background: #fbfefa !important;
}

.appointment-registration-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    padding: 0 28px;
    border-top: 1px solid #d7e5dc;
    background: #fff;
}

.appointment-registration-footer button {
    min-width: 120px;
    height: 48px;
}

@media (max-width: 1180px) {
    .appointment-registration-card {
        max-height: calc(100vh - 16px);
    }

    .appointment-registration-body {
        grid-template-columns: minmax(270px, .85fr) minmax(360px, 1.2fr);
        grid-template-rows: auto auto auto auto;
    }

    .appointment-calendar-panel {
        grid-column: 1 / -1;
        grid-row: 4;
    }

    .appointment-pending-panel {
        grid-column: 1 / -1;
    }

    .appointment-history-panel {
        grid-column: 1 / -1;
    }
}

@media (max-width: 780px) {
    .appointment-patient-filterbar,
    .appointment-registration-body,
    .appointment-form-grid,
    .appointment-form-actions {
        grid-template-columns: 1fr;
    }

    .appointment-patient-panel,
    .appointment-form-panel,
    .appointment-calendar-panel,
    .appointment-pending-panel,
    .appointment-history-panel {
        grid-column: 1;
        grid-row: auto;
    }
}

.diagnosis-patient-search-modal {
    position: fixed;
    inset: 0;
    z-index: 24050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(10px, 2vw, 24px);
    background: rgba(12, 47, 30, .34);
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.diagnosis-patient-search-modal.is-open {
    display: flex;
}

.diagnosis-patient-search-card {
    width: min(1040px, calc(100vw - 28px));
    max-height: min(760px, calc(100vh - 28px));
    display: grid;
    grid-template-rows: 74px minmax(0, 1fr);
    border: 1px solid #bdd4c5;
    border-radius: 10px;
    background: #fbfefa;
    box-shadow: 0 30px 80px rgba(29, 76, 49, .24);
    overflow: hidden;
}

.diagnosis-patient-search-card header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0 18px 0 24px;
    background: linear-gradient(180deg, #2f7546 0%, #1f5f38 100%);
    color: #f7fff8;
}

.diagnosis-patient-search-card header p,
.diagnosis-patient-search-card header h2 {
    margin: 0;
}

.diagnosis-patient-search-card header p {
    color: #dff7e6;
    font-size: 13px;
    font-weight: 800;
}

.diagnosis-patient-search-card header h2 {
    margin-top: 3px;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
}

.diagnosis-patient-search-card header button {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    background: rgba(255, 255, 255, .08);
    color: #ffffff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.diagnosis-patient-search-body {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.diagnosis-patient-filterbar {
    display: grid;
    grid-template-columns: minmax(282px, 312px) minmax(0, 1fr) 104px;
    align-items: end;
    gap: 14px;
    padding: 18px 24px 14px;
    border-bottom: 1px solid #dce9e0;
}

.diagnosis-patient-filterbar label {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: #2b4a39;
    font-size: 14px;
    font-weight: 900;
}

.diagnosis-patient-filterbar input {
    width: 100%;
    height: 38px;
    min-width: 0;
    border: 1px solid #c4d8ca;
    border-radius: 6px;
    background: #ffffff;
    padding: 0 10px;
    color: #20342b;
    font: inherit;
}

.diagnosis-patient-search-submit {
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #00945f;
    border-radius: 7px;
    background: #00945f;
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
}

.diagnosis-patient-search-submit .workbench-icon {
    width: 17px;
    height: 17px;
}

.diagnosis-patient-filter-buttons button.is-default:not(.is-active) {
    border-color: #64bd91;
    color: #00773d;
    box-shadow: inset 0 0 0 1px rgba(0, 148, 95, .16);
}

.diagnosis-patient-search-results {
    min-height: 0;
    overflow: auto;
    padding: 0 24px 22px;
}

.diagnosis-patient-search-results table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    table-layout: fixed;
}

.diagnosis-patient-search-results th,
.diagnosis-patient-search-results td {
    border-bottom: 1px solid #d4e3da;
    padding: 10px 8px;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.diagnosis-patient-search-results th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #eaf4e8;
    color: #253a30;
    font-weight: 900;
}

.diagnosis-patient-search-results th:nth-child(4),
.diagnosis-patient-search-results td:nth-child(4) {
    width: 150px;
    min-width: 150px;
    white-space: nowrap;
    word-break: keep-all;
    font-variant-numeric: tabular-nums;
}

.diagnosis-patient-search-results tr.is-selected td {
    background: #e7f5ef;
}

.diagnosis-patient-search-results .patient-empty-row td {
    height: 82px;
    color: #657086;
    text-align: center;
    font-weight: 900;
}

.diagnosis-patient-search-results button {
    min-width: 66px;
    height: 32px;
    border: 1px solid #00945f;
    border-radius: 6px;
    background: #ffffff;
    color: #008f85;
    font-weight: 900;
    cursor: pointer;
}

.diagnosis-patient-search-results button:hover {
    background: #00945f;
    color: #ffffff;
}

.diagnosis-certificate-modal {
    position: fixed;
    inset: 0;
    z-index: 24000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(6px, 1vw, 14px);
    background: rgba(6, 54, 30, .18);
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.diagnosis-certificate-modal.is-open {
    display: flex;
}

.diagnosis-certificate-card {
    width: min(1680px, calc(100vw - 12px));
    height: min(940px, calc(100vh - 12px));
    display: grid;
    grid-template-rows: 52px 76px minmax(0, 1fr) 88px 76px;
    gap: 10px;
    padding: 0 14px 14px;
    border: 1px solid #0c7a43;
    border-radius: 8px;
    background: #f8fffb;
    color: #111827;
    box-shadow: 0 22px 58px rgba(0, 64, 32, .28);
    overflow: hidden;
}

.diagnosis-certificate-titlebar {
    height: 52px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 38px 38px 38px;
    align-items: center;
    gap: 8px;
    margin: 0 -14px;
    padding: 0 14px 0 18px;
    background: linear-gradient(90deg, #00773d 0%, #006e36 48%, #00592d 100%);
    color: #ffffff;
}

.diagnosis-certificate-title {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.diagnosis-certificate-title .workbench-icon {
    width: 26px;
    height: 26px;
}

.diagnosis-certificate-title h2 {
    margin: 0;
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
    letter-spacing: 0;
}

.diagnosis-window-button {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #ffffff;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

.diagnosis-window-button:hover {
    background: rgba(255, 255, 255, .16);
}

.diagnosis-patient-strip {
    display: grid;
    grid-template-columns: minmax(170px, .9fr) minmax(190px, 1fr) minmax(190px, 1fr) minmax(190px, 1fr) minmax(360px, 2fr);
    align-items: center;
    gap: 0;
    min-width: 0;
    padding: 10px 14px;
    border: 1px solid #90cdb4;
    border-radius: 6px;
    background: #ffffff;
}

.diagnosis-patient-strip > div {
    height: 42px;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 0 18px;
    border-right: 1px solid #d7e8df;
}

.diagnosis-patient-strip > div:first-child {
    padding-left: 6px;
}

.diagnosis-patient-strip > div:last-child {
    border-right: 0;
}

.diagnosis-patient-strip .workbench-icon {
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    color: #00773d;
}

.diagnosis-patient-strip span,
.diagnosis-patient-strip strong {
    font-size: 20px;
    line-height: 1;
    white-space: nowrap;
}

.diagnosis-patient-strip span {
    color: #10251a;
    font-weight: 900;
}

.diagnosis-patient-strip strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #111827;
    font-weight: 500;
}

.diagnosis-workspace {
    display: grid;
    grid-template-columns: minmax(430px, 1.04fr) minmax(470px, 1.1fr) minmax(390px, .94fr);
    gap: 12px;
    min-height: 0;
}

.diagnosis-panel,
.diagnosis-system-strip {
    min-width: 0;
    border: 1px solid #9fd4bf;
    border-radius: 6px;
    background: linear-gradient(180deg, #ffffff 0%, #f7fffb 100%);
}

.diagnosis-panel {
    display: grid;
    grid-template-rows: 48px minmax(0, 1fr);
    overflow: hidden;
}

.diagnosis-panel h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0 18px;
    border-bottom: 1px solid #d4e9de;
    color: #006d3a;
    font-size: 22px;
    font-weight: 900;
}

.diagnosis-panel h3 .workbench-icon {
    width: 24px;
    height: 24px;
}

.diagnosis-table-wrap {
    min-height: 0;
    overflow: hidden;
}

.diagnosis-table-wrap table {
    width: 100%;
    height: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 18px;
}

.diagnosis-table-wrap th,
.diagnosis-table-wrap td {
    height: 42px;
    border-right: 1px solid #d8e8e0;
    border-bottom: 1px solid #d8e8e0;
    padding: 0 10px;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.diagnosis-table-wrap th {
    background: #f5fbf7;
    color: #0b4a31;
    font-weight: 900;
}

.diagnosis-table-wrap tr.is-selected td {
    background: #edf8f2;
}

.diagnosis-visit-panel .diagnosis-table-wrap tr.is-selected td {
    background: #f3fbf7;
    color: #172033;
}

.diagnosis-visit-panel .diagnosis-table-wrap tr.is-selected td:first-child {
    background: #dff3e9;
}

.diagnosis-check {
    display: inline-grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 4px;
    background: #078544;
    color: #ffffff;
    font-weight: 900;
}

.diagnosis-content-panel {
    grid-template-rows: 48px minmax(0, 1fr) minmax(0, 1fr) 106px;
    padding-bottom: 12px;
}

.diagnosis-copy-field {
    min-height: 0;
    display: grid;
    grid-template-rows: 48px minmax(0, 1fr);
    padding: 0 12px 10px;
}

.diagnosis-copy-field > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #006d3a;
    font-size: 21px;
    font-weight: 900;
}

.diagnosis-copy-field button {
    height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid #98cfb7;
    border-radius: 7px;
    background: #ffffff;
    color: #006d3a;
    font-size: 18px;
    font-weight: 900;
}

.diagnosis-copy-field button .workbench-icon {
    width: 19px;
    height: 19px;
}

.diagnosis-copy-field textarea {
    width: 100%;
    height: 100%;
    min-height: 0;
    resize: none;
    border: 1px solid #cfe3da;
    border-radius: 6px;
    background: #ffffff;
    color: #1f2937;
    font-size: 20px;
    line-height: 1.5;
    padding: 14px;
}

.diagnosis-form-row {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 10px;
    padding: 0 12px;
}

.diagnosis-form-row label {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    color: #006d3a;
    font-size: 20px;
    font-weight: 900;
}

.diagnosis-form-row select {
    height: 44px;
    min-width: 0;
    border: 1px solid #9fd4bf;
    border-radius: 6px;
    background: #ffffff;
    color: #1f2937;
    font-size: 19px;
    padding: 0 12px;
}

.diagnosis-system-strip {
    display: grid;
    grid-template-columns: 110px minmax(330px, .9fr) minmax(0, 1.35fr);
    align-items: center;
    gap: 18px;
    padding: 12px 20px;
}

.diagnosis-system-strip strong {
    color: #006d3a;
    font-size: 20px;
    font-weight: 900;
}

.diagnosis-system-strip p {
    margin: 0;
    color: #1f2937;
    font-size: 16px;
    line-height: 1.45;
}

.diagnosis-system-strip div {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #10251a;
    font-size: 24px;
    font-weight: 900;
}

.diagnosis-system-strip .workbench-icon {
    width: 28px;
    height: 28px;
    color: #00773d;
}

.diagnosis-system-strip span {
    color: #00773d;
}

.diagnosis-actions {
    display: grid;
    grid-template-columns: repeat(5, minmax(116px, 1fr)) minmax(132px, 1.05fr) repeat(2, minmax(132px, 1.05fr)) minmax(132px, 1fr) minmax(118px, .95fr);
    align-items: center;
    gap: 18px;
}

.diagnosis-actions button {
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 0;
    border: 1px solid #8ac8ad;
    border-radius: 7px;
    background: #ffffff;
    color: #00773d;
    font-size: 21px;
    font-weight: 900;
    white-space: nowrap;
    cursor: pointer;
}

.diagnosis-actions button.is-primary,
.diagnosis-actions button.is-solid {
    border-color: #009551;
    background: #009551;
    color: #ffffff;
}

.diagnosis-actions .workbench-icon {
    width: 22px;
    height: 22px;
}

.preventive-care-modal {
    display: none;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid #dce9f1;
    border-radius: 7px;
    background: #ffffff;
    color: #102033;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.preventive-care-modal.is-open {
    display: block;
}

.registration-entry-modal.is-open .registration-entry-lower {
    position: relative !important;
}

.registration-entry-modal.is-open .registration-entry-lower.has-preventive-care {
    grid-template-columns: minmax(0, .82fr) minmax(0, .72fr) minmax(0, .58fr) minmax(0, .92fr) !important;
    grid-auto-flow: column !important;
}

.registration-entry-modal.is-open .registration-entry-lower.has-preventive-care > .registration-entry-note {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.registration-entry-modal.is-open .registration-entry-lower.has-preventive-care > .preventive-care-modal {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

.registration-entry-modal.is-open .registration-entry-lower.has-preventive-care > .registration-fast-panel {
    grid-column: 3 !important;
    grid-row: 1 !important;
}

.registration-entry-modal.is-open .registration-entry-lower.has-preventive-care > .registration-entry-history {
    grid-column: 4 !important;
    grid-row: 1 !important;
}

.appointment-data-table button.appointment-cancel-button {
    color: #c62835;
    font-size: 23px;
    font-weight: 900;
    line-height: 1;
}

/* Keep the live registration history usable when a patient has many visits. */
.registration-entry-modal.is-open .registration-entry-history {
    overflow: auto !important;
}

.registration-entry-modal.is-open .registration-entry-history thead {
    position: sticky;
    top: 0;
    z-index: 2;
}

.registration-entry-modal.is-open .registration-entry-lower > .preventive-care-modal {
    position: static !important;
    grid-column: auto !important;
    grid-row: auto !important;
    inset: auto !important;
    z-index: auto !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    min-height: 0 !important;
    max-height: 100% !important;
    box-shadow: none;
}

.registration-entry-modal.is-open .registration-entry-lower:not(.has-preventive-care) > .preventive-care-modal {
    display: none !important;
}

.registration-entry-modal.is-open .registration-entry-lower > .preventive-care-modal .preventive-care-body {
    overflow: auto !important;
}

.preventive-care-card {
    height: 100%;
    display: grid;
    grid-template-rows: 43px minmax(0, 1fr);
    overflow: hidden;
    background: linear-gradient(180deg, #fbfefd 0%, #ffffff 100%);
}

.preventive-care-card header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 7px 10px 7px 12px;
    border-bottom: 1px solid #e3eef4;
    background: #f5fbf8;
}

.preventive-care-card h3 {
    margin: 0;
    color: #008f85;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.1;
}

.preventive-care-card header button {
    width: 30px;
    height: 30px;
    border: 1px solid #d8e3ec;
    border-radius: 6px;
    background: #ffffff;
    color: #008f85;
    font-size: 17px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.preventive-care-body {
    min-height: 0;
    overflow: hidden;
    padding: 9px 10px;
}

.preventive-care-options {
    height: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    align-content: start;
}

.preventive-care-options.is-single-column {
    grid-template-columns: minmax(0, 1fr);
}

.preventive-care-option-column {
    min-width: 0;
    display: grid;
    grid-auto-rows: minmax(0, 30px);
    gap: 6px;
    align-content: start;
}

.preventive-care-options label {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 0;
    padding: 4px 7px;
    border: 1px solid #c9e3d7;
    border-radius: 6px;
    background: #fbfefd;
    cursor: pointer;
}

.preventive-care-options label[hidden],
.preventive-care-option-column[hidden] {
    display: none !important;
}

.preventive-care-options label:has(input:checked) {
    border-color: #00945f;
    background: #ebf9f2;
    box-shadow: inset 0 0 0 1px rgba(0, 148, 95, .16);
}

.preventive-care-options input {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    accent-color: #00945f;
}

.preventive-care-options span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 800;
}

.preventive-care-options b {
    display: inline-block;
    min-width: 24px;
    color: #008b62;
}

.preventive-care-eligibility-panel {
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px dashed #cfe2e8;
}

.preventive-care-eligibility-panel h4 {
    margin: 0 0 6px;
    color: #4b6575;
    font-size: 13px;
}

.preventive-care-eligibility-list {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.preventive-care-eligibility-list span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 7px;
    border: 1px solid #d7e6ed;
    border-radius: 999px;
    background: #f5fafc;
    color: #385466;
    font-size: 12px;
    font-weight: 700;
}

.preventive-care-eligibility-list span[hidden] {
    display: none;
}

.preventive-care-empty {
    margin: 10px 2px 0;
    padding: 8px 10px;
    border: 1px solid #f0d7ba;
    border-radius: 6px;
    background: #fff8ee;
    color: #8a5200;
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 1500px), (max-height: 760px) {
    .diagnosis-certificate-card {
        width: calc((100vw - 10px) * 1.1111111);
        height: 920px;
        max-width: none;
        max-height: none;
        zoom: .9;
    }
}

@media (max-width: 1280px), (max-height: 650px) {
    .diagnosis-certificate-card {
        width: calc((100vw - 10px) * 1.25);
        zoom: .8;
    }
}

@media (max-width: 1100px), (max-height: 580px) {
    .diagnosis-certificate-card {
        width: calc((100vw - 10px) * 1.4285714);
        zoom: .7;
    }
}

@media (max-width: 760px) {
    .diagnosis-patient-filterbar {
        grid-template-columns: 1fr;
    }
}

/* Outpatient billing modal. */
.outpatient-billing-modal {
    position: fixed;
    inset: 0;
    z-index: 24100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(6px, 1vw, 14px);
    background: rgba(5, 52, 29, .18);
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.outpatient-billing-modal.is-open {
    display: flex;
}

.outpatient-billing-card {
    width: min(1640px, calc(100vw - 8px));
    height: min(900px, calc(100vh - 8px));
    display: grid;
    grid-template-rows: 46px minmax(0, 1fr);
    border: 1px solid #08733d;
    border-radius: 8px;
    background: #fbfffd;
    box-shadow: 0 22px 58px rgba(0, 64, 32, .28);
    overflow: hidden;
}

.outpatient-billing-titlebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px 32px 32px;
    align-items: center;
    gap: 6px;
    padding: 0 10px 0 16px;
    background: linear-gradient(90deg, #00763c 0%, #006f38 48%, #00582d 100%);
    color: #ffffff;
}

.outpatient-billing-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.outpatient-billing-title h2 {
    margin: 0;
    color: #ffffff;
    font-size: 23px;
    font-weight: 900;
    line-height: 1;
}

.outpatient-billing-logo {
    width: 21px;
    height: 21px;
    border-radius: 7px;
    background: linear-gradient(135deg, #1ed760 0%, #77ddff 48%, #0a76d8 100%);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .3);
}

.billing-window-button {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #ffffff;
    font-size: 21px;
    line-height: 1;
    cursor: pointer;
}

.billing-window-button:hover {
    background: rgba(255, 255, 255, .16);
}

.outpatient-billing-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 196px;
    grid-template-rows: 218px minmax(0, 1fr) 74px;
    gap: 9px 12px;
    min-height: 0;
    padding: 8px 10px 10px;
    color: #10251a;
}

.billing-query-panel,
.billing-detail-panel,
.billing-total-strip {
    min-width: 0;
    border: 1px solid #8bcfb0;
    border-radius: 3px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fffb 100%);
}

.billing-query-panel {
    display: grid;
    grid-template-rows: 36px minmax(0, 1fr);
    padding: 0 10px 10px;
}

.billing-query-panel h3,
.billing-detail-panel h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #00773d;
    font-size: 19px;
    font-weight: 900;
}

.billing-query-panel h3 .workbench-icon,
.billing-detail-panel h3 .workbench-icon {
    width: 20px;
    height: 20px;
}

.billing-query-grid {
    display: grid;
    grid-template-columns: minmax(250px, 1.06fr) minmax(220px, .9fr) minmax(280px, 1fr) minmax(250px, .94fr);
    grid-auto-rows: 40px;
    align-items: center;
    gap: 8px 18px;
    min-width: 0;
}

.billing-query-grid label {
    display: grid;
    grid-template-columns: minmax(96px, 128px) minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: #111827;
    font-size: 15px;
    font-weight: 900;
}

.billing-query-grid label span {
    min-width: 0;
    overflow: hidden;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.billing-query-grid input,
.billing-query-grid select {
    height: 34px;
    min-width: 0;
    border: 1px solid #c9d8d1;
    border-radius: 4px;
    background: #ffffff;
    color: #111827;
    font-size: 15px;
    padding: 0 8px;
}

.billing-date-range {
    grid-template-columns: minmax(96px, 128px) minmax(96px, 1fr) 14px minmax(96px, 1fr) !important;
}

.billing-date-range b {
    text-align: center;
}

.billing-action-rail {
    grid-column: 2;
    grid-row: 1;
    display: grid;
    grid-template-rows: repeat(4, 42px);
    gap: 10px;
    align-content: center;
}

.billing-action-rail button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    border: 1px solid #82c7a8;
    border-radius: 4px;
    background: #ffffff;
    color: #00773d;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
}

.billing-action-rail button.is-solid {
    border-color: #00773d;
    background: linear-gradient(180deg, #008748 0%, #006d3a 100%);
    color: #ffffff;
}

.billing-action-rail .workbench-icon {
    width: 20px;
    height: 20px;
}

.billing-detail-panel {
    grid-column: 1 / 3;
    grid-row: 2;
    display: grid;
    grid-template-rows: 34px minmax(0, 1fr);
    min-height: 0;
    padding: 0 8px 7px;
}

.billing-table-wrap {
    min-height: 0;
    overflow: auto;
    border: 1px solid #d2e7dd;
    background: #ffffff;
}

.billing-table-wrap table {
    width: 100%;
    min-width: 1320px;
    min-height: 100%;
    height: auto;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 15px;
}

.billing-table-wrap th,
.billing-table-wrap td {
    height: 34px;
    border-right: 1px solid #d9e8e1;
    border-bottom: 1px solid #d9e8e1;
    padding: 0 6px;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.billing-table-wrap th {
    background: #eef8f1;
    color: #10251a;
    font-weight: 900;
}

.billing-table-wrap td {
    background: #ffffff;
}

.billing-table-wrap tbody tr:nth-child(even) td {
    background: #f5fbf8;
}

.billing-table-wrap tbody tr.billing-empty-row td {
    color: #64748b;
    font-weight: 800;
    text-align: center;
}

.billing-total-strip {
    grid-column: 1 / 3;
    grid-row: 3;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: center;
    gap: 16px;
    padding: 9px 24px;
}

.billing-total-strip label {
    display: grid;
    grid-template-columns: max-content minmax(76px, 118px);
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    font-size: 16px;
    font-weight: 900;
}

.billing-total-strip input {
    height: 38px;
    min-width: 0;
    border: 1px solid #c7d8d0;
    border-radius: 0;
    background: #ffffff;
    color: #00773d;
    font-size: 21px;
    font-weight: 900;
    text-align: right;
    padding: 0 10px;
}

@media (max-width: 1500px), (max-height: 760px) {
    .outpatient-billing-card {
        width: calc((100vw - 10px) * 1.1111111);
        height: 920px;
        max-width: none;
        max-height: none;
        zoom: .9;
    }
}

@media (max-width: 1280px), (max-height: 650px) {
    .outpatient-billing-card {
        width: calc((100vw - 10px) * 1.25);
        zoom: .8;
    }
}

@media (max-width: 1100px), (max-height: 580px) {
    .outpatient-billing-card {
        width: calc((100vw - 10px) * 1.4285714);
        zoom: .7;
    }
}

.registration-card-strip[hidden] {
    display: none !important;
}

/* Patient profile RWD: keep actions visible and let the middle workspace scroll. */
@media (max-width: 1320px), (max-height: 940px) {
    .patient-profile-modal {
        padding: 6px !important;
    }

    .patient-profile-card {
        width: calc(100vw - 12px) !important;
        height: calc(100svh - 12px) !important;
        max-width: calc(100vw - 12px) !important;
        max-height: calc(100svh - 12px) !important;
        grid-template-rows: minmax(42px, auto) minmax(0, 1fr) !important;
    }

    .patient-profile-form {
        min-height: 0 !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        overflow: hidden !important;
    }

    .patient-profile-workspace {
        min-height: 0 !important;
        align-items: start !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        padding-right: 6px !important;
        scrollbar-gutter: stable;
    }

    .profile-form-stack {
        grid-template-rows: none !important;
        grid-auto-rows: auto !important;
        gap: 8px !important;
        align-self: start !important;
        overflow: visible !important;
    }

    .profile-section {
        grid-template-rows: auto auto !important;
        overflow: visible !important;
    }

    .reminder-grid {
        grid-template-rows: none !important;
        grid-auto-rows: auto !important;
        align-content: start !important;
        align-items: start !important;
    }

    .profile-chronic-field {
        min-height: 0 !important;
        align-items: start !important;
    }

    .profile-chronic-options {
        align-content: flex-start !important;
        overflow: visible !important;
    }

    .profile-history-input,
    .profile-special-note-input,
    .profile-remark-input {
        align-self: start !important;
    }

    .profile-file-section {
        grid-template-rows: auto auto !important;
    }

    .profile-address-panel {
        align-self: start !important;
        height: auto !important;
        max-height: min(520px, 64svh) !important;
        overflow: auto !important;
    }

    .profile-actions {
        position: relative !important;
        z-index: 3 !important;
        flex: 0 0 auto !important;
        border-top: 1px solid #e4ebf0 !important;
        background: #ffffff !important;
    }
}

@media (max-width: 1180px) {
    .patient-profile-card {
        border-radius: 10px !important;
    }

    .profile-topbar {
        min-height: 48px !important;
        padding: 0 54px 0 14px !important;
    }

    .patient-profile-form {
        padding: 0 10px !important;
    }

    .profile-title-row {
        gap: 8px !important;
    }

    .profile-title-row h2 {
        font-size: 22px !important;
    }

    .profile-title-icon {
        width: 40px !important;
        height: 36px !important;
    }

    .patient-profile-workspace {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .profile-form-stack {
        grid-template-rows: none !important;
        grid-auto-rows: auto !important;
        gap: 8px !important;
    }

    .profile-section {
        padding: 8px 10px !important;
        grid-template-rows: auto auto !important;
        gap: 6px !important;
        overflow: visible !important;
    }

    .profile-section-grid {
        gap: 8px 12px !important;
        align-items: stretch !important;
    }

    .basic-grid,
    .contact-grid,
    .insurance-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: none !important;
    }

    .address-grid {
        grid-template-columns: minmax(96px, .35fr) minmax(0, 1fr) 108px !important;
        grid-template-rows: auto !important;
    }

    .reminder-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: none !important;
    }

    .profile-chronic-field,
    .profile-history-input,
    .profile-special-note-input,
    .profile-remark-input {
        grid-column: 1 / -1 !important;
    }

    .profile-file-section {
        grid-template-rows: auto auto !important;
    }

    .profile-address-panel {
        max-height: 360px !important;
    }
}

@media (max-width: 760px) {
    .patient-profile-modal {
        padding: 0 !important;
    }

    .patient-profile-card {
        width: 100vw !important;
        height: 100svh !important;
        max-width: 100vw !important;
        max-height: 100svh !important;
        border-radius: 0 !important;
    }

    .profile-topbar {
        min-height: 44px !important;
        padding-left: 10px !important;
    }

    .patient-profile-form {
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        padding: 0 8px !important;
    }

    .profile-title-row {
        min-height: 42px !important;
    }

    .profile-title-row h2 {
        font-size: 19px !important;
    }

    .basic-grid,
    .contact-grid,
    .insurance-grid,
    .address-grid,
    .reminder-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: none !important;
    }

    .profile-section-grid label,
    .profile-chronic-field,
    .profile-radio-field,
    .profile-checkbox-line {
        grid-template-columns: 72px minmax(0, 1fr) !important;
        gap: 6px !important;
    }

    .profile-radio-field {
        grid-template-columns: 72px repeat(3, auto) !important;
    }

    .profile-clear-address,
    .profile-upload-button,
    .profile-file-icon {
        width: 100% !important;
    }

    .profile-file-row {
        grid-template-columns: 52px minmax(112px, .8fr) minmax(0, 1fr) 38px !important;
        gap: 6px !important;
    }

    .profile-file-row input {
        grid-column: auto !important;
    }

    .profile-address-panel {
        max-height: 300px !important;
    }

    .profile-actions {
        flex-wrap: wrap !important;
        justify-content: stretch !important;
        gap: 8px !important;
        padding: 8px !important;
    }

    .profile-actions button,
    .profile-actions .profile-save-register {
        flex: 1 1 calc(50% - 4px) !important;
        min-width: 0 !important;
        height: 38px !important;
        font-size: 13px !important;
    }
}

/* Four-session toolbar support: 全部 / 上午 / 下午 / 晚上. */
.registered-layout-body .registered-waiting-screen .workbench-toolbar,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
    grid-template-columns:
        auto
        minmax(166px, 226px)
        48px
        48px
        auto
        minmax(276px, 348px)
        minmax(196px, 266px)
        minmax(300px, 1fr) !important;
}

.registered-layout-body .registered-waiting-screen .toolbar-segments,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .toolbar-segments {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1320px), (max-height: 940px) {
    .registered-layout-body .registered-waiting-screen .workbench-toolbar,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
        grid-template-columns:
            auto
            minmax(138px, 172px)
            38px
            38px
            auto
            minmax(224px, 280px)
            minmax(152px, 190px)
            minmax(230px, 1fr) !important;
    }
}

@media (max-width: 1120px), (max-height: 760px) {
    .registered-layout-body .registered-waiting-screen .workbench-toolbar,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-toolbar {
        grid-template-columns:
            auto
            minmax(118px, 144px)
            32px
            32px
            auto
            minmax(190px, 236px)
            minmax(126px, 160px)
            minmax(188px, 1fr) !important;
    }
}

/* Waiting tables: keep long result sets scrollable inside the table frame. */
.registered-layout-body .registered-waiting-screen .registered-patient-board,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-table-frame {
    min-height: 0 !important;
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .registration-table-frame,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-table-inner {
    height: 100% !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-gutter: stable;
}

.registered-layout-body .registered-waiting-screen .registration-sheet,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid {
    height: auto !important;
    min-height: 100% !important;
}

.registered-layout-body .registered-waiting-screen .registration-sheet th,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .outpatient-grid th {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
}

/* Patient profile: keep the attachment section reachable above the action bar. */
.patient-profile-modal .patient-profile-form {
    min-height: 0 !important;
    overflow: hidden !important;
}

.patient-profile-modal .patient-profile-workspace {
    min-height: 0 !important;
    max-height: 100% !important;
    align-items: start !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 8px 16px 0 !important;
    scrollbar-gutter: stable !important;
    overscroll-behavior: contain;
}

.patient-profile-modal .profile-form-stack {
    align-self: start !important;
    overflow: visible !important;
    padding-bottom: 8px !important;
}

.patient-profile-modal .profile-file-section {
    scroll-margin-bottom: 112px !important;
}

.patient-profile-modal .profile-actions {
    position: relative !important;
    z-index: 5 !important;
    background: #ffffff !important;
    box-shadow: 0 -8px 18px rgba(16, 32, 51, .04) !important;
}

.profile-section-grid .profile-family-field {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.profile-section-grid .profile-family-field > span {
    color: #007a46;
    font-size: 13px;
    font-weight: 900;
}

.profile-family-control {
    min-width: 0;
    display: grid;
    gap: 5px;
}

.profile-family-button {
    width: 100%;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #9fd5bd;
    border-radius: 6px;
    background: #f4fff8;
    color: #007a46;
    font-weight: 900;
}

.profile-family-button:hover {
    background: #e7f8ee;
}

.profile-family-control small {
    min-height: 18px;
    overflow: hidden;
    color: #5d6b73;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.family-picker-modal,
.family-picker-modal * {
    box-sizing: border-box;
}

.family-picker-modal {
    position: fixed;
    inset: 0;
    z-index: 140;
    display: none;
    place-items: center;
    padding: 16px;
    background: rgba(16, 32, 51, .28);
}

.family-picker-modal.is-open {
    display: grid;
}

.family-picker-card {
    width: min(1240px, calc(100vw - 32px));
    max-height: calc(100svh - 32px);
    min-height: min(640px, calc(100svh - 32px));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid #b8d8ca;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 22px 46px rgba(16, 32, 51, .22);
    color: #132d34;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.family-picker-card header {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 18px;
    border-bottom: 1px solid #d6e9df;
    background: #f7fffb;
}

.family-picker-card header p,
.family-picker-card header h2 {
    margin: 0;
}

.family-picker-card header p {
    color: #4e6862;
    font-size: 12px;
    font-weight: 800;
}

.family-picker-card header h2 {
    color: #006d3f;
    font-size: 23px;
    font-weight: 900;
}

.family-picker-card header button {
    width: 38px;
    height: 38px;
    border: 1px solid #b8d8ca;
    border-radius: 6px;
    background: #ffffff;
    color: #16333a;
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
}

.family-picker-body {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(230px, 280px) minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
    padding: 16px 18px;
}

.family-picker-panel,
.family-picker-selected-panel {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
}

.family-picker-panel-title {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #006d3f;
    font-size: 16px;
    font-weight: 900;
}

.family-picker-search {
    align-items: end;
}

.family-picker-search label {
    min-width: 0;
    flex: 1 1 auto;
    display: grid;
    gap: 5px;
    color: #006d3f;
    font-size: 13px;
    font-weight: 900;
}

.family-picker-search input {
    width: 100%;
    height: 38px;
    border: 1px solid #bdd6cc;
    border-radius: 6px;
    padding: 0 10px;
    color: #122b32;
    font-weight: 700;
}

.family-picker-modal .profile-inline-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
}

.family-picker-modal .profile-inline-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.family-picker-search button,
.family-picker-card footer button,
.family-picker-add {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #0a8f58;
    border-radius: 6px;
    background: #0a9b61;
    color: #ffffff;
    font-weight: 900;
}

.family-picker-search button {
    min-width: 86px;
    padding: 0 12px;
}

.family-picker-table-frame {
    min-height: 0;
    overflow: auto;
    border: 1px solid #d4e5df;
    border-radius: 6px;
}

.family-picker-table-frame table {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
    table-layout: fixed;
}

.family-picker-table-frame th,
.family-picker-table-frame td {
    border-bottom: 1px solid #e1ece7;
    padding: 8px 9px;
    color: #153039;
    font-size: 13px;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.family-picker-table-frame th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #eef9f3;
    color: #006d3f;
    font-weight: 900;
}

.family-picker-table-frame td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.family-picker-table-frame th:nth-child(1),
.family-picker-table-frame td:nth-child(1) {
    width: 78px;
    text-align: center;
}

.family-picker-table-frame th:nth-child(2),
.family-picker-table-frame td:nth-child(2) {
    width: 82px;
}

.family-picker-table-frame th:nth-child(3),
.family-picker-table-frame td:nth-child(3) {
    width: 86px;
}

.family-picker-table-frame th:nth-child(4),
.family-picker-table-frame td:nth-child(4) {
    width: 168px;
    min-width: 168px;
    white-space: nowrap;
    word-break: keep-all;
    font-variant-numeric: tabular-nums;
}

.family-picker-table-frame .patient-empty-row td {
    height: 110px;
    color: #5b6d74;
    font-weight: 800;
    text-align: center;
}

.family-picker-add {
    min-width: 58px;
    min-height: 32px;
    padding: 0 10px;
}

.family-picker-add:disabled {
    border-color: #b8d8ca;
    background: #edf4f1;
    color: #6a7b82;
}

.family-picker-selected {
    min-height: 0;
    overflow: auto;
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    border: 1px solid #d4e5df;
    border-radius: 6px;
    padding: 10px;
    background: #fbfefd;
}

.family-picker-empty {
    color: #6a7b82;
    font-size: 13px;
    font-weight: 800;
}

.family-picker-chip {
    max-width: 100%;
    display: inline-grid;
    grid-template-columns: minmax(0, 1fr) 24px;
    grid-template-rows: auto auto;
    column-gap: 7px;
    align-items: center;
    border: 1px solid #a9d8c1;
    border-radius: 7px;
    padding: 7px 7px 7px 9px;
    background: #f1fff7;
    color: #0a6f43;
}

.family-picker-chip strong,
.family-picker-chip small {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.family-picker-chip strong {
    font-size: 13px;
    font-weight: 900;
}

.family-picker-chip small {
    color: #5c766e;
    font-size: 11px;
    font-weight: 800;
}

.family-picker-chip button {
    grid-row: 1 / 3;
    grid-column: 2;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 999px;
    background: #dcefe6;
    color: #0a6f43;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}

.family-picker-card footer {
    display: flex;
    justify-content: flex-end;
    padding: 12px 18px;
    border-top: 1px solid #d6e9df;
    background: #ffffff;
}

.family-picker-card footer button {
    min-width: 110px;
    padding: 0 16px;
}

@media (max-width: 960px) {
    .family-picker-card {
        min-height: calc(100svh - 24px);
        width: calc(100vw - 24px);
        max-height: calc(100svh - 24px);
    }

    .family-picker-body {
        grid-template-columns: minmax(0, 1fr);
        overflow: auto;
    }

    .family-picker-panel,
    .family-picker-selected-panel {
        min-height: 260px;
    }
}

.newborn-registration-modal,
.newborn-registration-modal * {
    box-sizing: border-box;
}

.newborn-registration-modal {
    position: fixed;
    inset: 0;
    z-index: 145;
    display: none;
    place-items: center;
    padding: 18px;
    background: rgba(16, 32, 51, .28);
}

.newborn-registration-modal.is-open {
    display: grid;
}

.newborn-registration-card {
    width: min(820px, calc(100vw - 36px));
    max-height: calc(100svh - 36px);
    display: grid;
    grid-template-rows: auto minmax(0, auto);
    overflow: hidden;
    border: 1px solid #b8d8ca;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 22px 46px rgba(16, 32, 51, .22);
    color: #132d34;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.newborn-registration-card header {
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 18px;
    border-bottom: 1px solid #d6e9df;
    background: #f7fffb;
}

.newborn-registration-card header p,
.newborn-registration-card header h2 {
    margin: 0;
}

.newborn-registration-card header p {
    color: #4e6862;
    font-size: 12px;
    font-weight: 800;
}

.newborn-registration-card header h2 {
    color: #006d3f;
    font-size: 23px;
    font-weight: 900;
}

.newborn-registration-card header button {
    width: 38px;
    height: 38px;
    border: 1px solid #b8d8ca;
    border-radius: 6px;
    background: #ffffff;
    color: #16333a;
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
}

.newborn-registration-card form {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
}

.newborn-registration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
    padding: 18px;
}

.newborn-registration-grid label {
    min-width: 0;
    display: grid;
    gap: 6px;
    color: #007f70;
    font-size: 14px;
    font-weight: 900;
}

.newborn-registration-grid input,
.newborn-registration-grid select {
    width: 100%;
    height: 38px;
    min-width: 0;
    border: 1px solid #c8dbe6;
    border-radius: 6px;
    background: #ffffff;
    color: #10243a;
    font-size: 17px;
    font-weight: 800;
    padding: 0 10px;
}

.newborn-registration-grid input:focus,
.newborn-registration-grid select:focus {
    border-color: #0a9b61;
    outline: 2px solid rgba(10, 155, 97, .14);
}

.newborn-attached-record {
    grid-column: 1 / -1;
}

.newborn-registration-card footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 18px 16px;
    border-top: 1px solid #d6e9df;
    background: #ffffff;
}

.newborn-registration-card footer button {
    min-width: 110px;
    min-height: 40px;
    border: 1px solid #b8d8ca;
    border-radius: 6px;
    background: #ffffff;
    color: #0a5663;
    font-size: 16px;
    font-weight: 900;
}

.newborn-registration-card footer button.is-primary {
    border-color: #0a8f58;
    background: #0a9b61;
    color: #ffffff;
}

.newborn-registration-card button:disabled {
    cursor: wait;
    opacity: .62;
}

@media (max-width: 720px) {
    .newborn-registration-modal {
        padding: 12px;
    }

    .newborn-registration-card {
        width: calc(100vw - 24px);
    }

    .newborn-registration-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        padding: 14px;
    }

    .newborn-registration-card footer {
        flex-wrap: wrap;
        padding: 12px 14px 14px;
    }

    .newborn-registration-card footer button {
        flex: 1 1 140px;
    }
}

@media (max-width: 1320px), (max-height: 940px) {
    .patient-profile-modal .patient-profile-workspace {
        padding-bottom: 96px !important;
    }
}

@media (max-width: 760px) {
    .patient-profile-modal .patient-profile-workspace {
        padding-bottom: 132px !important;
    }
}

/* Registration card strip: add newborn action before transfer without squeezing fields. */
.registration-card-strip {
    grid-template-columns:
        70px
        minmax(118px, .72fr)
        minmax(128px, .7fr)
        minmax(128px, .7fr)
        minmax(96px, .54fr)
        minmax(360px, 1.5fr)
        100px
        112px !important;
}

.registration-card-strip .registration-newborn,
.registration-card-strip .registration-transfer {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    padding: 0 8px !important;
    border-radius: 7px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.registration-card-strip .registration-newborn {
    border: 1px solid #5fc68d !important;
    background: #f2fff7 !important;
    color: #008f47 !important;
    font-size: 18px !important;
}

.registration-card-strip .registration-transfer::after {
    font-size: 18px !important;
}

.registration-followup-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: -4px 22px 0;
    min-height: 34px;
}

.registration-followup-actions[hidden] {
    display: none !important;
}

.registration-followup-actions .registration-newborn,
.registration-followup-actions .registration-transfer {
    width: 112px !important;
    min-width: 112px !important;
    height: 34px !important;
    padding: 0 10px !important;
    border-radius: 7px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.registration-followup-actions .registration-newborn {
    border: 1px solid #5fc68d !important;
    background: #f2fff7 !important;
    color: #008f47 !important;
    font-size: 15px !important;
}

.registration-followup-actions .registration-transfer::after {
    font-size: 15px !important;
}

@media (max-width: 1320px), (max-height: 940px) {
    .registration-card-strip {
        grid-template-columns:
            70px
            minmax(84px, .68fr)
            minmax(78px, .62fr)
            minmax(78px, .62fr)
            minmax(62px, .48fr)
            minmax(220px, 1.35fr)
            78px
            78px !important;
        gap: 6px 8px !important;
    }

    .registration-card-strip .registration-newborn,
    .registration-card-strip .registration-transfer {
        height: 30px !important;
        padding: 0 5px !important;
    }

    .registration-card-strip .registration-newborn,
    .registration-card-strip .registration-transfer::after {
        font-size: 13px !important;
    }

    .registration-followup-actions {
        margin: -2px 14px 0;
        min-height: 30px;
    }

    .registration-followup-actions .registration-newborn,
    .registration-followup-actions .registration-transfer {
        width: 78px !important;
        min-width: 78px !important;
        height: 30px !important;
        padding: 0 5px !important;
    }

    .registration-followup-actions .registration-newborn,
    .registration-followup-actions .registration-transfer::after {
        font-size: 13px !important;
    }
}

@media (max-width: 1120px), (max-height: 760px) {
    .registration-card-strip {
        grid-template-columns:
            70px
            minmax(72px, .62fr)
            minmax(70px, .58fr)
            minmax(70px, .58fr)
            minmax(56px, .44fr)
            minmax(190px, 1.2fr)
            70px
            70px !important;
    }

    .registration-card-strip .registration-newborn,
    .registration-card-strip .registration-transfer::after {
        font-size: 12px !important;
    }
}

.registration-sheet.configurable-visit-table th,
.registration-sheet.configurable-visit-table td,
.outpatient-grid.configurable-visit-table th,
.outpatient-grid.configurable-visit-table td {
    width: auto !important;
}

.registration-table-frame.configurable-visit-table-frame {
    overflow: auto !important;
}

.configurable-visit-table th[data-table-column] {
    position: relative;
    cursor: grab;
    user-select: none;
}

.configurable-visit-table.is-column-dragging th[data-table-column] {
    cursor: grabbing;
}

.configurable-visit-table th.is-drag-over {
    background: #cfe5d8;
}

.configurable-visit-table th.is-drag-over::before,
.configurable-visit-table th.is-drag-over.is-drop-after::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 3px;
    background: #166f3d;
}

.configurable-visit-table th.is-drag-over::before {
    left: 0;
}

.configurable-visit-table th.is-drag-over.is-drop-after::before {
    display: none;
}

.configurable-visit-table th.is-drag-over.is-drop-after::after {
    right: 0;
}

.configurable-visit-table .table-column-label {
    pointer-events: none;
}

.configurable-visit-table .table-column-resizer {
    position: absolute;
    top: 0;
    right: -4px;
    z-index: 3;
    width: 9px;
    height: 100%;
    cursor: col-resize;
    touch-action: none;
}

.configurable-visit-table .table-column-resizer::after {
    content: "";
    position: absolute;
    top: 20%;
    bottom: 20%;
    left: 4px;
    width: 1px;
    background: rgba(22, 75, 50, .24);
}

.is-table-column-resizing,
.is-table-column-resizing * {
    cursor: col-resize !important;
    user-select: none !important;
}

/* Employee account setting page. */
.employee-account-page {
    --employee-accent: #009b86;
    --employee-accent-dark: #007f78;
    --employee-ink: #071735;
    --employee-muted: #6a7f93;
    --employee-line: #d9e5ea;
    --employee-soft: #eef9f7;
    --employee-danger: #ff2b1d;
    padding: 14px 18px;
}

.employee-account-layout {
    display: grid;
    grid-template-columns: minmax(240px, 282px) minmax(0, 1fr);
    gap: 16px;
    height: 100%;
    min-height: 0;
}

.employee-directory,
.employee-editor {
    min-height: 0;
}

.employee-directory {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 0;
    border-color: var(--employee-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, .98);
}

.employee-directory-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 56px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--employee-line);
}

.employee-directory-head h2,
.employee-editor-head h1,
.employee-role-card h2 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--employee-ink);
    font-weight: 900;
    letter-spacing: 0;
}

.employee-directory-head h2 {
    color: var(--employee-accent);
    font-size: 18px;
}

.employee-hide-inactive {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--employee-ink);
    font-size: 14px;
    font-weight: 800;
    white-space: nowrap;
}

.employee-hide-inactive input {
    width: 17px;
    height: 17px;
    accent-color: var(--employee-accent);
}

.employee-directory-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    color: var(--employee-ink);
    font-size: 15px;
}

.employee-directory-table thead {
    position: sticky;
    top: 0;
    z-index: 1;
}

.employee-directory-table th {
    height: 40px;
    border: 0;
    background: linear-gradient(180deg, #00a991 0%, #008f85 100%);
    color: #fff;
    font-weight: 900;
    text-align: left;
}

.employee-directory-table th,
.employee-directory-table td {
    padding: 0 16px;
}

.employee-directory-table th:first-child,
.employee-directory-table td:first-child {
    width: 86px;
}

.employee-directory-table tbody {
    display: block;
    overflow: auto;
    height: calc(100vh - 190px);
}

.employee-directory-table thead,
.employee-directory-table tbody tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.employee-directory-table td {
    height: 40px;
    border-right: 1px solid var(--employee-line);
    border-bottom: 1px solid var(--employee-line);
    background: #fff;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.employee-directory-table td:last-child {
    border-right: 0;
}

.employee-directory-table tr {
    cursor: pointer;
}

.employee-directory-table tr.is-active td {
    background: linear-gradient(90deg, rgba(0, 155, 134, .17) 0%, rgba(0, 155, 134, .06) 100%);
}

.employee-directory-table tr.is-inactive td {
    color: #8fa1b1;
}

.employee-editor {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.employee-editor-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 62px;
    margin-bottom: 12px;
}

.employee-editor-head h1 {
    font-size: 28px;
}

.employee-editor-head h1 .workbench-icon {
    color: #173f57;
    font-size: 30px;
}

.employee-editor-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.employee-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 92px;
    min-height: 44px;
    border: 1px solid var(--employee-accent);
    border-radius: 7px;
    padding: 0 18px;
    background: #fff;
    color: var(--employee-accent);
    font-size: 16px;
    font-weight: 900;
    white-space: nowrap;
}

.employee-action-button .workbench-icon {
    font-size: 18px;
}

.employee-action-button.is-primary {
    min-width: 150px;
    border-color: var(--employee-accent);
    background: linear-gradient(180deg, #16a58f 0%, #008f85 100%);
    color: #fff;
}

.employee-action-button.is-danger {
    border-color: var(--employee-danger);
    color: var(--employee-danger);
}

.employee-action-button:disabled {
    cursor: not-allowed;
    opacity: .58;
}

.employee-account-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: auto;
    padding-right: 2px;
}

.employee-card {
    border: 1px solid var(--employee-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 10px 28px rgba(7, 23, 53, .06);
}

.employee-basic-card {
    overflow: hidden;
}

.employee-section-tabs {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 54px;
    border-bottom: 1px solid var(--employee-line);
    padding: 9px 24px;
}

.employee-section-tabs button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    border: 1px solid transparent;
    border-radius: 7px;
    padding: 0 14px;
    background: transparent;
    color: var(--employee-accent);
    font-size: 16px;
    font-weight: 900;
}

.employee-section-tabs button.is-active {
    border-color: var(--employee-accent);
    background: #fff;
}

.employee-form-grid {
    display: grid;
    grid-template-columns: minmax(110px, 0.72fr) minmax(260px, 1.26fr) minmax(110px, .72fr) minmax(260px, 1.26fr);
    gap: 16px 18px;
    align-items: center;
    padding: 20px 34px 14px;
}

.employee-form-grid label,
.employee-field-group {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    grid-column: span 2;
    min-width: 0;
    margin: 0;
}

.employee-form-grid label > span:first-child,
.employee-field-group > span {
    color: var(--employee-ink);
    font-size: 15px;
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}

.employee-form-grid label.is-required > span:first-child::before {
    content: "*";
    margin-right: 6px;
    color: #ff1f12;
}

.employee-form-grid input[type="text"],
.employee-form-grid input[type="password"],
.employee-form-grid input[type="email"],
.employee-form-grid select,
.employee-password-field input,
.employee-date-field input {
    width: 100%;
    height: 38px;
    border: 1px solid var(--employee-line);
    border-radius: 6px;
    padding: 0 12px;
    background: #fff;
    color: var(--employee-ink);
    font-size: 15px;
    font-weight: 700;
}

.employee-form-grid input::placeholder {
    color: #a0aebe;
}

.employee-password-field,
.employee-date-field {
    position: relative;
    display: block;
    min-width: 0;
}

.employee-password-field input {
    padding-right: 42px;
}

.employee-password-field button,
.employee-date-field .workbench-icon {
    position: absolute;
    top: 50%;
    right: 13px;
    transform: translateY(-50%);
}

.employee-password-field button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 0;
    background: transparent;
    color: #24475d;
}

.employee-date-field .workbench-icon {
    color: #24475d;
    font-size: 18px;
    pointer-events: none;
}

.employee-status-controls,
.employee-radio-row {
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 0;
}

.employee-switch,
.employee-check,
.employee-radio-row label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--employee-ink);
    font-size: 15px;
    font-weight: 900;
    white-space: nowrap;
}

.employee-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.employee-switch span {
    position: relative;
    width: 48px;
    height: 24px;
    border-radius: 999px;
    background: #d9e5ea;
    transition: background .16s ease;
}

.employee-switch span::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(7, 23, 53, .18);
    transition: transform .16s ease;
}

.employee-switch input:checked + span {
    background: linear-gradient(180deg, #14a892 0%, #008f85 100%);
}

.employee-switch input:checked + span::after {
    transform: translateX(24px);
}

.employee-check input,
.employee-radio-row input {
    width: 18px;
    height: 18px;
    accent-color: var(--employee-accent);
}

.employee-specialty-row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    margin: 0 34px;
    border-top: 1px solid var(--employee-line);
    padding: 14px 0 16px;
}

.employee-specialty-title {
    display: grid;
    justify-items: end;
    gap: 2px;
    color: var(--employee-ink);
}

.employee-specialty-title strong {
    font-size: 15px;
}

.employee-specialty-title small {
    color: var(--employee-muted);
    font-size: 12px;
}

.employee-chip-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.employee-chip-row button,
.employee-role-grid button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 34px;
    border: 1px solid #cbdde2;
    border-radius: 6px;
    background: #fff;
    color: var(--employee-accent);
    font-weight: 900;
    white-space: nowrap;
    transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

.employee-chip-row button {
    min-width: 82px;
    padding: 0 18px;
    font-size: 15px;
}

.employee-chip-row button.is-selected,
.employee-role-grid button.is-selected {
    border-color: var(--employee-accent);
    background: linear-gradient(180deg, #16a58f 0%, #008f85 100%);
    color: #fff;
    box-shadow: 0 8px 16px rgba(0, 155, 134, .16);
}

.employee-chip-row .workbench-icon,
.employee-role-grid .workbench-icon {
    flex: 0 0 auto;
}

.employee-role-card {
    padding: 14px 16px;
}

.employee-role-card header {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 12px;
}

.employee-role-card h2 {
    color: var(--employee-accent);
    font-size: 17px;
}

.employee-role-card p {
    margin: 0;
    color: var(--employee-muted);
    font-size: 12px;
    font-weight: 800;
}

.employee-role-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(112px, 1fr));
    gap: 10px 12px;
}

.employee-role-grid button {
    min-width: 0;
    padding: 0 12px;
    font-size: 14px;
}

.employee-role-grid button span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.employee-account-page input:focus,
.employee-account-page select:focus,
.employee-account-page button:focus-visible,
.employee-directory-table tr:focus-visible {
    outline: 2px solid rgba(0, 155, 134, .22);
    outline-offset: 2px;
}

@media (max-width: 1280px) {
    .employee-form-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .employee-form-grid label,
    .employee-field-group {
        grid-template-columns: 96px minmax(0, 1fr);
    }

    .employee-role-grid {
        grid-template-columns: repeat(4, minmax(120px, 1fr));
    }
}

@media (max-width: 900px) {
    .employee-account-layout {
        grid-template-columns: 1fr;
    }

    .employee-directory-table tbody {
        height: 220px;
    }

    .employee-editor-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .employee-form-grid {
        grid-template-columns: 1fr;
        padding: 16px;
    }

    .employee-form-grid label,
    .employee-field-group,
    .employee-specialty-row {
        grid-template-columns: 1fr;
    }

    .employee-form-grid label > span:first-child,
    .employee-field-group > span,
    .employee-specialty-title {
        text-align: left;
        justify-items: start;
    }

    .employee-role-grid {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }
}

/* Settings workbench refresh: align settings pages with Registered/Outpatient. */
.settings-workspace {
    --settings-medical-green: #009b86;
    --settings-accent-strong: #007f79;
    --settings-ink: #1f3035;
    --settings-top: #17363a;
    --settings-panel: #edf6f4;
    --settings-surface: #ffffff;
    --settings-line: #c8d9d6;
    --settings-muted: #62747a;
    --settings-soft: #f5faf8;
    --settings-selected: #d8f0ea;
    min-height: calc(100vh - 38px);
    padding: 12px 14px 14px;
    background: #f4f8f7 !important;
    color: var(--settings-ink);
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
}

.settings-workspace,
.settings-workspace *,
.employee-account-page,
.employee-account-page * {
    box-sizing: border-box;
}

.settings-workspace button:hover,
.settings-workspace .system-setting-card:hover,
.settings-workspace .payment-product-category-card:hover {
    transform: none;
}

.settings-workspace .settings-hero {
    min-height: 52px;
    align-items: center;
    margin: -12px -14px 12px;
    padding: 0 14px;
    border-bottom: 1px solid var(--settings-line);
    background: linear-gradient(180deg, #fbfefd 0%, var(--settings-panel) 100%);
}

.settings-workspace .settings-hero h1 {
    color: var(--settings-top);
    font-size: 24px;
    line-height: 1.15;
}

.settings-workspace .eyebrow,
.settings-workspace .settings-hero p:not(.eyebrow) {
    margin: 0 0 2px;
    color: var(--settings-muted);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
}

.settings-workspace .settings-hero .eyebrow {
    display: none;
}

.settings-workspace .settings-hero p:not(.eyebrow) {
    display: none;
}

.settings-workspace .primary-setting-action,
.settings-workspace .secondary-setting-action,
.settings-workspace .settings-block-head button,
.settings-workspace .payment-product-actions button,
.settings-workspace .employee-action-button {
    min-height: 38px;
    border-radius: 6px;
    box-shadow: 0 1px 0 rgba(28, 62, 50, .08);
}

.settings-workspace .primary-setting-action,
.settings-workspace .employee-action-button.is-primary {
    border-color: var(--settings-accent-strong);
    background: linear-gradient(180deg, #00aa99 0%, var(--settings-accent-strong) 100%);
    color: #f8fff9;
}

.settings-workspace .secondary-setting-action,
.settings-workspace .settings-block-head button,
.settings-workspace .payment-product-actions button,
.settings-workspace .employee-action-button {
    border-color: var(--settings-line);
    background: #ffffff;
    color: var(--settings-ink);
}

.settings-workspace .secondary-setting-action:hover,
.settings-workspace .settings-block-head button:hover,
.settings-workspace .payment-product-actions button:hover,
.settings-workspace .employee-action-button:hover {
    border-color: var(--settings-medical-green);
    background: #e5f5f1;
    color: var(--settings-accent-strong);
}

.settings-workspace .secondary-setting-action.is-danger,
.settings-workspace .employee-action-button.is-danger,
.settings-workspace #deleteParameterItem,
.settings-workspace #deleteClinicDrug {
    border-color: #e0aaa3;
    color: #a9463e;
}

.settings-workspace .settings-block,
.settings-workspace .settings-sidebar,
.settings-workspace .settings-panel,
.settings-workspace .system-setting-card,
.settings-workspace .payment-product-category-card,
.settings-workspace .sms-setting-card,
.settings-workspace .permission-context-card,
.settings-workspace .permission-template-bar,
.settings-workspace .parameter-presentation-panel,
.settings-workspace .parameter-list-panel,
.settings-workspace .parameter-editor-form,
.settings-workspace .sequence-logic-panel,
.settings-workspace .clinic-drug-panel,
.settings-workspace .clinic-drug-source-panel,
.settings-workspace .clinic-drug-local-panel,
.settings-workspace .clinic-drug-editor-form,
.settings-workspace .nhi-drug-import-panel,
.settings-workspace .nhi-drug-latest-panel,
.settings-workspace .nhi-drug-result-grid > div,
.settings-workspace .nhi-drug-summary-item {
    border: 1px solid var(--settings-line);
    border-radius: 6px;
    background: var(--settings-surface);
    box-shadow: none;
}

.settings-workspace .parameter-maintenance-block,
.settings-workspace .payment-product-panel,
.settings-workspace .payment-product-workspace {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.settings-workspace .parameter-maintenance-block {
    padding: 0;
}

.settings-workspace .parameter-crud-panel,
.settings-workspace .payment-product-main,
.settings-workspace .payment-product-lower-grid,
.settings-workspace .payment-product-registration-layout {
    gap: 8px;
}

.settings-workspace .parameter-crud-panel {
    padding: 0;
}

.settings-workspace.parameter-settings-page.is-parameter-table-detail .parameter-crud-panel {
    grid-template-rows: minmax(0, 1fr);
    gap: 0;
}

.settings-workspace.parameter-settings-page.is-parameter-table-detail .parameter-crud-head.is-toolbar-only {
    min-height: 38px;
    justify-content: flex-end;
    margin-bottom: 6px;
}

.settings-workspace.parameter-settings-page.is-parameter-table-detail .parameter-list-panel header {
    min-height: 38px;
    justify-content: flex-end;
    padding: 6px 8px;
}

.settings-workspace.parameter-settings-page.is-parameter-table-detail .parameter-list-panel header > div {
    display: none;
}

.settings-workspace .payment-product-page:not(.payment-product-hub) .payment-product-head > div:first-child,
.settings-workspace .payment-product-page:not(.payment-product-hub) .payment-product-rules {
    display: none;
}

.settings-workspace .payment-product-page:not(.payment-product-hub) .payment-product-head {
    justify-content: flex-end;
    margin-bottom: 6px;
}

.settings-workspace .payment-product-page:not(.payment-product-hub) .payment-product-lower-grid,
.settings-workspace .payment-product-page:not(.payment-product-hub) .payment-product-registration-layout {
    grid-template-columns: minmax(0, 1fr);
}

.settings-workspace .system-setting-hub,
.settings-workspace .payment-product-category-grid {
    gap: 10px;
}

.settings-workspace .system-setting-card,
.settings-workspace .payment-product-category-card {
    min-height: 116px;
    padding: 16px;
    background: var(--settings-surface);
}

.settings-workspace .system-setting-card::before {
    top: 14px;
    height: 48px;
    background: var(--settings-medical-green);
}

.settings-workspace .payment-product-category-card span {
    width: max-content;
    border-radius: 6px;
    padding: 4px 8px;
    background: #e5f5f1;
    color: var(--settings-accent-strong);
}

.settings-workspace .system-setting-card strong,
.settings-workspace .payment-product-category-card strong {
    margin-top: 10px;
    color: var(--settings-top);
    font-size: 20px;
}

.settings-workspace .system-setting-card small,
.settings-workspace .payment-product-category-card small {
    display: none;
}

.settings-workspace .system-setting-card.is-primary,
.settings-workspace .payment-product-category-card.is-primary,
.settings-workspace .settings-nav-item.is-active,
.settings-workspace .parameter-category-list button.is-active,
.settings-workspace .permission-entity-button.is-active,
.settings-workspace .staff-list-button.is-active {
    border-color: var(--settings-medical-green);
    background: var(--settings-selected);
    color: var(--settings-accent-strong);
    box-shadow: inset 4px 0 0 var(--settings-medical-green);
}

.settings-workspace table th,
.settings-workspace .payment-product-table th,
.settings-workspace .payment-product-subsidy-table th,
.settings-workspace .parameter-table th,
.settings-workspace .clinic-drug-table th,
.settings-workspace .control-permission-table th,
.employee-account-page .employee-directory-table th {
    background: var(--settings-panel);
    border-color: var(--settings-line);
    color: var(--settings-top);
}

.settings-workspace table td,
.settings-workspace .payment-product-table td,
.settings-workspace .payment-product-subsidy-table td,
.settings-workspace .parameter-table td,
.settings-workspace .clinic-drug-table td,
.settings-workspace .control-permission-table td,
.employee-account-page .employee-directory-table td {
    border-color: #dce7e4;
    color: var(--settings-ink);
}

.settings-workspace table tbody tr:nth-child(even),
.settings-workspace .payment-product-table tbody tr:nth-child(even),
.settings-workspace .payment-product-subsidy-table tbody tr:nth-child(even),
.settings-workspace .clinic-drug-table tbody tr:nth-child(even),
.employee-account-page .employee-directory-table tbody tr:nth-child(even) {
    background: var(--settings-soft);
}

.settings-workspace table tbody tr.is-selected,
.settings-workspace .payment-product-table tbody tr.is-selected,
.settings-workspace .payment-product-table tbody tr.is-selected td,
.settings-workspace .parameter-table tbody tr.is-selected,
.settings-workspace .clinic-drug-table tbody tr.is-selected,
.employee-account-page .employee-directory-table tbody tr.is-active {
    background: var(--settings-selected);
    box-shadow: inset 4px 0 0 var(--settings-medical-green);
}

.settings-workspace input,
.settings-workspace select,
.settings-workspace textarea,
.settings-workspace .payment-product-table input[type="text"],
.settings-workspace .payment-product-detail-grid input[type="text"],
.settings-workspace .payment-product-subsidy-table input[type="text"],
.employee-account-page input,
.employee-account-page select,
.employee-account-page textarea {
    border-color: var(--settings-line);
    border-radius: 6px;
    background: #ffffff;
    color: var(--settings-ink);
}

.settings-workspace input:focus,
.settings-workspace select:focus,
.settings-workspace textarea:focus,
.employee-account-page input:focus,
.employee-account-page select:focus,
.employee-account-page textarea:focus,
.employee-account-page button:focus-visible {
    border-color: var(--settings-medical-green);
    outline: 2px solid rgba(0, 155, 134, .22);
    outline-offset: 1px;
    box-shadow: none;
}

.settings-workspace input[type="checkbox"],
.settings-workspace input[type="radio"],
.employee-account-page input[type="checkbox"],
.employee-account-page input[type="radio"] {
    accent-color: var(--settings-medical-green);
}

.settings-workspace .payment-product-mini-switch input:checked + span,
.employee-account-page .employee-switch input:checked + span {
    border-color: var(--settings-medical-green);
    background: var(--settings-medical-green);
}

.settings-workspace .payment-product-head,
.settings-workspace .settings-block-head,
.settings-workspace .parameter-list-panel header,
.settings-workspace .sequence-logic-panel > header,
.settings-workspace .sequence-availability-panel > header,
.settings-workspace .clinic-drug-head,
.settings-workspace .clinic-drug-search-form,
.settings-workspace .sms-setting-card header,
.settings-workspace .employee-directory-head {
    border-color: var(--settings-line);
    background: var(--settings-panel);
}

.settings-workspace .payment-product-table-frame,
.settings-workspace .clinic-drug-table-frame,
.settings-workspace .parameter-table-frame,
.settings-workspace .control-permission-table-frame {
    border-color: var(--settings-line);
    border-radius: 6px;
}

.settings-workspace .clinic-drug-layout {
    gap: 8px;
    padding: 8px;
}

.settings-workspace .clinic-drug-head.is-compact {
    min-height: 36px;
    padding: 6px 8px;
}

.settings-workspace #clinicDrugStatus,
.settings-workspace #sequenceLogicStatus,
.settings-workspace #parameterListCount,
.settings-workspace .sms-setting-badge,
.settings-workspace .staff-status-pill {
    border-color: var(--settings-line);
    background: #e5f5f1;
    color: var(--settings-accent-strong);
}

.settings-workspace .nhi-drug-dropzone {
    border-color: var(--settings-line);
    background: var(--settings-surface);
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .parameter-crud-panel {
    grid-template-rows: minmax(0, 1fr);
    gap: 0;
    padding: 0;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-panel {
    grid-column: 1 / -1;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0;
    border: 0;
    border-radius: 0;
    background: #f7fbf8;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    padding: 8px;
    border-bottom: 1px solid #b9d8c7;
    background: #ffffff;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar-actions {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-freeze-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-mini-button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid #9cc7ae;
    border-radius: 4px;
    padding: 0 12px;
    background: linear-gradient(#ffffff, #f7fbf8);
    color: #0b7042;
    font-size: 15px;
    font-weight: 900;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(17, 75, 45, .08);
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button:hover,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button:hover,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-freeze-button:hover,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-mini-button:hover {
    border-color: #008f63;
    background: #e8f6ed;
    color: #006949;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button.is-danger {
    border-color: #f0aaa6;
    color: #d9272e;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-update-date {
    display: grid;
    grid-template-columns: auto 128px auto;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #1f3329;
    font-size: 15px;
    font-weight: 900;
    white-space: nowrap;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-update-date input {
    height: 36px;
    text-align: center;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(230px, 1fr) auto minmax(220px, .95fr) auto;
    gap: 10px;
    padding: 10px;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel {
    min-height: 0;
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0;
    border: 1px solid #b9d8c7;
    border-radius: 6px;
    background: #f7fbf8;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-section-badge {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin: -1px 14px 0 0;
    border-radius: 0 0 10px 0;
    padding: 12px 22px;
    background: linear-gradient(135deg, #0c8a4d, #006835);
    color: #ffffff;
    font-size: 26px;
    font-weight: 950;
    letter-spacing: 0;
    box-shadow: 6px 8px 16px rgba(0, 105, 73, .12);
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid #d4e6d9;
    background: #fbfdfb;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar > span {
    flex: 0 0 auto;
    color: #1f3329;
    font-size: 18px;
    font-weight: 900;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar select {
    width: 128px;
    height: 38px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar input[type="search"] {
    flex: 1 1 260px;
    min-width: 180px;
    height: 38px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button {
    min-width: 74px;
    background: linear-gradient(#0d8954, #006c3f);
    color: #ffffff;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-freeze-button {
    margin-left: auto;
    min-width: 118px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table-frame {
    grid-column: 1 / -1;
    grid-row: 2;
    min-height: 0;
    border: 0;
    border-top: 1px solid #d4e6d9;
    border-radius: 0;
    background: #ffffff;
    overflow: auto;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-table {
    min-width: 1360px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-table {
    min-width: 1420px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-table th:nth-child(1),
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-table th:nth-child(1) {
    width: 64px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-table th:nth-child(2) {
    width: 130px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-table th:nth-child(3) {
    width: 100px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-table th:nth-child(4) {
    width: 270px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-table th:nth-child(5) {
    width: 300px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-table th:nth-child(2) {
    width: 100px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-table th:nth-child(3) {
    width: 250px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-table th:nth-child(6) {
    width: 150px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-table th:nth-child(11) {
    width: 260px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td {
    height: 36px;
    border-right: 1px solid #d4e6d9;
    border-bottom: 1px solid #d4e6d9;
    padding: 6px 8px;
    color: #101d18;
    text-align: center;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient(#f6fbf4, #e8f3e8);
    color: #142b1d;
    font-size: 18px;
    font-weight: 950;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr:nth-child(even) {
    background: #f5faf6;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr.is-selected,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr.is-selected td {
    background: #d9f0e6;
    box-shadow: none;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-check-cell {
    text-align: center;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-check-cell input {
    width: 18px;
    height: 18px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table .is-numeric {
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip {
    display: none;
    grid-template-columns: 120px 150px minmax(220px, 1fr) minmax(240px, 1fr) 130px 130px minmax(220px, .8fr) auto;
    align-items: end;
    gap: 8px;
    border: 1px solid #b9d8c7;
    border-radius: 6px;
    padding: 10px;
    background: #ffffff;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip.is-open {
    display: grid;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip label,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-checkbox-control,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-filter-field {
    min-width: 0;
    display: grid;
    gap: 5px;
    margin: 0;
    color: #0c704c;
    font-size: 13px;
    font-weight: 900;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip .clinic-drug-wide-field {
    grid-column: auto;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip input,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip textarea {
    min-height: 36px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip textarea {
    resize: none;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip footer {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 6px;
    padding: 0;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-panel .clinic-drug-query-bar {
    flex-wrap: wrap;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-checkbox-control {
    grid-auto-flow: column;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-filter-field {
    grid-template-columns: auto 120px;
    align-items: center;
    margin-left: 8px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-mini-button {
    min-width: 58px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #b9d8c7;
    border-radius: 6px;
    padding: 11px 14px;
    background: linear-gradient(#fbfdfb, #edf7ef);
    color: #1f3329;
    font-size: 15px;
    font-weight: 900;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote #clinicDrugStatus {
    margin-left: auto;
}

@media (max-width: 1280px) {
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-update-date {
        grid-column: 1;
        justify-self: start;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-section-badge {
        font-size: 21px;
        padding: 10px 18px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel {
        grid-template-columns: 170px minmax(0, 1fr);
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar > span,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td {
        font-size: 14px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th {
        font-size: 15px;
    }
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail {
    height: calc(100vh - 38px);
    min-height: 0;
    padding: 0;
    overflow: hidden;
    background: #f7fbf8 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .settings-hero {
    display: none;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .setting-placeholder-panel.is-active,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .settings-block.parameter-maintenance-block,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .parameter-settings-content,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .parameter-crud-panel,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .parameter-crud-shell {
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-panel {
    height: 100%;
    border: 0;
    border-radius: 0;
    background: #f8fbf8;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar {
    padding: 8px 12px;
    gap: 8px;
    border-bottom: 1px solid #b5d6c4;
    background: #ffffff;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar-actions {
    gap: 5px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-freeze-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-mini-button {
    min-height: 34px;
    border-radius: 4px;
    padding: 0 10px;
    color: #087343;
    font-size: 15px;
    font-weight: 900;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button .workbench-icon,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button .workbench-icon,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote .workbench-icon {
    width: 20px;
    height: 20px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
    grid-template-rows: minmax(220px, 1fr) auto minmax(220px, 1fr) 50px;
    gap: 9px;
    padding: 10px 12px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel {
    grid-template-columns: 205px minmax(0, 1fr);
    border-color: #b6d7c3;
    border-radius: 5px;
    background: #fbfdfb;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-section-badge {
    min-width: 185px;
    margin: -1px 12px 0 -1px;
    border-radius: 0 0 10px 0;
    padding: 12px 20px;
    font-size: 26px;
    line-height: 1.05;
    text-align: left;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar {
    min-height: 58px;
    padding: 8px 10px;
    gap: 8px;
    background: #fbfdfb;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar > span {
    font-size: 18px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar select,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar input[type="search"],
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-update-date input,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-filter-field select {
    border: 1px solid #b9d2c2;
    border-radius: 4px;
    background: #ffffff;
    color: #14251d;
    font-size: 17px;
    font-weight: 800;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table-frame {
    border-top-color: #c9dfd0;
    background: #ffffff;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td {
    height: 35px;
    border-color: #cfe2d6;
    padding: 5px 8px;
    font-size: 16px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th {
    background: linear-gradient(#f8fcf6, #eaf4e8);
    color: #111f18;
    font-size: 17px;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr:nth-child(even) {
    background: #f4f9f4;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr.is-selected,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr.is-selected td {
    background: #caeadc;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip {
    min-height: 68px;
    border-color: #b6d7c3;
    background: #ffffff;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote {
    min-height: 48px;
    border-color: #b6d7c3;
    border-radius: 5px;
    background: linear-gradient(#f8fcf7, #edf7ed);
    font-size: 16px;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar {
        grid-template-columns: minmax(0, 1fr) auto auto;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-freeze-button,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-mini-button {
        padding: 0 8px;
        font-size: 13px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-update-date {
        grid-template-columns: auto 104px auto;
        font-size: 13px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
        grid-template-rows: minmax(190px, 1fr) auto minmax(190px, 1fr) 46px;
        padding: 8px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel {
        grid-template-columns: 165px minmax(0, 1fr);
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-section-badge {
        min-width: 150px;
        padding: 10px 16px;
        font-size: 22px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar > span {
        font-size: 15px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td {
        height: 31px;
        font-size: 13px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th {
        font-size: 14px;
    }
}

/* Keep Registered/Outpatient header utility buttons visible after the page-level RWD locks. */
.registered-layout-body .registered-waiting-screen .workbench-status,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-status {
    grid-template-columns: minmax(300px, max-content) minmax(180px, 1fr) max-content !important;
    overflow: visible !important;
}

.registered-layout-body .registered-waiting-screen .workbench-metrics,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics {
    overflow: hidden !important;
}

.registered-layout-body .registered-waiting-screen .registered-header-actions,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-header-actions {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    overflow: visible !important;
    justify-content: flex-end !important;
    gap: 10px !important;
}

.registered-layout-body .registered-waiting-screen .appointment-header-button,
.registered-layout-body .registered-waiting-screen .billing-header-button,
.registered-layout-body .registered-waiting-screen .diagnosis-header-button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .appointment-header-button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .billing-header-button,
.outpatient-body.registered-layout-body .outpatient-waiting-screen .diagnosis-header-button {
    flex: 0 0 auto !important;
    min-width: 108px !important;
    height: 34px !important;
    position: relative !important;
    justify-content: center !important;
    padding: 0 11px !important;
}

@media (max-width: 1500px), (max-height: 820px) {
    .registered-layout-body .registered-waiting-screen .workbench-status,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-status {
        grid-template-columns: minmax(248px, max-content) minmax(120px, 1fr) max-content !important;
        gap: 10px !important;
        padding: 0 12px !important;
    }

    .registered-layout-body .registered-waiting-screen .workbench-metrics span:first-child,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-metrics span:first-child {
        display: none !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-header-actions,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-header-actions {
        gap: 7px !important;
        font-size: 13px !important;
    }

    .registered-layout-body .registered-waiting-screen .appointment-header-button,
    .registered-layout-body .registered-waiting-screen .billing-header-button,
    .registered-layout-body .registered-waiting-screen .diagnosis-header-button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .appointment-header-button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .billing-header-button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .diagnosis-header-button {
        min-width: 92px !important;
        height: 32px !important;
        gap: 5px !important;
        padding: 0 8px !important;
    }
}

@media (max-width: 1240px) {
    .registered-layout-body .registered-waiting-screen .workbench-status,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .workbench-status {
        grid-template-columns: minmax(210px, max-content) minmax(0, 1fr) max-content !important;
        gap: 7px !important;
    }

    .registered-layout-body .registered-waiting-screen .registered-header-actions,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .registered-header-actions {
        gap: 5px !important;
        font-size: 12px !important;
    }

    .registered-layout-body .registered-waiting-screen .appointment-header-button,
    .registered-layout-body .registered-waiting-screen .billing-header-button,
    .registered-layout-body .registered-waiting-screen .diagnosis-header-button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .appointment-header-button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .billing-header-button,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .diagnosis-header-button {
        min-width: 34px !important;
        width: 34px !important;
        padding: 0 !important;
    }

    .registered-layout-body .registered-waiting-screen .appointment-header-button span,
    .registered-layout-body .registered-waiting-screen .billing-header-button span,
    .registered-layout-body .registered-waiting-screen .diagnosis-header-button span,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .appointment-header-button span,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .billing-header-button span,
    .outpatient-body.registered-layout-body .outpatient-waiting-screen .diagnosis-header-button span {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
    }
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table:not(.is-icd9-mapping-table) th:nth-child(3),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table:not(.is-icd9-mapping-table) td:nth-child(3) {
    width: 280px !important;
    max-width: 280px !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table:not(.is-icd9-mapping-table) th:nth-child(3),
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table:not(.is-icd9-mapping-table) td:nth-child(3) {
        width: 220px !important;
        max-width: 220px !important;
    }
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table {
    table-layout: fixed !important;
    min-width: 1780px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(1),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(1) {
    width: 54px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(2),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(2) {
    width: 118px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(3),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(3) {
    width: 300px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(4),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(4) {
    width: 430px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(5),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(5) {
    width: 90px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(6),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(6),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(7),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(7),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(8),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(8),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(9),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(9),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(10),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(10),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th:nth-child(11),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td:nth-child(11) {
    width: 105px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table th,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table.is-icd9-mapping-table td {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

/* Final layout pass for ClinicDrug / ClinicDiagnosis maintenance pages. */
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(250px, .92fr) minmax(250px, .92fr) 52px !important;
    align-items: stretch !important;
    min-height: calc(100vh - 178px) !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote {
    grid-column: 1 !important;
    min-width: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-panel {
    grid-row: 1 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-panel {
    grid-row: 2 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote {
    grid-row: 3 !important;
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table-frame {
    min-height: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-table {
    min-width: 1320px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-table {
    min-width: 1340px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar {
    flex-wrap: nowrap !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-freeze-button {
    margin-left: auto !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs {
    grid-template-columns: 190px 260px 230px 210px minmax(0, 1fr) !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs .clinic-diagnosis-toolbar-actions {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(230px, .95fr) 44px minmax(220px, .9fr) 138px !important;
    min-height: calc(100vh - 170px) !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-source-panel {
    grid-row: 1 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-transfer-actions {
    grid-row: 2 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel {
    grid-row: 3 !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
        min-height: calc(100vh - 148px) !important;
        grid-template-rows: minmax(190px, .9fr) minmax(190px, .9fr) 42px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar {
        min-height: 42px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs {
        grid-template-columns: 150px 220px 190px 172px minmax(0, 1fr) !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
        min-height: calc(100vh - 146px) !important;
        grid-template-rows: minmax(170px, .9fr) 38px minmax(170px, .9fr) 118px !important;
    }

}

/* Final overrides for HIS setting maintenance screens. Keep the first view as the working table surface. */
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip:not(.is-open),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip:not(.is-open) {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip.is-open,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip.is-open {
    display: grid !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
    grid-template-rows: minmax(260px, 1fr) auto minmax(260px, 1fr) 44px !important;
    padding: 8px 10px !important;
    gap: 8px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-panel,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-panel {
    min-height: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar {
    min-height: 54px !important;
    padding: 7px 10px !important;
    background: #fbfdfb !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar-actions {
    align-items: center !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-freeze-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-mini-button {
    min-width: 82px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 12px !important;
    border-color: #9fc9b0 !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    color: #0b6d43 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button {
    min-width: 72px !important;
    background: #08743f !important;
    color: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-section-badge {
    width: 190px !important;
    min-height: 52px !important;
    align-items: center !important;
    border-radius: 0 8px 8px 0 !important;
    background: linear-gradient(180deg, #0d8b50, #006f41) !important;
    font-size: 26px !important;
    letter-spacing: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel {
    grid-template-columns: 200px minmax(0, 1fr) !important;
    grid-template-rows: 66px minmax(0, 1fr) !important;
    border-color: #b7d8c6 !important;
    border-radius: 7px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar {
    min-height: 66px !important;
    padding: 8px 12px !important;
    background: #fbfefb !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar > span,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-filter-field > span {
    font-size: 17px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar select,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar input[type="search"],
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-filter-field select {
    height: 40px !important;
    font-size: 16px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar select {
    flex-basis: 140px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar input[type="search"] {
    flex: 0 1 320px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table-frame {
    border-top-color: #cfe3d7 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td {
    height: 31px !important;
    padding: 4px 8px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th {
    background: linear-gradient(#f8fcf8, #edf7ef) !important;
    color: #13291f !important;
    font-weight: 950 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr:nth-child(even) td {
    background: #f5faf6 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote {
    min-height: 44px !important;
    background: linear-gradient(#f5fbf6, #edf7ef) !important;
    color: #163527 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
    grid-template-rows: minmax(245px, 1fr) auto minmax(245px, 1fr) auto 40px !important;
    padding: 8px 10px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-data-panel {
    border-color: #b7d8c6 !important;
    border-radius: 7px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar {
    flex-wrap: nowrap !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar input[type="search"] {
    flex: 0 1 330px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table td {
    height: 31px !important;
    font-size: 15px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table tbody tr:nth-child(even) td {
    background: #f5faf6 !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
        grid-template-rows: minmax(180px, 1fr) auto minmax(180px, 1fr) 36px !important;
        padding: 6px !important;
        gap: 6px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel {
        grid-template-columns: 154px minmax(0, 1fr) !important;
        grid-template-rows: 50px minmax(0, 1fr) !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-section-badge {
        width: 150px !important;
        min-height: 50px !important;
        font-size: 20px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar {
        min-height: 50px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table td {
        height: 27px !important;
        font-size: 12px !important;
    }
}

/* Keep measurement labels compact; blood-pressure labels need a wider lane. */
.registration-entry-card .registration-entry-vitals {
    grid-template-columns:
        minmax(82px, .92fr)
        minmax(82px, .92fr)
        minmax(82px, .92fr)
        minmax(74px, .82fr)
        minmax(82px, .92fr)
        minmax(122px, 1.14fr)
        minmax(122px, 1.14fr)
        minmax(82px, .92fr) !important;
    gap: 8px 14px !important;
}

.registration-entry-card .registration-entry-vitals label {
    grid-template-columns: max-content minmax(42px, 1fr) !important;
    gap: 6px !important;
}

.registration-entry-card .registration-entry-vitals span,
.soap-vitals-row span {
    white-space: nowrap !important;
    word-break: keep-all !important;
    letter-spacing: 0 !important;
}

.registration-entry-card .registration-entry-vitals input {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.soap-vitals-row {
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)) !important;
    gap: 6px !important;
}

.soap-vitals-row label {
    grid-template-columns: max-content minmax(38px, 1fr) !important;
}

.soap-vitals-row span {
    padding-left: 8px !important;
    padding-right: 8px !important;
}

.soap-vitals-row input {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

@media (max-width: 1366px), (max-height: 760px) {
    .registration-entry-card .registration-entry-vitals {
        grid-template-columns:
            minmax(68px, .92fr)
            minmax(68px, .92fr)
            minmax(68px, .92fr)
            minmax(62px, .8fr)
            minmax(68px, .92fr)
            minmax(102px, 1.16fr)
            minmax(102px, 1.16fr)
            minmax(68px, .92fr) !important;
        gap: 5px 10px !important;
    }

    .registration-entry-card .registration-entry-vitals label {
        grid-template-columns: max-content minmax(34px, 1fr) !important;
        gap: 4px !important;
    }

    .soap-vitals-row {
        grid-template-columns: repeat(auto-fit, minmax(68px, 1fr)) !important;
        gap: 4px !important;
    }

    .soap-vitals-row label {
        grid-template-columns: max-content minmax(28px, 1fr) !important;
    }

    .soap-vitals-row span {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

/* Absolute final override: the local diagnosis option row belongs to the page bottom, outside the local panel. */
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
    grid-template-rows: minmax(225px, 1fr) auto minmax(225px, 1fr) auto auto !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel {
    grid-template-rows: auto auto minmax(0, 1fr) !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-table-frame {
    grid-row: 3 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-editor-strip {
    grid-row: 4 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options {
    grid-column: 1 !important;
    grid-row: 5 !important;
    min-height: 42px !important;
    display: grid !important;
    grid-template-columns: 180px 180px 180px minmax(300px, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 6px 14px !important;
    border: 1px solid #b7d8c6 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options.is-hidden {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options label {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: 6px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options span {
    color: #007c68 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options select,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options input {
    width: 100% !important;
    height: 28px !important;
    min-width: 0 !important;
    padding: 2px 8px !important;
    border: 1px solid #c5dce8 !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    color: #10223a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
        grid-template-rows: minmax(165px, 1fr) auto minmax(165px, 1fr) auto auto !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options {
        grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
        min-height: 34px !important;
        padding: 4px 10px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-code-map-field {
        grid-column: 1 / -1 !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options select,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options input {
        height: 26px !important;
        font-size: 12px !important;
    }
}

/* True final layout: local diagnosis options live at the bottom of the page, outside the local table panel. */
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
    grid-template-rows: minmax(225px, 1fr) auto minmax(225px, 1fr) auto auto !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel {
    grid-template-rows: auto auto minmax(0, 1fr) !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-table-frame {
    grid-row: 3 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-editor-strip {
    grid-row: 4 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options {
    grid-column: 1 !important;
    grid-row: 5 !important;
    min-height: 42px !important;
    display: grid !important;
    grid-template-columns: 180px 180px 180px minmax(300px, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 6px 14px !important;
    border: 1px solid #b7d8c6 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options.is-hidden {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options label {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: 6px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options span {
    color: #007c68 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options select,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options input {
    width: 100% !important;
    height: 28px !important;
    min-width: 0 !important;
    padding: 2px 8px !important;
    border: 1px solid #c5dce8 !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    color: #10223a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
        grid-template-rows: minmax(165px, 1fr) auto minmax(165px, 1fr) auto auto !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options {
        grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
        min-height: 34px !important;
        padding: 4px 10px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-code-map-field {
        grid-column: 1 / -1 !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options select,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout > .clinic-diagnosis-local-options input {
        height: 26px !important;
        font-size: 12px !important;
    }
}

/* Final override: compact ICD9/ICD10 local filters below the local query row. */
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel {
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options {
    grid-column: 1 !important;
    grid-row: 3 !important;
    min-height: 38px !important;
    display: grid !important;
    grid-template-columns: 180px 180px 180px minmax(280px, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 4px 14px 6px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #d6e6dc !important;
    background: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options.is-hidden {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-table-frame {
    grid-row: 4 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options label {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: 6px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options span {
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options select,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options input {
    height: 28px !important;
    padding: 2px 8px !important;
    font-size: 13px !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options {
        grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
        min-height: 34px !important;
        padding: 4px 10px 6px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-code-map-field {
        grid-column: 1 / -1 !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options select,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options input {
        height: 26px !important;
        font-size: 12px !important;
    }
}

/* Keep ICD9/ICD10 local filters compact and below the query bar, not inside the title area. */
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel {
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options {
    grid-column: 1 !important;
    grid-row: 3 !important;
    min-height: 40px !important;
    display: grid !important;
    grid-template-columns: 180px 180px 180px minmax(280px, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 5px 14px 7px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #d6e6dc !important;
    background: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options.is-hidden {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-table-frame {
    grid-row: 4 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options label {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: 6px !important;
    align-items: center !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options span {
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options select,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options input {
    height: 28px !important;
    padding: 2px 8px !important;
    font-size: 13px !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options {
        grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
        min-height: 34px !important;
        padding: 4px 10px 6px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-code-map-field {
        grid-column: 1 / -1 !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options select,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options input {
        height: 26px !important;
        font-size: 12px !important;
    }
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel {
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-options {
    grid-column: 1 !important;
    grid-row: 4 !important;
    display: grid !important;
    grid-template-columns: minmax(140px, 170px) minmax(140px, 170px) minmax(140px, 170px) minmax(240px, 1fr) !important;
    gap: 10px !important;
    align-items: end !important;
    padding: 8px 18px 12px !important;
    border-top: 1px solid #d6e6dc !important;
    background: #fbfefb !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-options.is-hidden {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-options label {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    min-width: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-options span {
    color: #007c68 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-options select,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-options input {
    width: 100% !important;
    height: 34px !important;
    min-width: 0 !important;
    border: 1px solid #c5dce8 !important;
    border-radius: 5px !important;
    background: #ffffff !important;
    color: #10223a !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-options {
        grid-template-columns: repeat(3, minmax(110px, 1fr)) !important;
        gap: 6px !important;
        padding: 6px 10px 8px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-code-map-field {
        grid-column: 1 / -1 !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-options select,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-options input {
        height: 30px !important;
        font-size: 12px !important;
    }
}

/* Absolute final overrides for ClinicDrug / ClinicDiagnosis. These must stay at EOF. */
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(245px, 1fr) minmax(245px, 1fr) 52px !important;
    grid-auto-rows: 0 !important;
    min-height: calc(100vh - 178px) !important;
    max-height: calc(100vh - 132px) !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-panel {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-panel {
    grid-column: 1 !important;
    grid-row: 2 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote {
    grid-column: 1 !important;
    grid-row: 3 !important;
    height: 52px !important;
    min-height: 52px !important;
    max-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 0 22px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table-frame {
    min-height: 0 !important;
    overflow: auto !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-table {
    min-width: 1320px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-table {
    min-width: 1340px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs {
    grid-template-columns: 190px 260px 230px 210px minmax(0, 1fr) !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs .clinic-diagnosis-toolbar-actions {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(225px, 1fr) 44px minmax(215px, 1fr) 136px !important;
    grid-auto-rows: 0 !important;
    min-height: calc(100vh - 170px) !important;
    max-height: calc(100vh - 116px) !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-source-panel {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-transfer-actions {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-height: 44px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel {
    grid-column: 1 !important;
    grid-row: 3 !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
        min-height: calc(100vh - 148px) !important;
        grid-template-rows: minmax(184px, 1fr) minmax(184px, 1fr) 42px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote {
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs {
        grid-template-columns: 150px 220px 190px 172px minmax(0, 1fr) !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
        min-height: calc(100vh - 146px) !important;
        grid-template-rows: minmax(166px, 1fr) 38px minmax(166px, 1fr) 116px !important;
    }

}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail {
    height: calc(100vh - 38px);
    min-height: 0;
    padding: 0;
    overflow: hidden;
    background: #f7fbf8 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .settings-hero {
    display: none;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .setting-placeholder-panel.is-active,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .settings-block.parameter-maintenance-block,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .parameter-settings-content,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .parameter-crud-panel,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .parameter-crud-shell {
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .parameter-crud-panel {
    grid-template-rows: minmax(0, 1fr);
    gap: 0;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-panel {
    grid-column: 1 / -1;
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0;
    border: 0;
    border-radius: 0;
    background: #f8fbf8;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-toolbar {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-bottom: 1px solid #b9d8c7;
    background: #ffffff;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-toolbar-actions {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-search-button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid #9cc7ae;
    border-radius: 4px;
    padding: 0 12px;
    background: linear-gradient(#ffffff, #f7fbf8);
    color: #0b7042;
    font-size: 15px;
    font-weight: 900;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(17, 75, 45, .08);
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button:hover,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-search-button:hover {
    border-color: #008f63;
    background: #e8f6ed;
    color: #006949;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button.is-danger {
    border-color: #f0aaa6;
    color: #d9272e;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button .workbench-icon,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-search-button .workbench-icon {
    width: 20px;
    height: 20px;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(220px, .9fr) auto minmax(230px, 1fr) 50px;
    gap: 10px;
    padding: 10px 12px;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-data-panel {
    min-height: 0;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0;
    border: 1px solid #b9d8c7;
    border-radius: 6px;
    background: #fbfdfb;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-section-badge {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin: -1px 14px 0 0;
    border-radius: 0 0 10px 0;
    padding: 12px 22px;
    background: linear-gradient(135deg, #0c8a4d, #006835);
    color: #ffffff;
    font-size: 24px;
    font-weight: 950;
    line-height: 1.05;
    letter-spacing: 0;
    box-shadow: 6px 8px 16px rgba(0, 105, 73, .12);
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border-bottom: 1px solid #d4e6d9;
    background: #fbfdfb;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar > span {
    flex: 0 0 auto;
    color: #1f3329;
    font-size: 18px;
    font-weight: 900;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar select {
    width: 120px;
    height: 38px;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar input[type="search"] {
    flex: 1 1 260px;
    min-width: 180px;
    height: 38px;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-search-button {
    min-width: 74px;
    background: linear-gradient(#0d8954, #006c3f);
    color: #ffffff;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table-frame {
    grid-column: 1 / -1;
    grid-row: 2;
    min-height: 0;
    border: 0;
    border-top: 1px solid #d4e6d9;
    border-radius: 0;
    background: #ffffff;
    overflow: auto;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-source-table {
    min-width: 1320px;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table {
    min-width: 1360px;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table td {
    height: 34px;
    border: 1px solid #cfe2d6;
    padding: 5px 8px;
    color: #102236;
    font-size: 15px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th {
    background: linear-gradient(#f8fcf6, #eaf4e8);
    color: #0a7548;
    font-size: 16px;
    font-weight: 950;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table tbody tr:nth-child(even) {
    background: #f4f9f4;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table tbody tr.is-selected,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table tbody tr.is-selected td {
    background: #caeadc;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-check-cell {
    text-align: center;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-check-cell input {
    width: 18px;
    height: 18px;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip {
    min-height: 78px;
    display: grid;
    grid-template-columns: 150px 120px 100px minmax(220px, 1fr) 90px 100px 100px 100px 90px 90px 170px auto;
    gap: 8px;
    align-items: end;
    border: 1px solid #b6d7c3;
    border-radius: 6px;
    padding: 8px;
    background: #ffffff;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip.is-open {
    box-shadow: inset 0 0 0 2px rgba(0, 145, 95, .12);
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip label {
    min-width: 0;
    display: grid;
    gap: 4px;
    color: #008573;
    font-size: 13px;
    font-weight: 900;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-wide-field {
    min-width: 0;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip input,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip textarea,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar select,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar input[type="search"] {
    border: 1px solid #b9d2c2;
    border-radius: 4px;
    background: #ffffff;
    color: #14251d;
    font-size: 15px;
    font-weight: 800;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip input {
    height: 34px;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip textarea {
    height: 34px;
    resize: none;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip footer {
    align-self: end;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-toolbar {
        padding: 7px 8px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-search-button {
        padding: 0 8px;
        font-size: 13px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
        grid-template-rows: minmax(190px, .9fr) auto minmax(190px, 1fr) 46px;
        gap: 8px;
        padding: 8px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-data-panel {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-section-badge {
        padding: 10px 14px;
        font-size: 20px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar > span {
        font-size: 15px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table td {
        height: 30px;
        font-size: 13px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th {
        font-size: 14px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip {
        grid-template-columns: 130px 100px 82px minmax(190px, 1fr) 70px 78px 78px 78px 68px 68px 130px auto;
        gap: 6px;
        padding: 6px;
    }
}

.settings-workspace .nhi-drug-dropzone:hover,
.settings-workspace .nhi-drug-dropzone:focus,
.settings-workspace .nhi-drug-dropzone.is-dragover {
    border-color: var(--settings-medical-green);
    background: #e5f5f1;
}

.settings-workspace .nhi-drug-drop-icon,
.settings-workspace .nhi-drug-progress-bar {
    color: var(--settings-medical-green);
    background: var(--settings-medical-green);
}

.settings-workspace .nhi-drug-drop-icon {
    border-color: var(--settings-line);
    background: #ffffff;
}

.settings-workspace .nhi-drug-status.is-ok {
    color: var(--settings-accent-strong);
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-logic-panel {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-logic-panel > header {
    border: 0;
    background: transparent;
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-availability-panel > header {
    background: #ffffff;
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-batch-card,
.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-availability-panel {
    border-color: var(--settings-line);
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .parameter-crud-panel,
.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-logic-panel {
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-logic-form {
    height: 100%;
    min-height: 0;
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-logic-layout {
    height: 100%;
    min-height: 0;
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-logic-controls,
.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-availability-panel {
    height: 100%;
    max-height: 100%;
    min-height: 0;
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-logic-controls {
    overflow: auto;
    padding-right: 4px;
    scrollbar-gutter: stable;
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-availability-panel {
    grid-template-rows: auto minmax(0, 1fr);
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-number-matrix,
.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-matrix-scroll {
    min-height: 0;
    max-height: none;
}

.settings-workspace.parameter-settings-page.is-sequence-logic-detail .sequence-number-matrix {
    height: 100%;
}

.employee-account-page {
    --employee-accent: #009b86;
    --employee-accent-dark: #007f79;
    --employee-ink: #1f3035;
    --employee-muted: #62747a;
    --employee-line: #c8d9d6;
    --employee-soft: #edf6f4;
    background: #f4f8f7;
}

.employee-account-page .employee-directory,
.employee-account-page .employee-card {
    border-color: var(--employee-line);
    border-radius: 6px;
    background: #ffffff;
    box-shadow: none;
}

.employee-account-page .employee-editor-head {
    min-height: 52px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--employee-line);
    background: linear-gradient(180deg, #fbfefd 0%, var(--employee-soft) 100%);
}

.employee-account-page .employee-editor-head h1,
.employee-account-page .employee-directory-head h2,
.employee-account-page .employee-section-tabs button,
.employee-account-page .employee-role-card h2 {
    color: var(--employee-ink);
}

.employee-account-page .employee-section-tabs,
.employee-account-page .employee-specialty-row {
    border-color: var(--employee-line);
}

.employee-account-page .employee-section-tabs button.is-active,
.employee-account-page .employee-chip-row button.is-selected,
.employee-account-page .employee-role-grid button.is-selected {
    border-color: var(--employee-accent);
    background: var(--employee-accent);
    color: #ffffff;
    box-shadow: none;
}

.registered-layout-body .registered-waiting-screen #toggleRegisteredStatusScopeButton {
    grid-template-columns: minmax(18px, 24px) minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) 20px !important;
    column-gap: 4px !important;
}

.registered-layout-body .registered-waiting-screen #toggleRegisteredStatusScopeButton > span:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

.registered-layout-body .registered-waiting-screen #toggleRegisteredStatusScopeButton > .registered-status-scope-label {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    height: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    display: block !important;
    overflow: visible !important;
    color: #101820 !important;
    font-size: var(--rwd-button-label) !important;
    line-height: 1 !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    justify-self: center !important;
}

.registered-layout-body .registered-waiting-screen #toggleRegisteredStatusScopeButton > small {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
}

.parameter-settings-hub {
    padding: 16px !important;
    overflow: auto;
}

.parameter-settings-hub .settings-hero {
    margin: 0 0 14px;
    padding: 14px 16px;
    border-radius: 8px;
}

.parameter-settings-hub .payment-product-category-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 12px !important;
    align-content: start;
}

.parameter-settings-hub .payment-product-category-card {
    min-height: 128px !important;
    border-radius: 8px !important;
    padding: 18px 20px !important;
    box-shadow: 0 10px 24px rgba(13, 71, 54, .06) !important;
}

.parameter-settings-hub .payment-product-category-card span {
    padding: 4px 9px;
    font-size: 12px;
}

.parameter-settings-hub .payment-product-category-card strong {
    font-size: 22px;
}

.parameter-settings-hub .payment-product-category-card small {
    font-size: 14px;
    line-height: 1.45;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail {
    height: calc(100vh - 38px) !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f5faf7 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .settings-hero,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .settings-hero {
    height: 44px !important;
    min-height: 44px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-bottom: 1px solid #c7ded1 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .settings-hero h1,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .settings-hero h1 {
    margin: 0 !important;
    color: #06362b !important;
    font-size: 20px !important;
    font-weight: 950 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .setting-placeholder-panel.is-active,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .settings-block.parameter-maintenance-block,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .parameter-settings-content,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .parameter-crud-panel,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .parameter-crud-shell,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .setting-placeholder-panel.is-active,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .settings-block.parameter-maintenance-block,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .parameter-settings-content,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .parameter-crud-panel,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .parameter-crud-shell {
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .parameter-crud-panel,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .parameter-crud-panel {
    grid-template-rows: minmax(0, 1fr) !important;
    gap: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-panel,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-panel {
    grid-column: 1 / -1 !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #f5faf7 !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-toolbar {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
    border-bottom: 1px solid #c9dfd2 !important;
    background: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-toolbar {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar-actions,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-toolbar-actions {
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-freeze-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-mini-button,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-search-button {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 1px solid #9fcdb5 !important;
    border-radius: 6px !important;
    padding: 0 11px !important;
    background: #ffffff !important;
    color: #067244 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-search-button,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button[type="submit"],
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button[type="submit"] {
    border-color: #007a4e !important;
    background: #007a4e !important;
    color: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button.is-danger,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button.is-danger {
    border-color: #f0aaa6 !important;
    background: #ffffff !important;
    color: #d9272e !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button .workbench-icon,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button .workbench-icon,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote .workbench-icon,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button .workbench-icon,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-search-button .workbench-icon {
    width: 18px !important;
    height: 18px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-update-date {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: auto 128px auto !important;
    align-items: center !important;
    gap: 8px !important;
    color: #10251f !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-update-date input {
    height: 34px !important;
    border: 1px solid #bdd6c8 !important;
    border-radius: 6px !important;
    padding: 0 10px !important;
    background: #ffffff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(210px, 1fr) auto minmax(210px, 1fr) 42px !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-data-panel {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr) !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    border: 1px solid #bed8c9 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-section-badge,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-section-badge {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: stretch !important;
    min-width: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 18px !important;
    border-radius: 0 0 12px 0 !important;
    background: linear-gradient(135deg, #0c8950, #006b40) !important;
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 950 !important;
    line-height: 1.1 !important;
    box-shadow: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border-bottom: 1px solid #d6e6dc !important;
    background: #fbfefc !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar > span,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar > span,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-filter-field > span {
    flex: 0 0 auto !important;
    color: #153326 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar select,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar input[type="search"],
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-filter-field select,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar select,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar input[type="search"] {
    height: 36px !important;
    border: 1px solid #bdd6c8 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #14251d !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar select,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar select {
    flex: 0 0 126px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar input[type="search"],
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar input[type="search"] {
    flex: 1 1 280px !important;
    min-width: 160px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table-frame,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table-frame {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-height: 0 !important;
    border: 0 !important;
    border-top: 1px solid #d6e6dc !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    overflow: auto !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-source-table {
    min-width: 1320px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-local-table {
    min-width: 1280px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-source-table {
    min-width: 1260px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table {
    min-width: 1280px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table td {
    height: 32px !important;
    border: 1px solid #d5e5db !important;
    padding: 5px 8px !important;
    color: #102236 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th {
    background: #eef7f0 !important;
    color: #006e47 !important;
    font-weight: 950 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr:nth-child(even),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table tbody tr:nth-child(even) {
    background: #f4faf6 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr.is-selected,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr.is-selected td,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table tbody tr.is-selected,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table tbody tr.is-selected td {
    background: #d7f0e5 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip {
    min-height: 66px !important;
    display: grid !important;
    align-items: end !important;
    gap: 8px !important;
    border: 1px solid #bed8c9 !important;
    border-radius: 8px !important;
    padding: 8px !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip {
    grid-template-columns: 92px 128px minmax(180px, 1.1fr) minmax(220px, 1.2fr) 112px 112px minmax(160px, 1fr) auto !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip {
    grid-template-columns: 140px 100px 92px minmax(210px, 1.25fr) 74px 80px 84px 84px 74px 74px minmax(160px, 1fr) auto !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip label,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip label {
    min-width: 0 !important;
    display: grid !important;
    gap: 4px !important;
    color: #008573 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip input,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip textarea,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip input,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip textarea {
    width: 100% !important;
    height: 32px !important;
    min-width: 0 !important;
    border: 1px solid #bdd6c8 !important;
    border-radius: 6px !important;
    padding: 0 8px !important;
    background: #ffffff !important;
    color: #14251d !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip textarea,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip textarea {
    resize: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid #bed8c9 !important;
    border-radius: 8px !important;
    padding: 0 14px !important;
    background: #eef8f2 !important;
    color: #193527 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-footnote #clinicDrugStatus {
    margin-left: auto !important;
    border: 1px solid #b8dcc8 !important;
    border-radius: 999px !important;
    padding: 4px 10px !important;
    background: #ffffff !important;
    color: #00765b !important;
    white-space: nowrap !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .settings-hero,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .settings-hero {
        height: 38px !important;
        min-height: 38px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .settings-hero h1,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .settings-hero h1 {
        font-size: 17px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-toolbar,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-toolbar {
        padding: 6px 8px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-tool-button,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-search-button,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-freeze-button,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-mini-button,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tool-button,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-search-button {
        min-height: 30px !important;
        padding: 0 8px !important;
        font-size: 12px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
        grid-template-rows: minmax(170px, 1fr) auto minmax(170px, 1fr) 38px !important;
        gap: 6px !important;
        padding: 7px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-data-panel {
        grid-template-columns: 142px minmax(0, 1fr) !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-section-badge,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-section-badge {
        padding: 0 12px !important;
        font-size: 18px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar {
        min-height: 48px !important;
        gap: 6px !important;
        padding: 6px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar > span,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar > span,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-filter-field > span {
        font-size: 13px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table td {
        height: 28px !important;
        padding: 4px 6px !important;
        font-size: 12px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip {
        grid-template-columns: 72px 104px minmax(130px, 1fr) minmax(150px, 1fr) 88px 88px minmax(110px, 1fr) auto !important;
        gap: 6px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip {
        grid-template-columns: 112px 78px 72px minmax(145px, 1fr) 58px 62px 62px 62px 56px 56px minmax(105px, 1fr) auto !important;
        gap: 5px !important;
    }
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 190px 260px 230px 210px minmax(0, 1fr) !important;
    align-items: end !important;
    gap: 0 !important;
    padding: 0 10px !important;
    border-bottom: 1px solid #bed8c9 !important;
    background: #f8fbf8 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs > button {
    height: 48px !important;
    border: 1px solid #c4dbce !important;
    border-bottom: 0 !important;
    border-radius: 7px 7px 0 0 !important;
    background: linear-gradient(#ffffff, #f5faf7) !important;
    color: #152c23 !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs > button.is-active {
    height: 54px !important;
    border-color: #00824f !important;
    border-top-width: 4px !important;
    background: #ffffff !important;
    color: #007747 !important;
    font-weight: 950 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs .clinic-diagnosis-toolbar-actions {
    justify-self: end !important;
    align-self: center !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
    grid-template-rows: minmax(230px, .95fr) auto minmax(230px, .95fr) auto 40px !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    background: #fbfdfb !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-source-panel {
    grid-row: 1 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-transfer-actions {
    grid-row: 2 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel {
    grid-row: 3 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip {
    grid-row: 4 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-data-panel {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    border-radius: 6px !important;
    background: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-section-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding: 12px 18px 4px !important;
    color: #007747 !important;
    font-size: 22px !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-height: 52px !important;
    padding: 6px 18px 10px !important;
    border-bottom: 1px solid #d6e6dc !important;
    background: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar select {
    flex: 0 0 150px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar input[type="search"] {
    flex: 0 1 320px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar .clinic-diagnosis-radio {
    margin-left: auto !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-radio {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #26382f !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-radio + .clinic-diagnosis-radio {
    margin-left: 10px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-radio input {
    width: 18px !important;
    height: 18px !important;
    accent-color: #00824f !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table-frame {
    grid-column: 1 !important;
    grid-row: 3 !important;
    border-top: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-source-table,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table {
    min-width: 100% !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-source-table th:nth-child(1),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table th:nth-child(1) {
    width: 58px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-source-table th:nth-child(2),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table th:nth-child(2) {
    width: 120px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-source-table th:nth-child(5),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-source-table th:nth-child(6),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table th:nth-child(4),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table th:nth-child(5),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table th:nth-child(6),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table th:nth-child(7),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table th:nth-child(8),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-table th:nth-child(10) {
    width: 110px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table td {
    height: 32px !important;
    padding: 4px 10px !important;
    font-size: 15px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th {
    background: linear-gradient(#f8fcf7, #eef7f0) !important;
    color: #143326 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-transfer-actions {
    min-height: 48px !important;
    display: grid !important;
    grid-template-columns: repeat(2, max-content) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-transfer-actions button {
    min-width: 150px !important;
    height: 36px !important;
    border: 1px solid #9fcdb5 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #0a7548 !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip {
    grid-template-columns: 120px 120px 110px minmax(210px, 1fr) 90px 130px 130px 130px 88px 88px minmax(280px, 1.4fr) auto !important;
    min-height: 84px !important;
    background: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip label:nth-of-type(11) {
    grid-column: span 2 !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs {
        grid-template-columns: 145px 210px 180px 170px minmax(0, 1fr) !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs > button {
        height: 40px !important;
        font-size: 14px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-tabs > button.is-active {
        height: 45px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
        grid-template-rows: minmax(170px, .9fr) auto minmax(170px, .9fr) auto 36px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-section-title {
        padding: 8px 12px 2px !important;
        font-size: 18px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar {
        min-height: 44px !important;
        padding: 5px 10px 7px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar select {
        flex-basis: 118px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar input[type="search"] {
        flex-basis: 230px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-radio {
        font-size: 12px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-transfer-actions {
        min-height: 38px !important;
        gap: 6px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-transfer-actions button {
        min-width: 112px !important;
        height: 30px !important;
        font-size: 12px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table td {
        height: 27px !important;
        font-size: 12px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip {
        grid-template-columns: 90px 90px 80px minmax(135px, 1fr) 68px 86px 86px 86px 60px 60px minmax(160px, 1fr) auto !important;
        min-height: 66px !important;
    }
}

/* Last-mile maintenance-page overrides; keep these at EOF so earlier large blocks cannot win. */
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel {
    grid-template-rows: auto auto auto minmax(0, 1fr) !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options {
    grid-column: 1 !important;
    grid-row: 3 !important;
    min-height: 38px !important;
    display: grid !important;
    grid-template-columns: 180px 180px 180px minmax(280px, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    padding: 4px 14px 6px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #d6e6dc !important;
    background: #ffffff !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options.is-hidden {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-table-frame {
    grid-row: 4 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options label {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    gap: 6px !important;
    align-items: center !important;
    min-width: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options span {
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options select,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options input {
    height: 28px !important;
    padding: 2px 8px !important;
    font-size: 13px !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options {
        grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
        min-height: 34px !important;
        padding: 4px 10px 6px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-code-map-field {
        grid-column: 1 / -1 !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options select,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-local-panel .clinic-diagnosis-local-options input {
        height: 26px !important;
        font-size: 12px !important;
    }
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip:not(.is-open),
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip:not(.is-open) {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-editor-strip.is-open,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-editor-strip.is-open {
    display: grid !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
    grid-template-rows: minmax(260px, 1fr) auto minmax(260px, 1fr) 44px !important;
    padding: 8px 10px !important;
    gap: 8px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel {
    grid-template-columns: 200px minmax(0, 1fr) !important;
    grid-template-rows: 66px minmax(0, 1fr) !important;
    border-color: #b7d8c6 !important;
    border-radius: 7px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-section-badge {
    width: 190px !important;
    min-height: 52px !important;
    border-radius: 0 8px 8px 0 !important;
    background: linear-gradient(180deg, #0d8b50, #006f41) !important;
    color: #ffffff !important;
    font-size: 26px !important;
    letter-spacing: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar {
    min-height: 66px !important;
    padding: 8px 12px !important;
    background: #fbfefb !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar select {
    flex: 0 0 140px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar input[type="search"] {
    flex: 0 1 320px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th,
.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td {
    height: 31px !important;
    padding: 4px 8px !important;
    font-size: 15px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th {
    background: linear-gradient(#f8fcf8, #edf7ef) !important;
    color: #13291f !important;
}

.settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table tbody tr:nth-child(even) td,
.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table tbody tr:nth-child(even) td {
    background: #f5faf6 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-layout {
    grid-template-rows: minmax(245px, 1fr) auto minmax(245px, 1fr) auto 40px !important;
    padding: 8px 10px !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar {
    flex-wrap: nowrap !important;
}

.settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-query-bar input[type="search"] {
    flex: 0 1 330px !important;
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-layout {
        grid-template-rows: minmax(180px, 1fr) auto minmax(180px, 1fr) 36px !important;
        padding: 6px !important;
        gap: 6px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-data-panel {
        grid-template-columns: 154px minmax(0, 1fr) !important;
        grid-template-rows: 50px minmax(0, 1fr) !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-section-badge {
        width: 150px !important;
        min-height: 50px !important;
        font-size: 20px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-query-bar {
        min-height: 50px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table th,
    .settings-workspace.parameter-settings-page.is-clinic-drug-detail .clinic-drug-table td,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table th,
    .settings-workspace.parameter-settings-page.is-clinic-diagnosis-detail .clinic-diagnosis-table td {
        height: 27px !important;
        font-size: 12px !important;
    }
}
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail {
    height: calc(100vh - 56px) !important;
    max-height: calc(100vh - 56px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .settings-hero {
    display: none !important;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .setting-placeholder-panel.is-active,
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .settings-block.parameter-maintenance-block,
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .parameter-settings-content,
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .parameter-crud-panel,
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .parameter-crud-shell {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .parameter-crud-panel {
    grid-template-rows: minmax(0, 1fr) !important;
    gap: 0 !important;
    padding: 0 !important;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-panel {
    grid-column: 1 / -1;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) 48px !important;
    gap: 6px !important;
    border: 0;
    border-radius: 0;
    background: #f7fbf8;
    overflow: hidden !important;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-layout {
    grid-row: 1;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(248px, 1fr) minmax(300px, 1fr) !important;
    align-content: stretch !important;
    gap: 8px !important;
    padding: 6px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scrollbar-gutter: stable !important;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-toolbar {
    grid-row: 2;
    min-width: 0;
    height: 48px !important;
    min-height: 48px !important;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    align-self: end;
    padding: 4px 8px;
    border-top: 1px solid #c9dfd2;
    background: #ffffff;
    box-shadow: 0 -6px 16px rgba(3, 74, 50, .06);
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-toolbar-actions {
    min-width: 0;
    height: 40px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 2px 2px;
    scrollbar-width: thin;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-tool-button,
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-search-button {
    flex: 0 0 auto;
    min-width: 86px;
    min-height: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid #9cc7ae;
    border-radius: 6px;
    padding: 0 10px;
    background: linear-gradient(#ffffff, #f7fbf8);
    color: #0b7042;
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(17, 75, 45, .08);
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-tool-button:hover,
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-search-button:hover {
    border-color: #008f63;
    background: #e8f6ed;
    color: #006949;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-tool-button.is-danger {
    border-color: #f0aaa6;
    color: #d9272e;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-tool-button:disabled {
    opacity: .48;
    cursor: not-allowed;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-tool-button .workbench-icon,
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-search-button .workbench-icon {
    width: 17px;
    height: 17px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-status {
    min-width: 0;
    max-width: 360px;
    overflow: hidden;
    color: #1f3329;
    font-size: 14px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-data-panel {
    min-height: 0;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    grid-template-rows: 58px minmax(0, 1fr);
    gap: 0;
    border: 1px solid #b9d8c7;
    border-radius: 7px;
    background: #f7fbf8;
    overflow: hidden;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-section-badge {
    grid-column: 1;
    grid-row: 1;
    align-self: stretch;
    width: 184px;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: -1px 14px 0 0;
    border-radius: 0 8px 8px 0;
    padding: 0 18px;
    background: linear-gradient(180deg, #0d8b50, #006f41);
    color: #ffffff;
    font-size: 24px;
    font-weight: 950;
    line-height: 1.1;
    letter-spacing: 0;
    box-shadow: 6px 8px 16px rgba(0, 105, 73, .12);
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-query-bar {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-bottom: 1px solid #d4e6d9;
    background: #fbfefb;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-query-bar > span {
    flex: 0 0 auto;
    color: #1f3329;
    font-size: 14px;
    font-weight: 900;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-query-bar select,
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-query-bar input[type="search"] {
    height: 34px;
    border: 1px solid #b9d7ca;
    border-radius: 5px;
    padding: 0 9px;
    background: #ffffff;
    color: #10223b;
    font-size: 14px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-query-bar select {
    flex: 0 0 140px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-query-bar input[type="search"] {
    flex: 0 1 360px;
    min-width: 180px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-search-button {
    min-width: 74px;
    background: linear-gradient(#0d8954, #006c3f);
    color: #ffffff;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table-frame {
    grid-column: 1 / -1;
    grid-row: 2;
    min-height: 0;
    height: 100%;
    border-top: 1px solid #d4e6d9;
    background: #ffffff;
    overflow: auto;
    scrollbar-gutter: stable;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-source-table {
    min-width: 1090px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-local-table {
    min-width: 1160px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-source-table th:nth-child(1),
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-local-table th:nth-child(1) {
    width: 64px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-local-table th:nth-child(2) {
    width: 78px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-source-table th:nth-child(2),
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-local-table th:nth-child(3) {
    width: 150px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-source-table th:nth-child(3),
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-local-table th:nth-child(4) {
    width: 300px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-source-table th:nth-child(4),
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-local-table th:nth-child(5) {
    width: 140px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-source-table th:nth-child(5),
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-local-table th:nth-child(6) {
    width: 360px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-source-table th:nth-child(6),
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-local-table th:nth-child(7) {
    width: 80px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table th,
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table td {
    height: 28px;
    border-right: 1px solid #d4e6d9;
    border-bottom: 1px solid #d4e6d9;
    padding: 3px 8px;
    color: #101d18;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient(#f8fcf8, #edf7ef);
    color: #13291f;
    font-weight: 950;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table td {
    overflow: hidden;
    text-overflow: ellipsis;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table tbody tr:nth-child(even) td {
    background: #f5faf6;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table tbody tr.is-selected,
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table tbody tr.is-selected td {
    background: #aee8d3;
    color: #06271f;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table tbody tr.is-selected td:first-child {
    box-shadow: inset 4px 0 0 #008f65;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-check-cell {
    text-align: center;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-check-cell input {
    width: 18px;
    height: 18px;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-source-table th:nth-child(5),
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-source-table td:nth-child(5),
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-local-table th:nth-child(6),
.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-local-table td:nth-child(6) {
    white-space: normal;
}

.settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-sequence-input {
    width: 64px;
    height: 26px;
    border: 1px solid #b9d7ca;
    border-radius: 5px;
    padding: 0 6px;
    background: #fff;
    color: #10223b;
    font-size: 13px;
    text-align: right;
}

.clinic-hospital-order-modal {
    position: fixed;
    inset: 0;
    z-index: 10120;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 22px;
    background: rgba(9, 28, 42, .36);
}

.clinic-hospital-order-modal.is-hidden {
    display: none;
}

.clinic-hospital-order-card {
    width: min(1180px, 100%);
    height: min(760px, calc(100vh - 44px));
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #9fcab2;
    border-radius: 10px;
    background: #f7fbf8;
    box-shadow: 0 22px 60px rgba(10, 37, 52, .28);
}

.clinic-hospital-order-head {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid #cfe4d6;
    background: linear-gradient(135deg, #0d8b50, #05716a);
    color: #ffffff;
}

.clinic-hospital-order-head h2 {
    margin: 0;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: 0;
}

.clinic-hospital-order-head p {
    margin: 4px 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: 13px;
    font-weight: 800;
}

.clinic-hospital-order-close {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    color: #ffffff;
}

.clinic-hospital-order-close .workbench-icon {
    width: 19px;
    height: 19px;
}

.clinic-hospital-order-search {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid #d4e6d9;
    background: #ffffff;
}

.clinic-hospital-order-search > span:first-child {
    color: #1f3329;
    font-size: 14px;
    font-weight: 950;
}

.clinic-hospital-order-search input[type="search"] {
    flex: 0 1 360px;
    min-width: 180px;
    height: 34px;
    border: 1px solid #b9d7ca;
    border-radius: 6px;
    padding: 0 10px;
    background: #ffffff;
    color: #10223b;
    font-size: 14px;
}

.clinic-hospital-order-status {
    min-width: 0;
    margin-left: auto;
    overflow: hidden;
    color: #254238;
    font-size: 13px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clinic-hospital-order-save-all {
    flex: 0 0 auto;
    min-width: 116px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid #0b7d4c;
    border-radius: 6px;
    background: linear-gradient(#109461, #006f45);
    color: #ffffff;
    font-size: 14px;
    font-weight: 950;
}

.clinic-hospital-order-save-all .workbench-icon {
    width: 17px;
    height: 17px;
}

.clinic-hospital-order-save-all:disabled {
    opacity: .55;
}

.clinic-hospital-order-table-frame {
    min-height: 0;
    overflow: auto;
    background: #ffffff;
}

.clinic-hospital-order-table {
    width: 100%;
    min-width: 980px;
    border-collapse: collapse;
    table-layout: fixed;
}

.clinic-hospital-order-table th,
.clinic-hospital-order-table td {
    height: 34px;
    border-right: 1px solid #d4e6d9;
    border-bottom: 1px solid #d4e6d9;
    padding: 4px 8px;
    color: #101d18;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}

.clinic-hospital-order-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient(#f8fcf8, #edf7ef);
    color: #13291f;
    font-weight: 950;
}

.clinic-hospital-order-table th:nth-child(1) {
    width: 110px;
}

.clinic-hospital-order-table th:nth-child(2),
.clinic-hospital-order-table th:nth-child(3) {
    width: 260px;
}

.clinic-hospital-order-table th:nth-child(4) {
    width: 130px;
}

.clinic-hospital-order-table th:nth-child(5) {
    width: 300px;
}

.clinic-hospital-order-table td:nth-child(2),
.clinic-hospital-order-table td:nth-child(3) {
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.clinic-hospital-order-table tbody tr:nth-child(even) td {
    background: #f5faf6;
}

.clinic-hospital-order-select-wrap {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
}

.clinic-hospital-order-select-wrap select {
    width: 100%;
    height: 28px;
    min-width: 0;
    border: 1px solid #b9d7ca;
    border-radius: 5px;
    background: #ffffff;
    color: #10223b;
    font-size: 13px;
    font-weight: 850;
}

.clinic-hospital-order-select-wrap small {
    min-width: 0;
    overflow: hidden;
    color: #557064;
    font-size: 11px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .clinic-hospital-order-modal {
        padding: 10px;
    }

    .clinic-hospital-order-card {
        height: calc(100vh - 20px);
    }

    .clinic-hospital-order-search {
        flex-wrap: wrap;
    }

    .clinic-hospital-order-status {
        flex-basis: 100%;
        margin-left: 0;
    }
}

@media (max-width: 1366px) {
    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-layout {
        grid-template-rows: minmax(180px, 1fr) minmax(220px, 1fr) !important;
        padding: 6px !important;
        gap: 6px !important;
    }

    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-data-panel {
        grid-template-columns: 154px minmax(0, 1fr);
        grid-template-rows: 50px minmax(0, 1fr);
    }

    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-section-badge {
        width: 150px;
        min-height: 50px;
        font-size: 20px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-query-bar {
        min-height: 50px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-status {
        max-width: 220px;
        font-size: 12px;
    }
}

@media (max-width: 900px) {
    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-toolbar {
        grid-template-columns: minmax(0, 1fr);
    }

    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-status {
        display: none;
    }

    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-data-panel {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto minmax(0, 1fr);
    }

    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-section-badge {
        grid-column: 1;
        grid-row: 1;
        width: auto;
        min-height: 42px;
        margin: 0;
        border-radius: 0;
        font-size: 18px;
    }

    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-query-bar {
        grid-column: 1;
        grid-row: 2;
        flex-wrap: wrap;
    }

    .settings-workspace.parameter-settings-page.is-clinic-hospital-detail .clinic-hospital-table-frame {
        grid-row: 3;
    }
}

.hospital-profile-page {
    height: calc(100vh - 38px);
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.hospital-profile-page .settings-hero {
    min-height: 54px;
    align-items: center;
    margin-bottom: 10px;
}

.hospital-profile-status {
    min-width: 180px;
    max-width: 360px;
    overflow: hidden;
    color: #60776a;
    font-size: 13px;
    font-weight: 900;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hospital-profile-status.is-dirty {
    color: #a9463e;
}

.hospital-profile-status.is-saved {
    color: #168458;
}

.hospital-profile-command-button .hospital-profile-status {
    min-width: 0;
    max-width: 120px;
    font-size: 12px;
    line-height: 1.2;
    text-align: left;
}

.hospital-profile-shell {
    min-height: 0;
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 10px;
    overflow: hidden;
}

.hospital-profile-main {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: 10px;
    overflow: auto;
    padding: 0 2px 8px 0;
}

.hospital-profile-card {
    min-width: 0;
    min-height: 0;
    border: 1px solid #d4e6d9;
    border-radius: 6px;
    background: #ffffff;
    overflow: hidden;
}

.hospital-profile-card header {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-bottom: 1px solid #dcebe0;
    padding: 9px 12px;
    background: linear-gradient(#fbfefb, #f1f8f2);
}

.hospital-profile-card h2 {
    margin: 0;
    color: #008052;
    font-size: 19px;
    font-weight: 950;
}

.hospital-profile-basic-card,
.hospital-profile-contact-card,
.hospital-profile-disease-card {
    grid-column: 1 / -1;
}

.hospital-profile-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 10px 14px;
    padding: 12px;
}

.hospital-profile-field {
    min-width: 0;
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin: 0;
}

.hospital-profile-field.is-wide {
    grid-column: 1 / -1;
}

.hospital-profile-field span {
    color: #1f3329;
    font-size: 15px;
    font-weight: 900;
    white-space: nowrap;
}

.hospital-profile-field input {
    width: 100%;
    min-width: 0;
    height: 38px;
    border: 1px solid #bfd5c8;
    border-radius: 5px;
    padding: 0 10px;
    background: #ffffff;
    color: #14243b;
    font-size: 15px;
    font-weight: 700;
}

.hospital-profile-field input:focus,
.hospital-profile-table input:focus {
    border-color: #00996d;
    outline: 2px solid rgba(0, 153, 109, .14);
}

.hospital-profile-disease-card {
    display: grid;
    grid-template-rows: auto minmax(170px, 1fr);
}

.hospital-profile-disease-card header .secondary-setting-action {
    min-height: 32px;
    padding: 4px 12px;
}

.hospital-profile-table-frame {
    min-height: 0;
    overflow: auto;
}

.hospital-profile-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    table-layout: fixed;
}

.hospital-profile-table th,
.hospital-profile-table td {
    height: 38px;
    border-right: 1px solid #d4e6d9;
    border-bottom: 1px solid #d4e6d9;
    padding: 5px 8px;
    color: #10231a;
    text-align: center;
    font-size: 14px;
    font-weight: 850;
}

.hospital-profile-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient(#f8fcf8, #edf7ef);
    color: #13291f;
    font-weight: 950;
}

.hospital-profile-table th:nth-child(1) {
    width: 94px;
}

.hospital-profile-table th:nth-child(2) {
    width: 140px;
}

.hospital-profile-table th:nth-child(3) {
    width: 280px;
}

.hospital-profile-table input {
    width: 100%;
    height: 30px;
    border: 1px solid #bfd5c8;
    border-radius: 5px;
    padding: 0 8px;
    background: #ffffff;
    color: #14243b;
    font-size: 14px;
    font-weight: 800;
    text-align: center;
}

.hospital-profile-row-button {
    min-height: 28px;
    border: 1px solid #e0aaa3;
    border-radius: 5px;
    padding: 0 9px;
    background: #fff7f6;
    color: #a9463e;
    font-size: 13px;
    font-weight: 900;
}

.hospital-profile-row-button:hover {
    border-color: #c64a3e;
    background: #ffe6e3;
}

@media (max-width: 1280px) {
    .hospital-profile-shell {
        grid-template-columns: 180px minmax(0, 1fr);
    }

    .hospital-profile-main {
        grid-template-columns: minmax(0, 1fr);
    }

    .hospital-profile-form-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

@media (max-width: 860px) {
    .hospital-profile-page {
        height: auto;
        min-height: calc(100vh - 38px);
        overflow: visible;
    }

    .hospital-profile-page .settings-hero {
        align-items: stretch;
    }

    .hospital-profile-page .settings-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .hospital-profile-status {
        min-width: 0;
        max-width: none;
        text-align: left;
    }

    .hospital-profile-shell {
        grid-template-columns: minmax(0, 1fr);
        overflow: visible;
    }

    .hospital-profile-main {
        overflow: visible;
    }

    .hospital-profile-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .hospital-profile-field,
    .hospital-profile-field.is-wide {
        grid-column: 1;
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
    }
}

.hospital-profile-page {
    height: calc(100vh - 38px) !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: 76px minmax(0, 1fr) 84px !important;
    gap: 0 !important;
    padding: 0 !important;
    background: #f4f8f6 !important;
    color: #152840;
    overflow: hidden !important;
}

.hospital-profile-workbench {
    min-height: 0;
    display: grid;
    grid-template-columns: 224px minmax(0, 1fr);
    gap: 10px;
    padding: 10px 12px 8px;
    overflow: hidden;
}

.hospital-profile-main {
    min-height: 0;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) 240px;
    gap: 10px;
    padding: 0;
    overflow: hidden !important;
}

.hospital-profile-upper {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(360px, .98fr);
    gap: 10px;
    overflow: hidden;
}

.hospital-profile-left-stack {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(250px, 1fr) 160px;
    gap: 10px;
    overflow: hidden;
}

.hospital-profile-card {
    min-width: 0;
    min-height: 0;
    border: 0;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 5px 20px rgba(30, 64, 52, .07);
    overflow: hidden;
}

.hospital-profile-card header {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-bottom: 0;
    padding: 16px 22px 8px;
    background: #ffffff;
}

.hospital-profile-card h2 {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #008052;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: 0;
}

.hospital-profile-card h2 .workbench-icon {
    width: 25px;
    height: 25px;
}

.hospital-profile-form-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px 28px;
    padding: 6px 22px 18px;
}

.hospital-profile-contact-grid {
    display: grid;
    grid-template-columns: minmax(170px, .8fr) minmax(250px, 1.35fr) minmax(220px, 1.2fr);
    gap: 12px 24px;
    padding: 8px 22px 18px;
}

.hospital-profile-health-grid {
    display: grid;
    gap: 18px;
    padding: 10px 30px 18px;
}

.hospital-profile-field,
.hospital-profile-field.is-wide {
    min-width: 0;
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    margin: 0;
}

.hospital-profile-field.is-wide {
    grid-column: 1 / -1;
}

.hospital-profile-health-grid .hospital-profile-field {
    grid-template-columns: 132px minmax(0, 1fr);
}

.hospital-profile-contact-grid .hospital-profile-field {
    grid-template-columns: 86px minmax(0, 1fr);
}

.hospital-profile-contact-grid .hospital-profile-field.is-address {
    grid-column: span 1;
}

.hospital-profile-field span:first-child {
    color: #203047;
    font-size: 16px;
    font-weight: 850;
    white-space: nowrap;
}

.hospital-profile-field b {
    color: #e31313;
    font-weight: 950;
}

.hospital-profile-field input,
.hospital-profile-field select {
    width: 100%;
    min-width: 0;
    height: 42px;
    border: 1px solid #d9e3e9;
    border-radius: 7px;
    padding: 0 14px;
    background: #ffffff;
    color: #14233e;
    font-size: 16px;
    font-weight: 750;
    box-shadow: inset 0 1px 2px rgba(20, 35, 62, .03);
}

.hospital-profile-field select {
    appearance: auto;
}

.hospital-profile-field input::placeholder {
    color: #92a0b2;
    font-weight: 650;
}

.hospital-profile-control-with-button {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
}

.hospital-profile-control-with-button input {
    border-radius: 7px 0 0 7px;
}

.hospital-profile-control-with-button button {
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid #d9e3e9;
    border-left: 0;
    border-radius: 0 7px 7px 0;
    background: #eef8f2;
    color: #008052;
}

.hospital-profile-control-with-button .workbench-icon {
    width: 20px;
    height: 20px;
}

.hospital-profile-field input:focus,
.hospital-profile-field select:focus,
.hospital-profile-table input:focus {
    border-color: #00915f;
    outline: 3px solid rgba(0, 145, 95, .12);
}

.hospital-profile-disease-card {
    display: grid;
    grid-template-rows: 60px minmax(0, 1fr);
}

.hospital-profile-disease-card header {
    padding: 10px 18px 8px 26px;
}

.hospital-profile-table-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.hospital-profile-small-button {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #d9e3e9;
    border-radius: 7px;
    padding: 0 16px;
    background: #ffffff;
    color: #008052;
    font-size: 15px;
    font-weight: 900;
}

.hospital-profile-small-button:hover {
    border-color: #b7dcc9;
    background: #f0faf4;
}

.hospital-profile-small-button .workbench-icon {
    width: 18px;
    height: 18px;
}

.hospital-profile-table-frame {
    min-height: 0;
    margin: 0 18px 14px;
    border: 1px solid #dbe5ea;
    border-radius: 0;
    overflow: auto;
}

.hospital-profile-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    table-layout: fixed;
}

.hospital-profile-table th,
.hospital-profile-table td {
    height: 38px;
    border-right: 1px solid #dbe5ea;
    border-bottom: 1px solid #dbe5ea;
    padding: 4px 8px;
    color: #182941;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
}

.hospital-profile-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: linear-gradient(#fbfcfb, #f3f7f4);
    color: #111c2b;
    font-size: 15px;
    font-weight: 950;
}

.hospital-profile-table th:nth-child(1) {
    width: 100px;
}

.hospital-profile-table th:nth-child(2) {
    width: 170px;
}

.hospital-profile-table th:nth-child(3) {
    width: 340px;
}

.hospital-profile-table tbody tr:nth-child(even) td {
    background: #f9fbfa;
}

.hospital-profile-table input {
    width: 100%;
    height: 30px;
    border: 1px solid transparent;
    border-radius: 5px;
    padding: 0 8px;
    background: transparent;
    color: #182941;
    font-size: 15px;
    font-weight: 800;
    text-align: center;
}

.hospital-profile-table input:focus {
    background: #ffffff;
}

.hospital-profile-row-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.hospital-profile-icon-button {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: #008052;
}

.hospital-profile-icon-button.is-danger {
    color: #ff1010;
}

.hospital-profile-icon-button:hover {
    background: #ecf8f1;
}

.hospital-profile-icon-button .workbench-icon {
    width: 20px;
    height: 20px;
}

.hospital-profile-command-bar {
    min-height: 84px;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(160px, .45fr);
    gap: 16px;
    padding: 10px 16px 12px;
    background: #f7fbf9;
}

.hospital-profile-command-button {
    min-width: 0;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 0;
    border-radius: 10px;
    padding: 0 18px;
    background: linear-gradient(135deg, #eef7f1, #e5f2eb);
    color: #008052;
    font-size: 18px;
    font-weight: 950;
    box-shadow: 0 5px 18px rgba(30, 64, 52, .06);
    white-space: nowrap;
}

.hospital-profile-command-button:hover {
    filter: brightness(.99);
    transform: translateY(-1px);
}

.hospital-profile-command-button .workbench-icon {
    width: 24px;
    height: 24px;
}

.hospital-profile-command-button span {
    font-size: 20px;
    font-weight: 950;
}

.hospital-profile-command-button strong {
    font-size: 20px;
    font-weight: 950;
}

.hospital-profile-command-button.is-alert {
    background: linear-gradient(135deg, #ffe4e8, #ffd6dc);
    color: #ef1010;
}

.hospital-profile-command-button.is-save {
    background: linear-gradient(135deg, #ebfaf2, #dff5eb);
    color: #008052;
}

.hospital-profile-command-button.is-cancel {
    background: linear-gradient(135deg, #f6f6f6, #eeeeee);
    color: #4a5568;
}

@media (max-width: 1366px) {
    .hospital-profile-page {
        grid-template-rows: 66px minmax(0, 1fr) 72px !important;
    }

    .hospital-profile-workbench {
        grid-template-columns: 190px minmax(0, 1fr);
        gap: 8px;
        padding: 8px;
    }

    .hospital-profile-left-stack {
        grid-template-rows: minmax(220px, 1fr) 145px;
        gap: 8px;
    }

    .hospital-profile-upper {
        gap: 8px;
    }

    .hospital-profile-card header {
        min-height: 44px;
        padding: 10px 16px 4px;
    }

    .hospital-profile-card h2 {
        font-size: 18px;
    }

    .hospital-profile-form-grid {
        gap: 9px 20px;
        padding: 5px 16px 12px;
    }

    .hospital-profile-contact-grid {
        gap: 8px 14px;
        padding: 6px 16px 12px;
    }

    .hospital-profile-health-grid {
        gap: 12px;
        padding: 8px 20px 14px;
    }

    .hospital-profile-field,
    .hospital-profile-field.is-wide,
    .hospital-profile-health-grid .hospital-profile-field {
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 10px;
    }

    .hospital-profile-contact-grid .hospital-profile-field {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .hospital-profile-field span:first-child,
    .hospital-profile-field input,
    .hospital-profile-field select {
        font-size: 14px;
    }

    .hospital-profile-field input,
    .hospital-profile-field select,
    .hospital-profile-control-with-button button {
        height: 36px;
    }

    .hospital-profile-main {
        grid-template-rows: minmax(0, 1fr) 208px;
        gap: 8px;
    }

    .hospital-profile-disease-card {
        grid-template-rows: 50px minmax(0, 1fr);
    }

    .hospital-profile-table th,
    .hospital-profile-table td {
        height: 32px;
        font-size: 13px;
    }

    .hospital-profile-command-bar {
        min-height: 72px;
        gap: 10px;
        padding: 8px 12px;
    }

    .hospital-profile-command-button {
        min-height: 54px;
    }

    .hospital-profile-command-button strong,
    .hospital-profile-command-button span {
        font-size: 16px;
    }
}

@media (max-width: 980px) {
    .hospital-profile-page {
        height: auto !important;
        min-height: calc(100vh - 38px) !important;
        grid-template-rows: auto auto auto !important;
        overflow: visible !important;
    }

    .hospital-profile-workbench {
        grid-template-columns: minmax(0, 1fr);
        overflow: visible;
    }

    .hospital-profile-main,
    .hospital-profile-upper,
    .hospital-profile-left-stack {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto;
        overflow: visible !important;
    }

    .hospital-profile-form-grid,
    .hospital-profile-contact-grid,
    .hospital-profile-health-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .hospital-profile-field,
    .hospital-profile-field.is-wide,
    .hospital-profile-health-grid .hospital-profile-field,
    .hospital-profile-contact-grid .hospital-profile-field {
        grid-column: 1;
        grid-template-columns: minmax(0, 1fr);
        gap: 5px;
    }

    .hospital-profile-disease-card {
        min-height: 260px;
    }

    .hospital-profile-command-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
}

/* Hospital profile final layout reset: no topbar, full-width workbench. */
.hospital-profile-page {
    height: calc(100vh - 38px) !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) 72px !important;
    gap: 0 !important;
    padding: 0 !important;
    background: #f1f6f4 !important;
    overflow: hidden !important;
}

.hospital-profile-workbench {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    gap: 8px 10px !important;
    padding: 8px 10px 6px !important;
    overflow: hidden !important;
}

.hospital-profile-main {
    grid-column: 1;
    grid-row: 1;
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) 214px !important;
    gap: 8px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.hospital-profile-upper {
    min-width: 0;
    min-height: 0;
    display: grid !important;
    grid-template-columns: minmax(720px, 1.55fr) minmax(420px, .9fr) !important;
    gap: 8px !important;
    overflow: hidden !important;
}

.hospital-profile-left-stack {
    min-width: 0;
    min-height: 0;
    display: grid !important;
    grid-template-rows: minmax(282px, 1fr) 154px !important;
    gap: 8px !important;
    overflow: hidden !important;
}

.hospital-profile-card {
    border: 1px solid #dcebe2 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 14px rgba(21, 54, 42, .05) !important;
}

.hospital-profile-card header {
    min-height: 42px !important;
    padding: 10px 18px 4px !important;
    background: #ffffff !important;
}

.hospital-profile-card h2 {
    color: #008052 !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
}

.hospital-profile-card h2 .workbench-icon {
    width: 22px !important;
    height: 22px !important;
}

.hospital-profile-form-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 9px 22px !important;
    padding: 6px 18px 12px !important;
}

.hospital-profile-contact-grid {
    grid-template-columns: minmax(140px, .62fr) minmax(260px, 1.28fr) minmax(210px, 1fr) !important;
    gap: 8px 18px !important;
    padding: 6px 18px 12px !important;
}

.hospital-profile-health-grid {
    gap: 14px !important;
    padding: 8px 28px 14px !important;
}

.hospital-profile-field,
.hospital-profile-field.is-wide,
.hospital-profile-health-grid .hospital-profile-field {
    grid-template-columns: 116px minmax(0, 1fr) !important;
    gap: 10px !important;
}

.hospital-profile-contact-grid .hospital-profile-field {
    grid-template-columns: 84px minmax(0, 1fr) !important;
    gap: 8px !important;
}

.hospital-profile-field span:first-child {
    color: #172944 !important;
    font-size: 15px !important;
}

.hospital-profile-field input,
.hospital-profile-field select,
.hospital-profile-control-with-button button {
    height: 36px !important;
    font-size: 14px !important;
}

.hospital-profile-field input,
.hospital-profile-field select {
    border-color: #d4e0e7 !important;
    border-radius: 7px !important;
    padding: 0 12px !important;
}

.hospital-profile-control-with-button {
    grid-template-columns: minmax(0, 1fr) 40px !important;
}

.hospital-profile-disease-card {
    min-height: 0 !important;
    display: grid !important;
    grid-template-rows: 50px minmax(0, 1fr) !important;
}

.hospital-profile-disease-card header {
    padding: 8px 16px 6px 22px !important;
}

.hospital-profile-table-frame {
    min-height: 0 !important;
    margin: 0 16px 12px !important;
    overflow: auto !important;
}

.hospital-profile-table th,
.hospital-profile-table td {
    height: 32px !important;
    padding: 3px 8px !important;
    font-size: 13px !important;
}

.hospital-profile-command-bar {
    min-height: 72px !important;
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) minmax(150px, .45fr) !important;
    gap: 10px !important;
    padding: 8px 10px 10px !important;
    background: #f7fbf9 !important;
}

.hospital-profile-command-button {
    min-height: 52px !important;
    border-radius: 9px !important;
    padding: 0 12px !important;
    gap: 10px !important;
    font-size: 16px !important;
}

.hospital-profile-command-button strong,
.hospital-profile-command-button span {
    font-size: 16px !important;
}

.hospital-profile-command-button .workbench-icon {
    width: 21px !important;
    height: 21px !important;
}

@media (max-width: 1366px) {
    .hospital-profile-page {
        grid-template-rows: minmax(0, 1fr) 64px !important;
    }

    .hospital-profile-workbench {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: minmax(0, 1fr) !important;
        gap: 6px 8px !important;
        padding: 6px !important;
    }

    .hospital-profile-main {
        grid-template-rows: minmax(0, 1fr) 188px !important;
        gap: 6px !important;
    }

    .hospital-profile-upper {
        grid-template-columns: minmax(620px, 1.55fr) minmax(340px, .85fr) !important;
        gap: 6px !important;
    }

    .hospital-profile-left-stack {
        grid-template-rows: minmax(246px, 1fr) 136px !important;
        gap: 6px !important;
    }

    .hospital-profile-card header {
        min-height: 36px !important;
        padding: 8px 14px 2px !important;
    }

    .hospital-profile-card h2 {
        font-size: 17px !important;
    }

    .hospital-profile-form-grid,
    .hospital-profile-contact-grid {
        gap: 6px 12px !important;
        padding: 4px 14px 8px !important;
    }

    .hospital-profile-health-grid {
        gap: 9px !important;
        padding: 6px 16px 10px !important;
    }

    .hospital-profile-field,
    .hospital-profile-field.is-wide,
    .hospital-profile-health-grid .hospital-profile-field {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    .hospital-profile-contact-grid .hospital-profile-field {
        grid-template-columns: 70px minmax(0, 1fr) !important;
    }

    .hospital-profile-field span:first-child,
    .hospital-profile-field input,
    .hospital-profile-field select {
        font-size: 13px !important;
    }

    .hospital-profile-field input,
    .hospital-profile-field select,
    .hospital-profile-control-with-button button {
        height: 32px !important;
    }

    .hospital-profile-command-bar {
        min-height: 64px !important;
        gap: 8px !important;
        padding: 6px 8px !important;
    }

    .hospital-profile-command-button {
        min-height: 48px !important;
    }
}

@media (max-width: 980px) {
    .hospital-profile-page {
        height: auto !important;
        min-height: calc(100vh - 38px) !important;
        grid-template-rows: auto auto !important;
        overflow: visible !important;
    }

    .hospital-profile-workbench {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        overflow: visible !important;
    }

    .hospital-profile-main {
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    .hospital-profile-main,
    .hospital-profile-upper,
    .hospital-profile-left-stack {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        overflow: visible !important;
    }

    .hospital-profile-form-grid,
    .hospital-profile-contact-grid,
    .hospital-profile-health-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .hospital-profile-field,
    .hospital-profile-field.is-wide,
    .hospital-profile-health-grid .hospital-profile-field,
    .hospital-profile-contact-grid .hospital-profile-field {
        grid-column: 1 !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 5px !important;
    }

    .hospital-profile-command-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Daily IC upload workbench. */
.daily-ic-upload-body {
    height: 100vh;
    height: 100dvh;
    margin: 0;
    background: #f7fbfa;
    color: #111827;
    font-family: "Microsoft JhengHei", "Segoe UI", Arial, sans-serif;
    overflow: hidden;
}

.daily-ic-upload-body * {
    box-sizing: border-box;
}

.daily-ic-shell {
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    background: #f7fbfa;
    overflow: hidden;
}

.daily-ic-workspace {
    min-width: 0;
    min-height: 0;
    height: 100vh;
    height: 100dvh;
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) minmax(148px, 172px) 58px;
    gap: 8px;
    padding: 0 14px 8px;
    overflow: hidden;
}

.daily-ic-spec-alert {
    min-height: 36px;
    display: flex;
    align-items: center;
    border: 1px solid #f1d18b;
    border-radius: 8px;
    background: #fff9e9;
    color: #704b00;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 850;
}

.daily-ic-spec-alert.is-error {
    border-color: #efb0b0;
    background: #fff1f1;
    color: #a01414;
}

.daily-ic-titlebar {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    border-bottom: 1px solid #d7e2e4;
    background: rgba(255, 255, 255, .86);
    padding: 9px 4px 10px;
}

.daily-ic-title {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.daily-ic-title-icon {
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: #008f7b;
}

.daily-ic-title h1 {
    margin: 0;
    color: #111111;
    font-size: 26px;
    font-weight: 950;
    line-height: 1.15;
    letter-spacing: 0;
}

.daily-ic-title p {
    margin: 8px 0 0;
    color: #374151;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}

.daily-ic-title-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 16px;
}

.daily-ic-action,
.daily-ic-filter-button,
.daily-ic-command {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid #cfd9df;
    border-radius: 8px;
    background: #ffffff;
    color: #313942;
    font-family: inherit;
    font-weight: 950;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.daily-ic-action {
    min-width: 146px;
    min-height: 46px;
    padding: 0 20px;
    font-size: 18px;
}

.daily-ic-action:hover,
.daily-ic-filter-button:hover,
.daily-ic-command:hover {
    border-color: #008f7b;
    background: #f1fbf8;
    transform: translateY(-1px);
}

.daily-ic-action.is-primary,
.daily-ic-filter-button.is-search,
.daily-ic-command.is-primary {
    border-color: #007e6e;
    background: linear-gradient(180deg, #008f7b 0%, #007567 100%);
    color: #ffffff;
    box-shadow: 0 8px 18px rgba(0, 126, 110, .18);
}

.daily-ic-summary {
    display: grid;
    grid-template-columns: repeat(7, minmax(108px, 1fr)) minmax(180px, .92fr);
    gap: 8px;
}

.daily-ic-stat,
.daily-ic-legend,
.daily-ic-data-panel,
.daily-ic-detail-card {
    border: 1px solid #d9e2e5;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 7px 18px rgba(31, 41, 55, .06);
}

.daily-ic-stat {
    min-height: 64px;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-items: center;
    padding: 7px 10px 8px;
    text-align: center;
}

.daily-ic-stat strong {
    display: block;
    color: #111111;
    font-size: 13px;
    font-weight: 950;
    line-height: 1.15;
}

.daily-ic-stat span {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 5px;
}

.daily-ic-stat b {
    color: #111111;
    font-size: 24px;
    font-weight: 950;
    line-height: 1;
}

.daily-ic-stat .workbench-icon {
    width: 24px;
    height: 24px;
}

.daily-ic-stat.is-green {
    color: #149447;
}

.daily-ic-stat.is-orange {
    color: #ff8a00;
}

.daily-ic-stat.is-red {
    color: #ff1f1f;
}

.daily-ic-stat.is-blue {
    color: #1685d9;
}

.daily-ic-stat.is-teal {
    color: #139aa0;
}

.daily-ic-legend {
    min-height: 64px;
    display: grid;
    align-content: center;
    gap: 3px;
    padding: 7px 10px;
}

.daily-ic-legend strong {
    color: #111111;
    font-size: 12px;
    font-weight: 950;
    line-height: 1.2;
}

.daily-ic-legend span {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: center;
    gap: 3px;
    color: #1f2937;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.2;
}

.legend-dot {
    display: inline-grid;
    place-items: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 950;
}

.legend-dot.is-ok {
    color: #00a33c;
}

.legend-dot.is-error {
    color: #ff1f1f;
}

.legend-dot.is-p {
    color: #008f7b;
}

.legend-dot.is-u {
    color: #147bd1;
}

.daily-ic-data-panel {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) 42px;
    overflow: hidden;
}

.daily-ic-filterbar {
    min-width: 0;
    min-height: 60px;
    display: grid;
    grid-template-columns: minmax(180px, 1.08fr) minmax(270px, 1.55fr) minmax(150px, .9fr) minmax(150px, .9fr) 96px 96px;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #d9e2e5;
    padding: 10px 14px;
    background: #ffffff;
}

.daily-ic-field {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}

.daily-ic-field span {
    color: #111111;
    font-size: 14px;
    font-weight: 950;
    white-space: nowrap;
}

.daily-ic-field input,
.daily-ic-field select,
.daily-ic-pagination select {
    width: 100%;
    height: 36px;
    border: 1px solid #cfd9df;
    border-radius: 6px;
    background: #ffffff;
    color: #111827;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
}

.daily-ic-field input {
    padding: 0 12px;
}

.daily-ic-field select,
.daily-ic-pagination select {
    padding: 0 34px 0 12px;
}

.daily-ic-field input::placeholder {
    color: #9aa5af;
}

.daily-ic-field.is-date-range {
    grid-template-columns: auto minmax(96px, 1fr) 14px minmax(96px, 1fr);
}

.daily-ic-field.is-date-range b {
    color: #111111;
    text-align: center;
    font-size: 14px;
    font-weight: 950;
}

.daily-ic-filter-button {
    min-height: 36px;
    padding: 0 12px;
    font-size: 14px;
}

.daily-ic-filter-button.is-filter {
    border-color: #b7ddd9;
    background: #f3fcfb;
    color: #007c70;
}

.daily-ic-table-scroll {
    min-width: 0;
    min-height: 0;
    overflow: auto;
}

.daily-ic-table {
    width: 100%;
    min-width: 1420px;
    border-collapse: collapse;
    table-layout: fixed;
    color: #111111;
    font-size: 13px;
    font-weight: 850;
}

.daily-ic-table th,
.daily-ic-table td {
    height: 26px;
    border-right: 1px solid #e3e8eb;
    border-bottom: 1px solid #e3e8eb;
    padding: 2px 8px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

.daily-ic-table th {
    height: 30px;
    background: #edf7f7;
    color: #111111;
    font-weight: 950;
}

.daily-ic-table th:first-child,
.daily-ic-table td:first-child {
    width: 40px;
}

.daily-ic-table th:nth-child(2),
.daily-ic-table td:nth-child(2),
.daily-ic-table th:nth-child(3),
.daily-ic-table td:nth-child(3) {
    width: 54px;
}

.daily-ic-table th:nth-child(4),
.daily-ic-table td:nth-child(4),
.daily-ic-table th:nth-child(5),
.daily-ic-table td:nth-child(5),
.daily-ic-table th:nth-child(6),
.daily-ic-table td:nth-child(6),
.daily-ic-table th:nth-child(11),
.daily-ic-table td:nth-child(11),
.daily-ic-table th:nth-child(12),
.daily-ic-table td:nth-child(12) {
    width: 92px;
}

.daily-ic-table th:nth-child(7),
.daily-ic-table td:nth-child(7),
.daily-ic-table th:nth-child(8),
.daily-ic-table td:nth-child(8) {
    width: 58px;
}

.daily-ic-table th:nth-child(9),
.daily-ic-table td:nth-child(9) {
    width: 190px;
}

.daily-ic-table th:nth-child(10),
.daily-ic-table td:nth-child(10) {
    width: 138px;
}

.daily-ic-table th:nth-child(13),
.daily-ic-table td:nth-child(13) {
    width: 122px;
}

.daily-ic-table tbody tr {
    background: #ffffff;
    cursor: default;
}

.daily-ic-table tbody tr:nth-child(even) {
    background: #fbfbfb;
}

.daily-ic-table tbody tr:hover {
    background: #f4fbfb;
}

.daily-ic-table tbody tr.is-selected {
    background: #ffe9e9;
}

.daily-ic-table input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: #008f7b;
}

.daily-ic-card-mark {
    color: #0074d9;
    font-weight: 950;
}

.daily-ic-card-mark.is-error {
    color: #e32626;
}

.daily-ic-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 20px;
    border-radius: 6px;
    padding: 0 8px;
    font-size: 13px;
    font-weight: 950;
}

.daily-ic-status.is-not-uploaded {
    border: 1px solid #ffc3c3;
    background: #ffe8e8;
    color: #ff1f1f;
}

.daily-ic-status.is-uploaded {
    border: 1px solid #9dd9c8;
    background: #e8f8f2;
    color: #08785f;
}

.daily-ic-validation-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 21px;
    border-radius: 999px;
    padding: 2px 9px;
    font-size: 12px;
    font-weight: 900;
}

.daily-ic-validation-badge.is-ready {
    background: #e8f8ef;
    color: #0b7c3d;
}

.daily-ic-validation-badge.is-review {
    background: #fff1df;
    color: #a65a00;
}

.daily-ic-code-cell {
    overflow: hidden;
    text-overflow: ellipsis;
}

.daily-ic-pagination {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(170px, 1fr) auto minmax(170px, 1fr);
    align-items: center;
    gap: 12px;
    border-top: 1px solid #d9e2e5;
    padding: 5px 14px;
    background: #ffffff;
    color: #111111;
    font-size: 14px;
    font-weight: 850;
}

.daily-ic-page-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.daily-ic-page-buttons button {
    min-width: 34px;
    height: 30px;
    border: 1px solid #d4dde2;
    border-radius: 6px;
    background: #ffffff;
    color: #3a4148;
    font-family: inherit;
    font-size: 14px;
    font-weight: 950;
}

.daily-ic-page-buttons button.is-current {
    border-color: #008f7b;
    background: #008f7b;
    color: #ffffff;
}

.daily-ic-pagination label {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.daily-ic-pagination select {
    width: 74px;
    height: 30px;
}

.daily-ic-detail-grid {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr) minmax(260px, .75fr);
    gap: 12px;
}

.daily-ic-detail-card {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.daily-ic-detail-card h2 {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 0 14px;
    color: #008f7b;
    font-size: 16px;
    font-weight: 950;
}

.daily-ic-detail-card table {
    width: max-content;
    min-width: calc(100% - 18px);
    margin: 0 9px 10px;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 13px;
    font-weight: 850;
}

.daily-ic-detail-card .daily-ic-table-scroll {
    margin: 0;
}

.daily-ic-detail-card .daily-ic-table-scroll table {
    margin-bottom: 8px;
}

.daily-ic-detail-card td {
    min-width: 82px;
    white-space: nowrap;
}

.daily-ic-detail-card td.daily-ic-empty {
    min-width: 0;
}

.daily-ic-missing-field {
    background: #fff0f0;
    color: #c21e1e;
}

.daily-ic-provisional {
    color: #9a5a00;
    font-weight: 950;
}

.daily-ic-validation-card {
    grid-template-rows: auto minmax(0, 1fr);
}

.daily-ic-validation-content {
    min-height: 0;
    overflow: auto;
    padding: 2px 14px 12px;
    color: #34424a;
    font-size: 12px;
    line-height: 1.45;
}

.daily-ic-validation-content strong {
    color: #17252d;
}

.daily-ic-validation-content p,
.daily-ic-validation-content ul {
    margin: 5px 0 9px;
}

.daily-ic-validation-content ul {
    padding-left: 19px;
}

.daily-ic-validation-content li + li {
    margin-top: 3px;
}

.daily-ic-ready-text {
    color: #0b7c3d;
    font-weight: 850;
}

.daily-ic-detail-card th,
.daily-ic-detail-card td {
    height: 30px;
    border: 1px solid #dce5e8;
    padding: 4px 8px;
    text-align: center;
}

.daily-ic-detail-card th {
    background: #edf7f7;
    color: #17413b;
    font-weight: 950;
}

.daily-ic-empty {
    height: 44px !important;
    color: #666f77;
    font-size: 16px;
    font-weight: 850;
}

.daily-ic-commandbar {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-columns: 1.45fr 1fr 1fr .8fr;
    gap: 12px;
    align-items: stretch;
    padding: 0;
    overflow: visible;
}

.daily-ic-action:disabled,
.daily-ic-command:disabled {
    border-color: #d7dde0;
    background: #edf0f2;
    color: #8a949b;
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}

.daily-ic-command {
    min-width: 0;
    min-height: 52px;
    padding: 0 18px;
    font-size: 20px;
}

.daily-ic-command span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.daily-ic-command .workbench-icon,
.daily-ic-action .workbench-icon,
.daily-ic-filter-button .workbench-icon,
.daily-ic-title-icon .workbench-icon,
.daily-ic-detail-card .workbench-icon {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
}

.daily-ic-command.is-accent {
    border-color: #1485e8;
    background: #ffffff;
    color: #147bd1;
}

.daily-ic-command.is-danger {
    border-color: #ff3434;
    background: #ffffff;
    color: #ff1f1f;
}

.daily-ic-command.is-danger:hover {
    background: #fff5f5;
    color: #e60000;
}

@media (max-width: 1440px), (max-height: 820px) {
    .daily-ic-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .daily-ic-workspace {
        gap: 8px;
        padding: 0 12px 10px;
    }

    .daily-ic-titlebar {
        min-height: 74px;
        padding-top: 9px;
        padding-bottom: 9px;
    }

    .daily-ic-title h1 {
        font-size: 23px;
    }

    .daily-ic-title p {
        margin-top: 5px;
        font-size: 12px;
    }

    .daily-ic-action {
        min-height: 40px;
        min-width: 124px;
        padding: 0 14px;
        font-size: 16px;
    }

    .daily-ic-summary {
        gap: 8px;
    }

    .daily-ic-stat,
    .daily-ic-legend {
        min-height: 60px;
        padding-top: 6px;
        padding-bottom: 7px;
    }

    .daily-ic-stat strong {
        font-size: 13px;
    }

    .daily-ic-stat b {
        font-size: 22px;
    }

    .daily-ic-filterbar {
        min-height: 52px;
        gap: 8px;
        padding: 8px 10px;
    }

    .daily-ic-field span,
    .daily-ic-filter-button,
    .daily-ic-pagination {
        font-size: 13px;
    }

    .daily-ic-field input,
    .daily-ic-field select {
        height: 32px;
        font-size: 13px;
    }

    .daily-ic-table {
        font-size: 12px;
    }

    .daily-ic-table th,
    .daily-ic-table td {
        height: 23px;
        padding: 1px 6px;
    }

    .daily-ic-table th {
        height: 26px;
    }

    .daily-ic-detail-card {
        min-height: 112px;
    }

    .daily-ic-detail-card h2 {
        min-height: 34px;
        font-size: 15px;
    }

    .daily-ic-detail-card th,
    .daily-ic-detail-card td {
        height: 28px;
        font-size: 12px;
    }

    .daily-ic-empty {
        height: 44px !important;
        font-size: 14px;
    }

    .daily-ic-commandbar {
        min-height: 58px;
        gap: 10px;
    }

    .daily-ic-command {
        min-height: 50px;
        padding: 0 12px;
        font-size: 17px;
    }
}

@media (max-width: 1180px) {
    .daily-ic-summary {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .daily-ic-filterbar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .daily-ic-filter-button {
        min-height: 40px;
    }

    .daily-ic-detail-grid {
        grid-template-columns: repeat(3, minmax(320px, 1fr));
        overflow-x: auto;
    }

    .daily-ic-commandbar {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .daily-ic-upload-body {
        height: auto;
        min-height: 100vh;
        overflow: auto;
    }

    .daily-ic-shell {
        height: auto;
        min-height: 100vh;
        grid-template-columns: minmax(0, 1fr);
        overflow: visible;
    }

    .daily-ic-workspace {
        height: auto;
        min-height: 0;
        grid-template-rows: auto;
        padding: 0 10px 12px;
        overflow: visible;
    }

    .daily-ic-titlebar,
    .daily-ic-title-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .daily-ic-summary,
    .daily-ic-filterbar {
        grid-template-columns: minmax(0, 1fr);
    }

    .daily-ic-detail-grid,
    .daily-ic-commandbar {
        grid-template-columns: minmax(0, 1fr);
    }

    .daily-ic-pagination {
        grid-template-columns: minmax(0, 1fr);
        justify-items: start;
    }

    .daily-ic-pagination label {
        justify-self: start;
    }
}

/* Hospital profile polish: richer hierarchy and a command bar that stays inside the viewport. */
.his-app-shell .app-main > .hospital-profile-page {
    --hp-green: #087f5b;
    --hp-teal: #0f9488;
    --hp-blue: #2563b8;
    --hp-amber: #b7791f;
    --hp-rose: #bd3f56;
    --hp-ink: #10233f;
    --hp-muted: #557067;
    height: calc(100vh - 64px) !important;
    height: calc(100dvh - 64px) !important;
    max-height: calc(100vh - 64px) !important;
    max-height: calc(100dvh - 64px) !important;
    grid-template-rows: minmax(0, 1fr) 56px !important;
    gap: 6px !important;
    padding: 8px !important;
    background:
        linear-gradient(145deg, rgba(222, 242, 255, .8) 0%, rgba(255, 255, 255, 0) 32%),
        linear-gradient(315deg, rgba(255, 239, 209, .82) 0%, rgba(255, 255, 255, 0) 34%),
        linear-gradient(180deg, #f7fbff 0%, #eef8f4 52%, #f9fbf6 100%) !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-workbench {
    gap: 8px !important;
    padding: 0 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-card {
    border-color: #d8e5df !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%) !important;
    box-shadow: 0 8px 22px rgba(23, 55, 72, .07) !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-card header {
    border-bottom: 1px solid #e4eee9 !important;
    border-radius: 8px 8px 0 0 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-basic-card header {
    background: linear-gradient(90deg, #e8f8f1 0%, #ffffff 72%) !important;
    box-shadow: inset 5px 0 0 #0f9488 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-contact-card header {
    background: linear-gradient(90deg, #edf6ff 0%, #ffffff 72%) !important;
    box-shadow: inset 5px 0 0 #2563b8 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-health-card header {
    background: linear-gradient(90deg, #eef8f4 0%, #ffffff 72%) !important;
    box-shadow: inset 5px 0 0 #087f5b !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-disease-card header {
    background: linear-gradient(90deg, #fff7e6 0%, #ffffff 72%) !important;
    box-shadow: inset 5px 0 0 #b7791f !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-basic-card h2 {
    color: #0f766e !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-contact-card h2 {
    color: #2563b8 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-health-card h2 {
    color: #087f5b !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-disease-card h2 {
    color: #9a5c00 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-field input,
.his-app-shell .app-main > .hospital-profile-page .hospital-profile-field select {
    border-color: #cfdee3 !important;
    background: #fbfdff !important;
    color: var(--hp-ink) !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-field input:focus,
.his-app-shell .app-main > .hospital-profile-page .hospital-profile-field select:focus {
    border-color: #0f9488 !important;
    box-shadow: 0 0 0 3px rgba(15, 148, 136, .14) !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table th {
    background: #eaf4f1 !important;
    color: #173b33 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table tbody tr:nth-child(even) td {
    background: #fbf7ef !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-bar {
    align-items: stretch !important;
    min-height: 0 !important;
    height: 56px !important;
    grid-template-columns: minmax(220px, 1fr) minmax(140px, .4fr) !important;
    gap: 8px !important;
    border: 1px solid #d7e6df !important;
    border-radius: 10px !important;
    padding: 6px 8px !important;
    background: rgba(255, 255, 255, .92) !important;
    box-shadow: 0 -8px 24px rgba(24, 64, 52, .08) !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button {
    min-height: 0 !important;
    height: 44px !important;
    border: 1px solid #cbe2da !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, #f4fbf8 0%, #e6f5ef 100%) !important;
    color: #075f52 !important;
    box-shadow: inset 0 -1px 0 rgba(12, 74, 58, .08) !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button:nth-child(2) {
    border-color: #c9ddf6 !important;
    background: linear-gradient(180deg, #f5f9ff 0%, #e9f2ff 100%) !important;
    color: #1e579c !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button:nth-child(3) {
    border-color: #ead7af !important;
    background: linear-gradient(180deg, #fffaf0 0%, #f8edd4 100%) !important;
    color: #8a560d !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button.is-alert {
    border-color: #f0bdc8 !important;
    background: linear-gradient(180deg, #fff4f6 0%, #fde2e7 100%) !important;
    color: #a32843 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button.is-save {
    border-color: #a8dbc8 !important;
    background: linear-gradient(180deg, #e6f8ef 0%, #cef0df 100%) !important;
    color: #006b49 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button.is-cancel {
    border-color: #d7dde3 !important;
    background: linear-gradient(180deg, #fafafa 0%, #eceff2 100%) !important;
    color: #364152 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button strong,
.his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button span {
    font-size: 15px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button .workbench-icon {
    width: 18px !important;
    height: 18px !important;
}

@media (max-width: 1366px), (max-height: 800px) {
    .his-app-shell .app-main > .hospital-profile-page {
        grid-template-rows: minmax(0, 1fr) 52px !important;
        gap: 5px !important;
        padding: 6px !important;
    }

    .his-app-shell .app-main > .hospital-profile-page .hospital-profile-main {
        grid-template-rows: minmax(0, 1fr) 178px !important;
    }

    .his-app-shell .app-main > .hospital-profile-page .hospital-profile-left-stack {
        grid-template-rows: minmax(226px, 1fr) 126px !important;
    }

    .his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-bar {
        height: 52px !important;
        padding: 5px 7px !important;
    }

    .his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button {
        height: 40px !important;
        gap: 7px !important;
    }

    .his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button strong,
    .his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-button span {
        font-size: 14px !important;
    }
}

@media (max-width: 980px) {
    .his-app-shell .app-main > .hospital-profile-page {
        height: auto !important;
        max-height: none !important;
        min-height: calc(100vh - 64px) !important;
        min-height: calc(100dvh - 64px) !important;
        grid-template-rows: auto auto !important;
        overflow: auto !important;
    }

    .his-app-shell .app-main > .hospital-profile-page .hospital-profile-command-bar {
        height: auto !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        position: sticky !important;
        bottom: 6px !important;
    }
}

/* Hospital profile disease grid: tighten the lower panel alignment. */
.his-app-shell .app-main > .hospital-profile-page .hospital-profile-disease-card {
    grid-template-rows: 48px minmax(0, 1fr) !important;
    overflow: hidden !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-disease-card header {
    min-height: 48px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    border-bottom: 0 !important;
    padding: 6px 16px 6px 22px !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-disease-card h2 {
    min-width: 0 !important;
    gap: 8px !important;
    font-size: 18px !important;
    white-space: nowrap !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table-actions {
    min-width: 0 !important;
    gap: 8px !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-small-button {
    min-height: 34px !important;
    height: 34px !important;
    border-color: #d6e2df !important;
    border-radius: 7px !important;
    padding: 0 14px !important;
    background: #ffffff !important;
    color: #087f5b !important;
    box-shadow: 0 1px 0 rgba(16, 35, 63, .04) !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table-frame {
    min-height: 0 !important;
    margin: 0 14px 10px !important;
    border: 1px solid #d5e4e1 !important;
    border-radius: 0 0 7px 7px !important;
    background: #ffffff !important;
    overflow: auto !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table {
    width: 100% !important;
    min-width: 720px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table th,
.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table td {
    height: 34px !important;
    border-right: 1px solid #d5e4e1 !important;
    border-bottom: 1px solid #d5e4e1 !important;
    padding: 3px 8px !important;
    vertical-align: middle !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table th:last-child,
.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table td:last-child {
    border-right: 0 !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table th:nth-child(1) {
    width: 100px !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table th:nth-child(2) {
    width: 170px !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table th:nth-child(3) {
    width: 340px !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-row-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-icon-button {
    width: 26px !important;
    height: 26px !important;
    border: 1px solid #bfded3 !important;
    border-radius: 6px !important;
    background: #f3fbf7 !important;
    color: #087f5b !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-icon-button.is-danger {
    border-color: #f1c4cd !important;
    background: #fff3f5 !important;
    color: #b4233c !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-icon-button .workbench-icon {
    width: 15px !important;
    height: 15px !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table input {
    height: 26px !important;
    border-radius: 5px !important;
    font-size: 14px !important;
}

/* Hospital profile disease card table-cell correction. */
.his-app-shell .app-main > .hospital-profile-page .hospital-profile-disease-card {
    width: 100% !important;
    height: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table thead,
.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table tbody,
.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table tr {
    width: 100% !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table td.hospital-profile-row-actions {
    display: table-cell !important;
    text-align: center !important;
    white-space: nowrap !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table td.hospital-profile-row-actions .hospital-profile-icon-button {
    display: inline-grid !important;
    place-items: center !important;
    margin: 0 3px !important;
    vertical-align: middle !important;
}

.his-app-shell .app-main > .hospital-profile-page .hospital-profile-table-frame {
    box-sizing: border-box !important;
}

.print-layout-page {
    gap: 12px;
}

.print-layout-actions {
    align-items: center;
}

.print-layout-status {
    display: inline-flex;
}

.print-layout-workspace {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    gap: 12px;
}

.print-layout-list-panel,
.print-layout-preview-panel {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.print-layout-table-frame {
    position: relative;
    min-height: 0;
    overflow: auto;
    border: 1px solid #d4e3e8;
    border-radius: 8px;
    background: #ffffff;
}

.print-layout-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.print-layout-table th,
.print-layout-table td {
    height: 42px;
    padding: 8px 10px;
    border-bottom: 1px solid #e3edf1;
    color: #102033;
    font-size: 14px;
    font-weight: 800;
    text-align: left;
    vertical-align: middle;
}

.print-layout-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #edf8f8;
    color: #0a5f5a;
    font-size: 13px;
    font-weight: 950;
}

.print-layout-table tbody tr {
    cursor: pointer;
}

.print-layout-table tbody tr:hover td,
.print-layout-table tbody tr.is-selected td {
    background: #f1fbf9;
}

.print-layout-table td:last-child {
    width: 132px;
    white-space: nowrap;
}

.print-layout-table td button,
.print-layout-empty button,
.print-layout-toolbox button {
    min-height: 30px;
    border: 1px solid #c7dde4;
    border-radius: 6px;
    background: #ffffff;
    color: #102033;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.print-layout-table td button {
    margin-right: 6px;
    padding: 4px 10px;
}

.print-layout-table td button.is-danger {
    border-color: #ffc6c6;
    color: #dc2626;
}

.print-layout-empty {
    position: absolute;
    inset: 52px 0 0;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 12px;
    color: #5d7081;
    font-weight: 900;
}

.print-layout-empty[hidden] {
    display: none;
}

.print-layout-empty button {
    padding: 0 18px;
    border-color: #009986;
    background: #008f7d;
    color: #ffffff;
}

.print-layout-preview-body {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    justify-items: center;
    padding: 12px;
}

.print-layout-mini-paper {
    position: relative;
    overflow: hidden;
    border: 1px solid #cbdde5;
    background: #ffffff;
    box-shadow: 0 12px 28px rgba(16, 32, 51, .12);
}

.print-layout-mini-paper.is-empty {
    display: grid;
    place-items: center;
    width: 220px !important;
    height: 280px !important;
    color: #728394;
    box-shadow: none;
}

.print-layout-mini-item {
    position: absolute;
    overflow: hidden;
    border: 1px solid rgba(0, 138, 126, .45);
    background: rgba(0, 156, 143, .08);
    color: #075f57;
    font-size: 8px;
    line-height: 1.2;
}

.print-layout-mini-item.is-line {
    height: 1px !important;
    border: 0;
    border-top: 1px solid #1f2937;
    background: transparent;
}

.print-layout-summary {
    width: 100%;
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 8px 12px;
    margin: 0;
    padding: 12px;
    border-top: 1px solid #e4edf1;
}

.print-layout-summary dt,
.print-layout-summary dd {
    margin: 0;
    color: #102033;
    font-size: 13px;
    font-weight: 800;
}

.print-layout-summary dt {
    color: #00877a;
    font-weight: 950;
}

.print-layout-editor-modal {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(7, 23, 53, .42);
    opacity: 0;
    pointer-events: none;
    transition: opacity .16s ease;
}

.print-layout-editor-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.print-layout-editor-shell {
    width: min(1540px, calc(100vw - 36px));
    height: min(920px, calc(100vh - 36px));
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid #cfe0e8;
    border-radius: 10px;
    background: #f6fafb;
    box-shadow: 0 24px 70px rgba(5, 26, 47, .28);
}

.print-layout-editor-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid #d9e7ec;
    background: #ffffff;
}

.print-layout-editor-head h2 {
    margin: 0;
    color: #102033;
    font-size: 22px;
    font-weight: 950;
}

.print-layout-editor-head .eyebrow {
    margin: 0 0 4px;
    color: #00877a;
    font-size: 12px;
    font-weight: 950;
}

.print-layout-editor-actions {
    display: flex;
    gap: 10px;
}

.print-layout-editor-topbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 150px 130px 110px;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid #dce9ee;
    background: #f9fcfd;
}

.print-layout-editor-topbar label,
.print-layout-inspector label {
    display: grid;
    gap: 5px;
    color: #0d3840;
    font-size: 12px;
    font-weight: 950;
}

.print-layout-editor-topbar input,
.print-layout-editor-topbar select,
.print-layout-inspector input,
.print-layout-inspector textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid #c5dce5;
    border-radius: 6px;
    background: #ffffff;
    color: #102033;
    font-size: 14px;
    font-weight: 800;
    outline: none;
}

.print-layout-editor-topbar input,
.print-layout-editor-topbar select,
.print-layout-inspector input {
    height: 34px;
    padding: 0 10px;
}

.print-layout-inspector textarea {
    min-height: 76px;
    padding: 8px 10px;
    resize: vertical;
}

.print-layout-editor-body {
    min-height: 0;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr) 270px;
    gap: 12px;
    padding: 12px;
}

.print-layout-toolbox,
.print-layout-canvas-panel,
.print-layout-inspector {
    min-height: 0;
    border: 1px solid #d4e3e8;
    border-radius: 8px;
    background: #ffffff;
}

.print-layout-toolbox,
.print-layout-inspector {
    display: grid;
    align-content: start;
    gap: 10px;
    padding: 12px;
    overflow: auto;
}

.print-layout-toolbox h3,
.print-layout-inspector h3 {
    margin: 0;
    color: #0b5f58;
    font-size: 16px;
    font-weight: 950;
}

.print-layout-toolbox div {
    display: grid;
    gap: 8px;
}

.print-layout-toolbox button {
    width: 100%;
    padding: 0 10px;
    text-align: left;
}

.print-layout-toolbox button:hover {
    border-color: #008f7d;
    color: #007a70;
}

.print-layout-canvas-panel {
    min-width: 0;
    display: grid;
    grid-template-rows: 36px minmax(0, 1fr);
    overflow: hidden;
}

.print-layout-ruler-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    border-bottom: 1px solid #dce9ee;
    background: #f6fbfb;
    color: #0c5f58;
    font-size: 13px;
    font-weight: 950;
}

.print-layout-canvas-scroll {
    min-height: 0;
    overflow: auto;
    padding: 24px;
    background:
        linear-gradient(90deg, rgba(12, 95, 88, .08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(12, 95, 88, .08) 1px, transparent 1px),
        #eaf1f4;
    background-size: 24px 24px;
}

.print-layout-canvas {
    position: relative;
    margin: 0 auto;
    background: #ffffff;
    box-shadow: 0 16px 38px rgba(9, 37, 57, .18);
}

.print-layout-item {
    position: absolute;
    display: grid;
    align-items: center;
    overflow: hidden;
    padding: 2px 4px;
    border: 1px solid rgba(0, 137, 122, .48);
    background: rgba(0, 151, 139, .08);
    color: #102033;
    line-height: 1.25;
    cursor: move;
    user-select: none;
}

.print-layout-item.is-selected {
    border-color: #0b8dff;
    box-shadow: 0 0 0 2px rgba(11, 141, 255, .18);
}

.print-layout-item table {
    width: 100%;
    height: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    pointer-events: none;
}

.print-layout-item th {
    border: 1px solid rgba(16, 32, 51, .35);
    color: #102033;
    font-size: inherit;
    line-height: 1.2;
    text-align: center;
}

.print-layout-item.is-line {
    padding: 0;
    border-color: transparent;
    background: transparent;
}

.print-layout-line-preview {
    display: block;
    width: 100%;
    border-top: 2px solid #111827;
}

.print-layout-item-resize {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 12px;
    height: 12px;
    border-left: 2px solid #0b8dff;
    border-top: 2px solid #0b8dff;
    background: #ffffff;
    cursor: nwse-resize;
}

.print-layout-number-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.print-layout-checkbox {
    grid-template-columns: 1fr auto;
    align-items: center;
}

.print-layout-checkbox input {
    width: 18px;
    height: 18px;
}

.print-layout-inspector .is-danger {
    width: 100%;
    color: #dc2626;
    border-color: #ffc6c6;
}

@media (max-width: 1280px) {
    .print-layout-workspace {
        grid-template-columns: 1fr;
    }

    .print-layout-editor-body {
        grid-template-columns: 160px minmax(0, 1fr) 240px;
    }

    .print-layout-editor-topbar {
        grid-template-columns: 1fr 140px 120px 100px;
    }
}
.drug-name-price-header {
    white-space: nowrap;
}

.drug-price-summary {
    display: inline-block;
    margin-left: 10px;
    color: #08736b;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.soap-expandable-field {
    position: relative;
}

.soap-special-note-row textarea {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 40px;
    display: block;
    border: 0;
    outline: 0;
    resize: none;
    padding: 7px 66px 7px 12px;
    background: transparent;
    color: #b72f24;
    font: inherit;
    font-weight: 900;
    line-height: 1.35;
    overflow: auto;
}

.soap-special-note-row textarea::placeholder {
    color: #b56b64;
    opacity: .85;
}

.soap-reference-screen .soap-note-box textarea {
    padding-right: 70px;
}

.soap-field-expand-button {
    position: absolute;
    top: 6px;
    right: 6px;
    z-index: 2;
    min-width: 50px;
    height: 28px;
    border: 1px solid #8fb8bd;
    border-radius: 5px;
    padding: 0 8px;
    background: #ffffff;
    color: #086f76;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 2px 7px rgba(22, 74, 83, .12);
}

.soap-field-expand-button:hover,
.soap-field-expand-button:focus-visible {
    border-color: #087e85;
    background: #eaf7f7;
    outline: none;
}

.soap-expandable-field.is-expanded {
    position: fixed !important;
    inset: 54px 4vw 34px !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    z-index: 1200;
    box-shadow: 0 18px 55px rgba(5, 40, 53, .38) !important;
}

.soap-special-note-row.is-expanded {
    grid-template-columns: 112px minmax(0, 1fr);
    background: #fffafa;
}

.soap-expandable-field.is-expanded textarea {
    height: 100% !important;
    min-height: 0 !important;
    padding: 18px 82px 18px 18px !important;
    font-size: 18px;
    line-height: 1.55;
}

.soap-expandable-field.is-expanded .soap-field-expand-button {
    top: 12px;
    right: 12px;
}

.soap-reference-body.has-soap-field-expanded::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1190;
    background: rgba(10, 35, 45, .32);
}

@media (max-width: 820px) {
    .soap-expandable-field.is-expanded {
        inset: 42px 12px 18px !important;
    }
}

.soap-drug-detail-modal input[data-soap-drug-detail]:not([readonly]) {
    border-color: #98cbb8;
    background: #fffef4;
    color: #102236;
    box-shadow: inset 0 0 0 1px rgba(20, 132, 88, .08);
}

.soap-drug-detail-modal input[data-soap-drug-detail]:not([readonly]):focus {
    border-color: #078552;
    background: #ffffff;
    outline: 2px solid rgba(7, 133, 82, .16);
}

/* Doctor schedule setting */
.doctor-schedule-page {
    width: 100%;
    max-width: none;
    min-height: calc(100vh - 92px);
    padding: 22px 26px 34px;
    color: #18332d;
    background: #f5f8f7;
    box-sizing: border-box;
    animation: doctor-schedule-enter .22s ease-out both;
}

.doctor-schedule-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid #cddbd6;
}

.doctor-schedule-back {
    display: inline-block;
    margin-bottom: 8px;
    color: #397260;
    font-size: 13px;
    text-decoration: none;
}

.doctor-schedule-toolbar {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 60px;
    border-bottom: 1px solid #d6e1dd;
}

.doctor-schedule-toolbar > label:not(.doctor-schedule-check) {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #61756f;
    font-size: 13px;
}

.doctor-schedule-toolbar select {
    min-width: 180px;
    height: 34px;
    padding: 0 30px 0 10px;
    border: 1px solid #b9cdc6;
    border-radius: 5px;
    color: #203b34;
    background: #fff;
}

.doctor-schedule-view-toggle {
    display: inline-flex;
    align-items: center;
    padding: 3px;
    border: 1px solid #b9cdc6;
    border-radius: 999px;
    background: #eef3f1;
}

.doctor-schedule-view-toggle button {
    min-width: 62px;
    height: 28px;
    padding: 0 12px;
    border: 0;
    border-radius: 999px;
    color: #60756e;
    background: transparent;
    font-size: 12px;
    font-weight: 750;
    transition: color .15s ease, background .15s ease, box-shadow .15s ease;
}

.doctor-schedule-view-toggle button:hover:not(.is-active) {
    color: #287f64;
    background: rgba(255, 255, 255, .72);
}

.doctor-schedule-view-toggle button.is-active {
    color: #fff;
    background: #287f64;
    box-shadow: 0 2px 6px rgba(35, 101, 80, .2);
}

.doctor-schedule-check {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #526b63;
    font-size: 13px;
}

.doctor-schedule-check input {
    width: 16px;
    height: 16px;
    accent-color: #267e64;
}

.doctor-schedule-export-button {
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid #287f64;
    border-radius: 5px;
    color: #287f64;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
    transition: color .15s ease, background .15s ease, border-color .15s ease;
}

.doctor-schedule-export-button:hover,
.doctor-schedule-export-button:focus-visible {
    color: #fff;
    background: #287f64;
    outline: 0;
}

.doctor-schedule-export-button:disabled {
    border-color: #b8c8c3;
    color: #879991;
    background: #edf2f0;
    cursor: wait;
}

.doctor-schedule-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
    color: #6b7e78;
    font-size: 12px;
}

.doctor-schedule-summary strong {
    color: #267e64;
}

#doctorSchedulePageStatus {
    min-width: 150px;
    margin: 0;
    color: #657a73;
    font-size: 12px;
    text-align: right;
}

#doctorSchedulePageStatus.is-error {
    color: #b3483f;
}

.doctor-schedule-layout {
    padding-top: 20px;
}

.doctor-schedule-board {
    min-width: 0;
}

.doctor-schedule-week-section,
.doctor-schedule-month-section {
    background: #fff;
    border: 1px solid #d3e0dc;
}

.doctor-schedule-month-section {
    height: clamp(360px, calc(100vh - 280px), 780px);
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
}

.doctor-schedule-month-section[hidden] {
    display: none;
}

.doctor-schedule-week-section > header,
.doctor-schedule-month-section > header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 18px 13px;
    border-bottom: 1px solid #dbe5e1;
}

.doctor-schedule-week-section > header p,
.doctor-schedule-month-section > header p {
    margin: 0 0 3px;
    color: #4c8b77;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
}

.doctor-schedule-week-section h2,
.doctor-schedule-month-section h2 {
    margin: 0;
    color: #213b34;
    font-size: 17px;
}

.doctor-schedule-week-controls,
.doctor-schedule-month-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}

.doctor-schedule-week-controls strong,
.doctor-schedule-month-controls strong {
    min-width: 146px;
    color: #35594e;
    font-size: 13px;
    text-align: center;
}

.doctor-schedule-week-controls button,
.doctor-schedule-month-controls button {
    min-height: 32px;
    padding: 0 11px;
    border: 1px solid #b9cdc6;
    border-radius: 999px;
    color: #356252;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
    transition: border-color .15s ease, background .15s ease;
}

.doctor-schedule-week-controls button:hover:not(:disabled),
.doctor-schedule-month-controls button:hover:not(:disabled) {
    border-color: #5da58e;
    background: #edf7f3;
}

.doctor-schedule-week-controls button:disabled,
.doctor-schedule-month-controls button:disabled {
    color: #8a9994;
    background: #eef3f1;
    cursor: default;
}

.doctor-schedule-week-controls .doctor-schedule-copy-button,
.doctor-schedule-month-controls .doctor-schedule-copy-button {
    margin-left: 4px;
    border-color: #287f64;
    color: #fff;
    background: #287f64;
}

.doctor-schedule-week-controls .doctor-schedule-copy-button:hover:not(:disabled),
.doctor-schedule-month-controls .doctor-schedule-copy-button:hover:not(:disabled) {
    border-color: #1f6d55;
    color: #fff;
    background: #1f6d55;
}

.doctor-schedule-week-controls .doctor-schedule-copy-button:disabled,
.doctor-schedule-month-controls .doctor-schedule-copy-button:disabled {
    border-color: #9eb6ae;
    color: #f5f8f7;
    background: #9eb6ae;
}

.doctor-schedule-week-section {
    overflow-x: auto;
}

.doctor-schedule-week-grid {
    display: grid;
    grid-template-columns: minmax(108px, .85fr) repeat(7, minmax(116px, 1fr));
    min-width: 934px;
    background: #dfe8e5;
    gap: 1px;
}

.doctor-schedule-month-frame {
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-color: #7fa99b #edf3f1;
    scrollbar-gutter: stable;
}

.doctor-schedule-month-frame::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

.doctor-schedule-month-frame::-webkit-scrollbar-track {
    background: #edf3f1;
}

.doctor-schedule-month-frame::-webkit-scrollbar-thumb {
    border: 3px solid #edf3f1;
    border-radius: 999px;
    background: #7fa99b;
}

.doctor-schedule-month-frame::-webkit-scrollbar-thumb:hover {
    background: #5f8e7e;
}

.doctor-schedule-month-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(150px, 1fr));
    min-width: 1050px;
    background: #dfe8e5;
    gap: 1px;
}

.doctor-schedule-month-weekday {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    color: #35594e;
    background: #f2f6f4;
    font-size: 12px;
    font-weight: 800;
}

.doctor-schedule-month-weekday.is-weekend {
    color: #805d42;
    background: #f8f3ed;
}

.doctor-schedule-month-day {
    min-height: 190px;
    padding: 8px;
    background: #fff;
    box-sizing: border-box;
}

.doctor-schedule-month-day.is-outside {
    background: #f5f7f6;
}

.doctor-schedule-month-day > header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 28px;
}

.doctor-schedule-month-day > header span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    color: #536d65;
    font-size: 12px;
    font-weight: 800;
}

.doctor-schedule-month-day.is-today > header span {
    color: #fff;
    background: #287f64;
}

.doctor-schedule-month-session {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: start;
    gap: 6px;
    min-height: 42px;
    padding: 7px 4px;
    border-top: 1px solid #edf2f0;
    border-radius: 5px;
    box-sizing: border-box;
    transition: background .15s ease, box-shadow .15s ease;
}

.doctor-schedule-month-session > b {
    padding-top: 6px;
    color: #527067;
    font-size: 11px;
    line-height: 1.2;
}

.doctor-schedule-month-session.can-add {
    cursor: pointer;
}

.doctor-schedule-month-session.can-add:hover,
.doctor-schedule-month-session.can-add:focus-visible {
    background: #e9f6f1;
    box-shadow: inset 0 0 0 1px #70b49e;
    outline: 0;
}

.doctor-schedule-month-session.is-saving {
    cursor: wait;
    background: #edf5f2;
}

.doctor-schedule-month-session .doctor-schedule-doctor-pills {
    gap: 5px;
}

.doctor-schedule-month-session .doctor-schedule-doctor-pill {
    min-height: 27px;
    padding-left: 9px;
    font-size: 12px;
}

.doctor-schedule-slot-head,
.doctor-schedule-session-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 40px;
    padding: 0 11px;
    color: #365b50;
    background: #f2f6f4;
    box-sizing: border-box;
}

.doctor-schedule-slot-head {
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    font-size: 12px;
    font-weight: 800;
}

.doctor-schedule-slot-head.is-corner {
    flex-direction: row;
    justify-content: flex-start;
}

.doctor-schedule-slot-head small {
    color: #82918c;
    font-size: 11px;
    font-weight: 650;
}

.doctor-schedule-slot-head.is-weekend {
    color: #805d42;
    background: #f8f3ed;
}

.doctor-schedule-session-head {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1px;
    min-height: 66px;
    background: #f8faf9;
}

.doctor-schedule-session-head strong {
    color: #294d43;
    font-size: 13px;
}

.doctor-schedule-session-head small {
    color: #889791;
    font-size: 10px;
}

.doctor-schedule-slot {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 88px;
    padding: 10px;
    border: 0;
    color: #264b40;
    background: #fff;
    text-align: center;
    box-sizing: border-box;
    transition: border-color .15s ease, background .15s ease, transform .15s ease, box-shadow .15s ease;
}

.doctor-schedule-slot:hover:not(.is-overview) {
    position: relative;
    z-index: 1;
    background: #e9f6f1;
    box-shadow: inset 0 0 0 2px #70b49e;
}

.doctor-schedule-slot.is-empty {
    cursor: pointer;
    background: #fbfcfc;
}

.doctor-schedule-slot.is-booked {
    background: #e5f3ee;
    box-shadow: inset 3px 0 0 #2e9475;
}

.doctor-schedule-slot.is-overview {
    background: #fbfcfc;
}

.doctor-schedule-slot.is-overview.has-bookings {
    background: #edf7f3;
    box-shadow: inset 3px 0 0 #4b9f84;
}

.doctor-schedule-doctor-pills {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    gap: 7px;
    width: 100%;
}

.doctor-schedule-doctor-pill-wrap {
    position: relative;
    display: inline-flex;
}

.doctor-schedule-doctor-pill {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 34px 0 11px;
    border: 1px solid #c4d5cf;
    border-radius: 999px;
    cursor: pointer;
    color: #3d6257;
    background: #fff;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.2;
    white-space: nowrap;
}

.doctor-schedule-pill-delete {
    position: absolute;
    top: 50%;
    right: 4px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #9c5149;
    background: #f7e5e2;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) scale(.82);
    transition: opacity .12s ease, transform .12s ease, background .12s ease;
}

.doctor-schedule-doctor-pill-wrap:hover .doctor-schedule-pill-delete,
.doctor-schedule-doctor-pill-wrap:focus-within .doctor-schedule-pill-delete {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(-50%) scale(1);
}

.doctor-schedule-pill-delete:hover,
.doctor-schedule-pill-delete:focus-visible {
    color: #fff;
    background: #b84f46;
    outline: 0;
}

.doctor-schedule-doctor-pill.is-selected-doctor {
    border-color: #287f64;
    color: #fff;
    background: #287f64;
}

.doctor-schedule-doctor-pill.is-inactive-doctor {
    border-style: dashed;
    filter: grayscale(.65);
    opacity: .58;
}

.doctor-schedule-doctor-pill.is-closed-doctor {
    border-color: #d8aaa4;
    color: #9b4d45;
    background: #f9e7e4;
    text-decoration: line-through;
}

.doctor-schedule-slot.is-selected {
    position: relative;
    z-index: 1;
    background: #d8eee6;
    box-shadow: inset 0 0 0 2px #247b62;
}

.doctor-schedule-slot.is-saving {
    cursor: wait;
    background: #edf5f2;
}

.doctor-schedule-matrix-message {
    grid-column: 1 / -1;
    display: grid;
    justify-items: center;
    gap: 5px;
    padding: 48px 20px;
    color: #74877f;
    background: #fbfcfc;
    text-align: center;
}

.doctor-schedule-matrix-message strong {
    color: #35594e;
    font-size: 14px;
}

.doctor-schedule-matrix-message span {
    font-size: 12px;
}

.doctor-schedule-matrix-message.is-warning strong {
    color: #9a5d35;
}

@keyframes doctor-schedule-enter {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 720px) {
    .doctor-schedule-page {
        padding: 15px 12px 24px;
    }

    .doctor-schedule-head,
    .doctor-schedule-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .doctor-schedule-week-section > header,
    .doctor-schedule-month-section > header {
        align-items: stretch;
        flex-direction: column;
    }

    .doctor-schedule-week-controls,
    .doctor-schedule-month-controls {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .doctor-schedule-week-controls strong,
    .doctor-schedule-month-controls strong {
        order: -1;
        width: 100%;
        text-align: left;
    }

    .doctor-schedule-view-toggle {
        align-self: flex-start;
    }

    .doctor-schedule-export-button {
        align-self: flex-start;
    }

    .doctor-schedule-month-section {
        height: 520px;
    }

    .doctor-schedule-summary {
        margin-left: 0;
    }

    #doctorSchedulePageStatus {
        text-align: left;
    }

}

@media (prefers-reduced-motion: reduce) {
    .doctor-schedule-page {
        animation: none;
    }

    .doctor-schedule-slot,
    .doctor-schedule-month-session,
    .doctor-schedule-pill-delete,
    .doctor-schedule-week-controls button,
    .doctor-schedule-month-controls button,
    .doctor-schedule-view-toggle button,
    .doctor-schedule-export-button {
        transition: none;
    }
}
/* Vaccination workbench */
body.vaccination-workbench-open {
    overflow: hidden;
}

.vaccination-workbench-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: none;
    padding: 18px;
    background: rgba(7, 35, 29, .56);
    backdrop-filter: blur(3px);
}

.vaccination-workbench-modal.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
    animation: vaccination-backdrop-in .16s ease-out;
}

.vaccination-workbench {
    width: min(1580px, 98vw);
    height: min(920px, 96vh);
    overflow: hidden;
    border: 1px solid #bcd8ce;
    border-radius: 14px;
    background: #f3f8f6;
    color: #173c35;
    box-shadow: 0 28px 80px rgba(4, 35, 29, .28);
    animation: vaccination-workbench-in .2s ease-out;
}

.vaccination-workbench button,
.vaccination-workbench input,
.vaccination-workbench select {
    font: inherit;
}

.vaccination-workbench-header {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 22px;
    background: #0b745b;
    color: #fff;
}

.vaccination-workbench-heading {
    display: flex;
    align-items: baseline;
    gap: 28px;
}

.vaccination-workbench-heading strong {
    font-size: 26px;
    letter-spacing: .02em;
}

.vaccination-workbench-heading span {
    color: rgba(255,255,255,.86);
    font-weight: 700;
}

.vaccination-workbench-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.vaccination-workbench-header-actions button {
    min-height: 38px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 8px;
    padding: 7px 20px;
    background: rgba(255,255,255,.14);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.vaccination-workbench-header-actions button.is-light {
    min-width: 185px;
    background: #fff;
    color: #18473d;
}

.vaccination-workbench-header-actions .vaccination-workbench-close {
    min-width: 40px;
    padding: 5px 10px;
    font-size: 24px;
}

.vaccination-workbench-body {
    height: calc(100% - 68px);
    display: grid;
    grid-template-columns: 300px minmax(560px, 1fr) 280px;
    grid-template-rows: minmax(500px, 1fr) 220px;
    gap: 14px;
    padding: 16px;
    overflow: auto;
}

.vaccination-roster-panel,
.vaccination-current-panel,
.vaccination-inventory-panel,
.vaccination-history-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d3e2dc;
    border-radius: 12px;
    background: #fff;
}

.vaccination-roster-panel,
.vaccination-inventory-panel {
    display: flex;
    flex-direction: column;
    padding: 16px;
}

.vaccination-roster-panel {
    grid-row: 1 / span 2;
}

.vaccination-roster-panel > header,
.vaccination-inventory-panel > header,
.vaccination-history-panel > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.vaccination-roster-panel > header strong,
.vaccination-inventory-panel > header strong,
.vaccination-history-panel > header strong {
    font-size: 18px;
}

.vaccination-roster-panel > header span {
    border-radius: 999px;
    padding: 6px 18px;
    background: #e7f3ee;
    color: #31564c;
    font-weight: 800;
}

.vaccination-search input,
.vaccination-batch-editor input,
.vaccination-form-grid input,
.vaccination-form-grid select,
.vaccination-secondary-fields input:not([type="radio"]):not([type="checkbox"]),
.vaccination-secondary-fields select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #bfd8ce;
    border-radius: 8px;
    padding: 8px 12px;
    background: #fff;
    color: #173c35;
    font-weight: 750;
}

.vaccination-search input:focus,
.vaccination-batch-editor input:focus,
.vaccination-form-grid input:focus,
.vaccination-form-grid select:focus,
.vaccination-secondary-fields input:not([type="radio"]):not([type="checkbox"]):focus,
.vaccination-secondary-fields select:focus {
    outline: 3px solid rgba(20, 143, 108, .14);
    border-color: #178e6c;
}

.vaccination-roster-filters {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin: 12px 0;
}

.vaccination-roster-filters button {
    border: 0;
    border-radius: 999px;
    padding: 8px 6px;
    background: #f1f5f3;
    color: #36544c;
    font-weight: 800;
    cursor: pointer;
}

.vaccination-roster-filters button.is-active {
    background: #138c68;
    color: #fff;
}

.vaccination-roster-list,
.vaccination-batch-list {
    min-height: 0;
    overflow: auto;
    scrollbar-width: thin;
}

.vaccination-roster-item {
    width: 100%;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    border: 0;
    border-bottom: 1px solid #e2ebe7;
    padding: 13px 7px;
    background: transparent;
    color: #24463e;
    text-align: left;
    cursor: pointer;
}

.vaccination-roster-item.is-current {
    border: 1px solid #70c5a9;
    border-radius: 10px;
    background: #e2f4ed;
}

.vaccination-roster-avatar {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #d9eee7;
    font-weight: 900;
}

.vaccination-roster-item > span:nth-child(2) {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.vaccination-roster-item strong {
    font-size: 17px;
}

.vaccination-roster-item small,
.vaccination-roster-item em {
    overflow: hidden;
    color: #71877f;
    font-size: 12px;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vaccination-roster-item > b {
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    white-space: nowrap;
}

.vaccination-roster-item > b.is-waiting { background: #fff1cf; color: #7f5b17; }
.vaccination-roster-item > b.is-completed { background: #e4f2ed; color: #276b57; }

.vaccination-current-panel {
    display: flex;
    flex-direction: column;
    padding: 18px 22px;
    overflow: auto;
    scrollbar-width: thin;
}

.vaccination-current-patient {
    position: relative;
    border-bottom: 1px solid #dce9e4;
    padding: 0 120px 14px 0;
}

.vaccination-current-patient > div:first-child {
    display: grid;
}

.vaccination-current-patient > div:first-child span {
    font-weight: 800;
}

.vaccination-current-patient > div:first-child strong {
    margin-top: 2px;
    font-size: 24px;
}

.vaccination-patient-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 6px;
    color: #74877f;
    font-size: 13px;
}

.vaccination-current-patient > button {
    position: absolute;
    right: 0;
    top: 14px;
    border: 1px solid #b9d8cc;
    border-radius: 8px;
    padding: 8px 14px;
    background: #fff;
    color: #244a3f;
    font-weight: 900;
    cursor: pointer;
}

.vaccination-form-grid {
    display: grid;
    grid-template-columns: 1fr 1.45fr .7fr;
    gap: 14px;
    margin-top: 16px;
}

.vaccination-form-grid label,
.vaccination-secondary-fields > label {
    min-width: 0;
    display: grid;
    gap: 6px;
    font-weight: 900;
}

.vaccination-form-grid label > span,
.vaccination-secondary-fields label > span {
    font-size: 13px;
}

.vaccination-form-grid .is-span-2,
.vaccination-secondary-fields .is-span-2 {
    grid-column: span 2;
}

.vaccination-batch-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 14px;
    border-radius: 9px;
    padding: 11px 16px;
    background: #e7f4ef;
}

.vaccination-batch-summary span {
    display: grid;
    gap: 3px;
}

.vaccination-batch-summary small { color: #72867e; }
.vaccination-batch-summary b { font-size: 15px; }

.vaccination-secondary-fields {
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) minmax(170px, .8fr) minmax(190px, 1fr);
    gap: 12px;
    align-items: end;
    margin-top: 14px;
}

.vaccination-secondary-fields fieldset {
    min-width: 0;
    min-height: 0;
    display: grid;
    align-content: end;
    gap: 6px;
    border: 0;
    margin: 0;
    padding: 0;
}

.vaccination-secondary-fields legend {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-weight: 900;
}

.vaccination-choice-group {
    height: 42px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

.vaccination-secondary-fields .vaccination-choice-group label {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 1px solid #bfd8ce;
    border-radius: 8px;
    padding: 0 10px;
    background: #fff;
    color: #36564d;
    font-weight: 800;
    cursor: pointer;
    transition: border-color .14s ease, background-color .14s ease, color .14s ease;
}

.vaccination-choice-group input[type="radio"] {
    width: 17px;
    height: 17px;
    min-height: 0;
    margin: 0;
    accent-color: #138c68;
}

.vaccination-secondary-fields .vaccination-choice-group label:has(input:checked) {
    border-color: #138c68;
    background: #e5f4ee;
    color: #0c674f;
    box-shadow: inset 0 0 0 1px rgba(19, 140, 104, .16);
}

.vaccination-secondary-fields .vaccination-choice-group label:hover {
    border-color: #62b99d;
    background: #f0f8f5;
}

.vaccination-write-ic {
    height: 42px;
    display: flex !important;
    align-items: center;
    gap: 8px !important;
    border: 1px solid #bfd8ce;
    border-radius: 8px;
    padding: 0 12px;
    background: #fff;
    color: #36564d;
    cursor: pointer;
    transition: border-color .14s ease, background-color .14s ease;
}

.vaccination-write-ic input {
    width: 18px;
    height: 18px;
    min-height: 0;
    margin: 0;
    accent-color: #138c68;
}

.vaccination-write-ic:has(input:checked) {
    border-color: #138c68;
    background: #e5f4ee;
}

.vaccination-form-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding-top: 14px;
}

.vaccination-form-actions button,
.vaccination-inventory-panel header button,
.vaccination-batch-editor button {
    min-height: 40px;
    border: 1px solid #b8d7cb;
    border-radius: 8px;
    padding: 8px 18px;
    background: #fff;
    color: #265347;
    font-weight: 900;
    cursor: pointer;
}

.vaccination-form-actions .is-primary,
.vaccination-batch-editor button {
    border-color: #138c68;
    background: #138c68;
    color: #fff;
}

.vaccination-workbench-status {
    min-width: 0;
    flex: 1;
    color: #5d756d;
    font-size: 13px;
    font-weight: 800;
}

.vaccination-workbench-status.is-error { color: #b53d38; }
.vaccination-workbench-status.is-success { color: #117253; }

.vaccination-inventory-panel > header button {
    padding: 6px 12px;
}

.vaccination-batch-editor {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px;
    margin-bottom: 12px;
    border-radius: 9px;
    padding: 10px;
    background: #eef6f3;
}

.vaccination-batch-editor[hidden] { display: none; }
.vaccination-batch-editor button { grid-column: 1 / -1; }

.vaccination-batch-list {
    display: grid;
    align-content: start;
    gap: 10px;
    margin-top: 12px;
}

.vaccination-batch-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px 10px;
    border: 1px solid #d1e2dc;
    border-radius: 10px;
    padding: 13px 15px;
    background: #fff;
    color: #24473e;
    text-align: left;
    cursor: pointer;
}

.vaccination-batch-item.is-selected {
    border-color: #63b99c;
    background: #ddf2e9;
    box-shadow: inset 4px 0 0 #138c68;
}

.vaccination-batch-item strong { font-size: 17px; }
.vaccination-batch-item span { grid-column: 1 / -1; color: #71877f; font-size: 12px; }
.vaccination-batch-item b { grid-column: 1; }
.vaccination-batch-item small { grid-column: 2; color: #71877f; }

.vaccination-stock-warning {
    margin-top: 12px;
    border-radius: 8px;
    padding: 12px;
    background: #fff2d6;
    color: #765312;
    font-weight: 800;
}

.vaccination-history-panel {
    grid-column: 2 / span 2;
    padding: 14px 22px;
}

.vaccination-history-panel > header span {
    color: #758a82;
    font-size: 13px;
}

.vaccination-history-table-wrap {
    max-height: 180px;
    overflow: auto;
}

.vaccination-history-panel table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.vaccination-history-panel th {
    position: sticky;
    top: 0;
    background: #edf5f2;
    color: #24473e;
    text-align: left;
}

.vaccination-history-panel th,
.vaccination-history-panel td {
    border-bottom: 1px solid #dfebe6;
    padding: 10px 12px;
    white-space: nowrap;
}

.vaccination-empty {
    margin: 18px 4px;
    color: #74877f;
    text-align: center;
}

@keyframes vaccination-backdrop-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes vaccination-workbench-in {
    from { opacity: 0; transform: translateY(12px) scale(.99); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 1240px) {
    .vaccination-workbench-body {
        grid-template-columns: 300px minmax(500px, 1fr);
        grid-template-rows: minmax(520px, auto) 340px 250px;
    }
    .vaccination-roster-panel { grid-row: 1 / span 3; }
    .vaccination-inventory-panel { grid-column: 2; grid-row: 2; }
    .vaccination-history-panel { grid-column: 2; grid-row: 3; }
    .vaccination-secondary-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
    .vaccination-workbench-modal { padding: 0; }
    .vaccination-workbench { width: 100vw; height: 100vh; border-radius: 0; }
    .vaccination-workbench-header { align-items: flex-start; padding: 12px; }
    .vaccination-workbench-heading { display: grid; gap: 2px; }
    .vaccination-workbench-heading strong { font-size: 19px; }
    .vaccination-workbench-header-actions button:not(.vaccination-workbench-close) { display: none; }
    .vaccination-workbench-body { display: block; height: calc(100% - 68px); padding: 10px; }
    .vaccination-roster-panel,
    .vaccination-current-panel,
    .vaccination-inventory-panel,
    .vaccination-history-panel { margin-bottom: 10px; }
    .vaccination-roster-panel { max-height: 340px; }
    .vaccination-form-grid,
    .vaccination-secondary-fields { grid-template-columns: 1fr; }
    .vaccination-form-grid .is-span-2,
    .vaccination-secondary-fields .is-span-2 { grid-column: auto; }
    .vaccination-form-actions { flex-wrap: wrap; }
    .vaccination-workbench-status { flex-basis: 100%; order: -1; }
}

