body.admin-simple-page .simple-week-calendar { height: calc(100dvh - 222px); grid-template-rows:72px; grid-auto-rows:minmax(78px,auto); }
.tooth-option .tooth-option__number { top: calc(50% + var(--label-y)); left: calc(50% + var(--label-x)); right: auto; width: 22px; text-align: center; transform: translate(-50%,-50%); pointer-events: none; }
.review-today-staff { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; max-width: none; margin-left: 0; font-size: 16px; font-weight: 700; white-space:nowrap; }
.review-today-staff small { width: 100%; color: #738080; font-size: 10px; }
.simple-week-heading { position: relative; min-width:0; grid-template-columns:auto minmax(0,1fr) auto; padding-bottom: 65px; }
.simple-shift-button { grid-column:1; grid-row:1; }
.review-today-staff { grid-column:2; grid-row:1; }
.simple-week-actions { grid-column:3; grid-row:1; }
.simple-week-titlebar { grid-column:1 / -1; grid-row:2; }
.simple-today-link { position: absolute; bottom: 8px; left: calc(25vw - 16px); transform: translateX(-50%); display: grid!important; place-items: center; width: 210px; min-height: 48px!important; margin: 0!important; border: 1px solid #0066cc; border-radius: 24px; background: #e7f3ff; color: #0066cc; font-size: 18px!important; font-weight: 800; }
.simple-week-calendar { overflow-anchor:none; }
body.admin-simple-page .simple-week-calendar__head { grid-template-columns:minmax(0,1fr); grid-template-rows:1fr; }
body.admin-simple-page .simple-week-calendar__date-link { width:100%; justify-items:center; align-content:center; grid-template-rows:auto 18px; text-align:center; padding:4px 6px; }
body.admin-simple-page .simple-week-calendar__date-link > small { grid-row:2; line-height:18px; }
/* 月も日付と同じ書式・上段位置に揃える。下段は休診表示と同じ余白。 */
.simple-compact-month.is-other-month { display:inline; }
body.admin-simple-page .simple-week-calendar__corner strong { font:700 clamp(22px, 1.25vw, 32px) Arial, sans-serif; white-space:nowrap; }
@media (max-width:1100px), (pointer:coarse) and (max-width:1366px) {
 body.admin-simple-page .simple-week-calendar__corner strong { font-size:20px; }
}
@media(max-width:1100px){
 .simple-week-heading { flex-wrap:wrap; padding-bottom: 60px!important; }
 .simple-compact-title { display:none!important; }
 .review-today-staff { flex:1; font-size:13px; max-width:none; margin:0; gap:4px 8px; }
 .simple-week-titlebar { display:contents!important; }
 .simple-week-titlebar > :not(.simple-today-link) { display:none!important; }
 .simple-date-today { display:none!important; }
 .simple-today-link { left:50%; }
 body.admin-simple-page .simple-week-calendar { height:calc(100dvh - 245px); grid-template-rows:92px; grid-auto-rows:minmax(88px,auto); }
 .tooth-chart-dialog { width:calc(100% - 16px); max-width:620px; }
}
/* Keep the menu in one row; secondary information yields before controls. */
/* Compact patient details, without changing read-only restrictions. */
.review-patient-save-footer { position:sticky; bottom:-20px; z-index:20; display:flex; justify-content:flex-end; align-items:center; gap:12px; padding:12px 0; background:#fff; border-top:1px solid #dce5e5; }
.review-patient-save-footer [role=status] { margin-right:auto; font-size:13px; color:#a32922; }
.review-patient-save-footer > button { flex:0 0 auto; min-width:100px; white-space:nowrap; }
.review-patient-save-footer > .review-care-plan-button { margin-right:auto; font-size:14px; padding:8px 12px; }
.review-care-plan-dialog { width:min(760px,calc(100vw - 24px)); }
.review-care-plan-dialog textarea { width:100%; min-height:240px; resize:vertical; padding:12px; border:1px solid #bccaca; border-radius:12px; font-size:16px; line-height:1.6; }
.review-care-plan-help { color:#738080; font-size:13px; }
.review-care-plan-actions { display:flex; justify-content:flex-end; }
.review-patient-save-footer > a { flex:0 1 auto; font-size:14px; min-height:44px; padding:8px 12px; text-align:center; }
@media(max-width:600px){
 .review-patient-save-footer { flex-wrap:wrap; gap:8px; }
 .review-patient-save-footer [role=status]:empty { display:none; }
 .review-patient-save-footer [role=status]:not(:empty) { flex-basis:100%; }
 .review-patient-save-footer > a { flex:1; min-width:0; font-size:12px; }
 .review-patient-save-footer > button { min-width:76px; }
}
[data-review-common-save] button[type=submit][hidden] { display:none!important; }
[data-review-common-save] .admin-treatment-input-row { grid-template-columns:auto minmax(0,1fr); }
.review-next-treatment .admin-treatment-card__heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding-bottom:8px; }
.review-next-treatment .admin-treatment-card__heading h3 { margin:0; }
.review-next-date-row { display:flex; align-items:center; gap:6px; margin:0 0 0 auto; min-width:0; }
.review-next-treatment .review-next-date-row input,.review-next-treatment .review-next-date-row select { width:auto; min-width:0; min-height:34px; height:34px; padding:4px 8px; font-size:14px; }
.review-next-date-row input[type=date] { max-width:170px; }
.review-next-date-row select { max-width:100px; }
.review-next-scheduled-date { margin-left:auto; font-size:14px; }
.review-next-treatment .admin-treatment-form { margin-top:0; }
.review-next-treatment > p { margin:12px 0; color:#738080; font-size:14px; }
#admin-patient-detail .admin-patient-profile-fields { gap:10px 14px; margin:14px 0; }
#admin-patient-detail .admin-patient-profile-fields .field { margin:0; min-width:0; }
/* An optional merge action must not vertically center TEL in a taller number cell. */
#admin-patient-detail .admin-patient-profile-fields > .field { align-self:start; }
#admin-patient-detail .admin-patient-profile-number > .review-merge-trigger { grid-column:1 / -1; justify-self:start; max-width:100%; white-space:normal; }
#admin-patient-detail .admin-patient-profile-number { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:10px; }
#admin-patient-detail .admin-patient-profile-number__heading { margin:0; font-size:13px; }
#admin-patient-detail .admin-patient-profile-number__heading label { white-space:nowrap; font-size:13px; }
#admin-patient-detail .review-profile-phone { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:8px; }
#admin-patient-detail .review-profile-phone .admin-patient-profile-label { margin:0; }
#admin-patient-detail .admin-patient-profile-number input,#admin-patient-detail .review-profile-phone .admin-patient-profile-value { margin:0; }
#admin-patient-detail .admin-patient-profile-fields input,
#admin-patient-detail .admin-patient-profile-value { min-height:40px; height:40px; padding:7px 12px; font-size:16px; }
#admin-patient-detail .admin-patient-profile-fields .field--wide { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:10px; }
#admin-patient-detail .admin-patient-profile-fields .field--wide > label { margin:0; font-size:14px; white-space:nowrap; }
#admin-patient-detail .admin-patient-profile-label,
#admin-patient-detail .admin-patient-profile-number__heading { margin-bottom:5px; font-size:14px; }
#admin-patient-detail .admin-patient-summary--secondary { gap:10px 14px; margin:12px 0; }
#admin-patient-detail .admin-patient-summary--secondary > div { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:10px; min-width:0; }
#admin-patient-detail .admin-patient-summary--secondary dt { margin:0; font-size:14px; }
#admin-patient-detail .admin-patient-summary--secondary dd { min-height:40px; margin:0; padding:7px 10px; font-size:16px; }
#admin-patient-detail .admin-family-profile-link { min-height:30px; padding:4px 10px; font-size:14px; }
@media(max-width:600px){
 #admin-patient-detail .admin-patient-profile-fields { gap:8px; }
 #admin-patient-detail .admin-patient-profile-fields .field--wide,
 #admin-patient-detail .admin-patient-summary--secondary > div { grid-template-columns:64px minmax(0,1fr); gap:8px; }
 #admin-patient-detail .admin-patient-summary--secondary { grid-template-columns:1fr; }
}
body.admin-simple-page .simple-week-heading { display:flex; flex-wrap:nowrap; align-items:center; gap:12px; padding-bottom:0!important; }
body.admin-simple-page .simple-compact-title { display:none!important; }
body.admin-simple-page .simple-shift-button { flex:0 0 auto; }
body.admin-simple-page .simple-week-titlebar { display:flex!important; flex:1 1 auto; min-width:0; align-items:center; gap:8px; }
body.admin-simple-page .simple-week-titlebar > :not(.simple-today-link):not(.simple-week-nav) { display:none!important; }
body.admin-simple-page .simple-week-titlebar > .simple-week-nav { display:grid!important; width:40px; height:40px; }
body.admin-simple-page .simple-today-link { position:static; transform:none; width:auto; min-width:150px; padding:8px 14px; white-space:nowrap; font-size:16px!important; }
body.admin-simple-page .simple-week-actions { flex:0 0 auto; margin-left:auto; }
#admin-patient-detail details.admin-reservation-logs > summary { cursor:pointer; padding:12px 0; list-style:none; }
#admin-patient-detail details.admin-reservation-logs > summary::-webkit-details-marker { display:none; }
#admin-patient-detail details.admin-reservation-logs > summary::after { content:'＋'; color:#0066cc; flex:none; }
#admin-patient-detail details.admin-reservation-logs[open] > summary::after { content:'−'; }
#admin-patient-detail details.admin-reservation-logs > summary h3 { flex:1; }
/* Use CSS viewport width, not physical pixels: Retina laptops keep the normal size. */
@media (min-width:1800px) {
 body.admin-simple-page .simple-week-titlebar { zoom:1.2; }
}
.review-today-staff { display:grid; grid-template-rows:auto auto; grid-auto-flow:column; gap:2px 8px; }
.review-today-staff small { grid-row:1; grid-column:1 / -1; width:auto; font-size:11px; }
.review-today-staff > .review-staff-item { grid-row:2; }
.review-staff-item { display:inline-flex; align-items:center; gap:0; flex:none; }
.review-staff-item { --shift-bg:#edf6f4; --shift-ink:#176164; padding:2px 5px; border:1px solid currentColor; border-radius:18px; background:var(--shift-bg); color:var(--shift-ink); font:inherit; cursor:pointer; }
.review-staff-item:has(.review-shift-code--B) { --shift-bg:#edf5fe; --shift-ink:#276ba9; }
.review-staff-item:has(.review-shift-code--C) { --shift-bg:#fff4e1; --shift-ink:#a66b1f; }
.review-staff-item:has(.review-shift-code--CUSTOM) { --shift-bg:#f3eefb; --shift-ink:#7358a1; }
.review-staff-item:has(.review-shift-code--OFF) { --shift-bg:#faf0f2; --shift-ink:#a76e7b; }
.review-staff-item:has(.review-shift-code--CLOSED),.review-staff-item:has(.review-shift-code--UNSET) { --shift-bg:#f1f4f5; --shift-ink:#a2aeb3; }
.review-staff-item:hover { filter:brightness(.96); }
.review-today-staff .review-staff-item > .review-staff-avatar,
.review-today-staff .review-staff-item > .review-shift-code { background:transparent; color:inherit; border-radius:0; }
.review-staff-item:focus-visible { outline:2px solid #0066cc; outline-offset:2px; }
.review-shift-code { padding:3px 5px; border-radius:4px; background:#edf6f4; color:#176164; }
.review-shift-code--B { background:#edf5fe; color:#276ba9; }
.review-shift-code--C { background:#fff4e1; color:#a66b1f; }
.review-shift-code--CUSTOM { background:#f3eefb; color:#7358a1; }
.review-shift-code--OFF { background:#faf0f2; color:#a76e7b; }
.review-shift-code--CLOSED,.review-shift-code--UNSET { background:#f1f4f5; color:#73868f; }
.review-shift-detail-dialog { width:min(460px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); padding:18px; border:1px solid #dce5e5; border-radius:16px; }
.review-shift-detail-dialog::backdrop { background:#0006; }
.review-shift-detail-dialog header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.review-shift-detail-dialog h2 { font-size:19px; margin:12px 0; }
.review-shift-detail-dialog dl { display:grid; grid-template-columns:80px minmax(0,1fr); gap:12px; }
.review-shift-detail-dialog dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-staff-avatar { display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; font-size:13px; background:#e4f0ed; color:#39716b; }
.review-staff-avatar.blue { background:#e6eef9; color:#607ca7; }
.review-staff-avatar.violet { background:#eeeaf6; color:#847499; }
.review-staff-avatar.amber { background:#f8eee2; color:#a78043; }
.review-staff-avatar.rose { background:#f5e8ed; color:#a56c80; }
.review-staff-avatar.slate { background:#e8edf0; color:#637b88; }
@media(max-width:1200px){ .review-today-staff { display:none; } }
@media(max-width:520px){
 body.admin-simple-page .simple-week-heading { gap:6px; }
 body.admin-simple-page .simple-shift-button { padding:8px; min-width:0; font-size:13px; }
 body.admin-simple-page .simple-shift-button > span { display:none; }
 body.admin-simple-page .simple-today-link { min-width:0; padding:6px 8px; font-size:12px!important; }
 body.admin-simple-page .simple-week-actions { gap:5px; }
 body.admin-simple-page .simple-patient-search-button, body.admin-simple-page .simple-admin-mode-menu > summary { width:40px; height:40px; min-width:40px; min-height:40px; }
 body.admin-simple-page .simple-week-titlebar { gap:3px; }
 body.admin-simple-page .simple-week-titlebar > .simple-week-nav { width:30px; height:40px; border-width:1px; border-radius:16px; }
 body.admin-simple-page .simple-week-nav__icon { width:10px; height:10px; border-width:0 3px 3px 0; }
}
@media(max-width:380px){
 body.admin-simple-page .simple-week-heading { gap:3px; }
 body.admin-simple-page .simple-shift-button { padding:5px; font-size:11px; }
 body.admin-simple-page .simple-today-link { padding:4px; font-size:11px!important; }
 body.admin-simple-page .simple-week-actions { gap:3px; }
 body.admin-simple-page .simple-patient-search-button, body.admin-simple-page .simple-admin-mode-menu > summary { width:32px; min-width:32px; }
}
.simple-week-calendar__cell .simple-week-reservation[draggable=true] { cursor:grab; }
.simple-week-calendar__cell.is-drop-target { outline:3px solid #0066cc; outline-offset:-3px; background:#e4f3ff; }
.review-merge-trigger { margin:4px 0 12px; font-size:13px; }
.review-merge-dialog { width:min(940px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:auto; }
.review-merge-table-wrap { overflow-x:auto; }
.review-merge-dialog table { width:100%; border-collapse:collapse; }
.review-merge-dialog td { border:1px solid #dce5e5; padding:8px; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-merge-dialog [data-merge-content] > button { margin:8px; }

/* The tray stays visible while month calendars scroll independently. */
.simple-month-sidebar { display:flex; flex-direction:column; min-width:0; min-height:0; overflow:hidden; background:#f4f6f5; }
.simple-month-sidebar > .simple-months { flex:1 1 auto; min-height:0; }
.reservation-parking { flex:0 0 auto; padding:12px; border-left:1px solid #cfdad7; border-bottom:1px solid #d6cf9c; background:#fffdf0; }
.reservation-parking[hidden] { display:none !important; }
.reservation-parking h2 { display:flex; justify-content:space-between; gap:8px; margin:0 0 5px; font-size:16px; }
.reservation-parking h2 span { color:#756637; font-size:13px; white-space:nowrap; }
.reservation-parking p { margin:4px 0; font-size:12px; line-height:1.5; }
.reservation-parking > small { display:block; color:#796e4c; font-size:11px; }
.reservation-parking__list { display:grid; gap:8px; max-height:30dvh; overflow:auto; margin-top:8px; }
.reservation-parking__note { position:relative; display:grid; gap:4px; padding:9px 32px 9px 10px; border:1px solid #dec978; border-left:4px solid #d4ab39; border-radius:4px; background:#fff2b5; color:#433b22; box-shadow:0 2px 3px #51421812; cursor:grab; }
.reservation-parking__note strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.reservation-parking__note span,.reservation-parking__note small { font-size:12px; }
.reservation-parking__note small { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.reservation-parking__note button { position:absolute; top:4px; right:4px; padding:0; min-width:24px; min-height:24px; border:0; background:transparent; color:#695b2b; font-size:22px; cursor:pointer; }
.reservation-parking__note.is-stale { cursor:default; opacity:.75; }
.reservation-parking__status:empty { display:none; }
.simple-month-sidebar.is-parking-target { outline:3px solid var(--action-blue); outline-offset:-3px; }
.simple-month-sidebar.is-parking-target .reservation-parking { background:#e5f4ff; }
.reservation-parking__note.is-clipboard { outline:2px solid #0066cc; outline-offset:-2px; }
.reservation-parking__note { padding:0; }
.reservation-parking__detail { display:grid; min-width:0; gap:4px; padding:9px 32px 9px 10px; color:inherit; text-decoration:none; cursor:inherit; }
a.reservation-parking__detail:focus-visible { outline:2px solid #0066cc; outline-offset:-2px; border-radius:4px; }
.admin-reservation-markers .marker-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:66px;min-height:40px;padding:5px 8px;border:1px solid #bcc9cf;border-radius:22px;background:#f3f5f6;color:#657078;cursor:pointer}
.marker-toggle>span{display:grid;place-items:center;width:24px;height:24px;border:1px solid currentColor;border-radius:50%;font-weight:700}
.marker-toggle>i{display:block;position:relative;width:28px;height:16px;border-radius:10px;background:#aeb7bc}
.marker-toggle>i:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:white}
.admin-reservation-markers .marker-toggle.is-active{color:#0066cc;background:#eaf4ff;border-color:#0066cc}
.marker-toggle.is-active>i{background:#0066cc}.marker-toggle.is-active>i:after{left:14px}
.marker-toggle:disabled{opacity:.6;cursor:wait}.marker-toggle-status{font-size:11px;color:#52616c;max-width:100%;white-space:normal}
.admin-reservation-markers:has(.marker-toggle){display:flex;flex-wrap:wrap;gap:6px;min-width:0;max-width:100%;white-space:normal}
.admin-treatment-card__status:has(.marker-toggle),.admin-reservation-log__meta:has(.marker-toggle){min-width:0;max-width:100%;flex-wrap:wrap}
.admin-treatment-card__heading:has(.marker-toggle){flex-wrap:wrap}
.admin-reservation-markers .marker-toggle{opacity:1}
.admin-reservation-markers .marker-toggle:disabled{opacity:.6}
.admin-patient-profile-fields .detail-profile-pair{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,2fr) minmax(110px,1fr);gap:12px;align-items:center;min-width:0}
.detail-profile-pair>.field{grid-column:auto!important;min-width:0;margin:0}
.detail-profile-side{margin:0;min-width:0}.detail-profile-side>div{display:flex;align-items:center;gap:8px;min-width:0}
.detail-profile-side dt{font-weight:700;white-space:nowrap;font-size:13px}.detail-profile-side dd{margin:0;min-width:0;font-size:14px}
.detail-profile-side .admin-family-profile-links{display:flex;flex-wrap:wrap;gap:4px}.detail-profile-side .admin-family-profile-link{padding:4px 7px;min-height:30px}
[data-treatment-rows]{display:grid;gap:8px;min-width:0}
.review-patient-save-footer{z-index:1003}
.admin-treatment-input-row.treatment-multi-row>.treatment-row-add{grid-column:1;grid-row:1}
.admin-treatment-input-row.treatment-multi-row>.tooth-picker{grid-column:2;grid-row:1}
.admin-treatment-input-row.treatment-multi-row>.treatment-autocomplete{grid-column:3;grid-row:1;min-width:0;width:100%}
@media(max-width:600px){.admin-treatment-input-row.treatment-multi-row>.treatment-autocomplete{grid-column:2;grid-row:2}}
.admin-treatment-input-row.treatment-multi-row{display:grid;grid-template-columns:32px minmax(90px,150px) minmax(0,1fr);gap:8px;align-items:center}
.treatment-multi-row[hidden]{display:none!important}.treatment-row-add{box-sizing:border-box;width:32px;min-width:32px;max-width:32px;height:32px;min-height:32px;max-height:32px;aspect-ratio:1;padding:0;border:1px solid #0066cc;border-radius:50%;color:#0066cc;background:#fff;font-size:24px;line-height:1;display:grid;place-items:center}
.treatment-row-add[hidden]{display:block!important;visibility:hidden}
.treatment-multi-row>input{min-width:0;width:100%}.treatment-multi-row>.tooth-picker{min-width:0;width:100%}
@media(max-width:600px){.admin-patient-profile-fields .detail-profile-pair{grid-template-columns:minmax(0,1fr) 112px;gap:8px}.detail-profile-side>div{display:block}.detail-profile-side dt{font-size:11px;margin-bottom:3px}.detail-profile-side dd{font-size:12px}.admin-treatment-input-row.treatment-multi-row{grid-template-columns:32px minmax(0,1fr);gap:6px}.treatment-multi-row>input{grid-column:2}}
.reservation-context-menu { position:fixed; z-index:10000; width:280px; max-width:calc(100vw - 8px); padding:5px; border:1px solid #d2d9df; border-radius:9px; background:#fff; color:#222; box-shadow:0 6px 24px #0003; }
.reservation-context-menu[hidden] { display:none!important; }
.reservation-context-menu button { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:44px; padding:9px 12px; border:0; border-radius:5px; background:transparent; color:inherit; font:500 14px/1.4 Arial,sans-serif; text-align:left; cursor:pointer; }
.reservation-context-menu button:enabled:hover,.reservation-context-menu button:focus-visible { background:#e7f3ff; outline:2px solid #0066cc; outline-offset:-2px; }
.reservation-context-menu button:disabled { color:#969da4; cursor:default; }
.reservation-context-menu kbd { font:inherit; font-size:12px; white-space:nowrap; color:inherit; opacity:.75; }
.simple-week-reservation.is-parked { outline:2px dashed #bba442; outline-offset:-2px; }
.review-shift-code--DEFAULT { background:#f2f3f4; color:#697575; }
@media (max-width:1100px), (pointer:coarse) and (max-width:1366px) { .simple-month-sidebar { display:none; } }
@media print { .simple-month-sidebar { display:none; } }
#admin-patient-detail .compact-patient-actions { display:flex; flex-wrap:nowrap; gap:6px; min-width:0; max-width:100%; overflow-x:auto; align-items:center; }
#admin-patient-detail .compact-patient-actions > .button { flex:0 0 auto; width:auto; min-width:0; min-height:40px; padding:8px 10px; font-size:13px; white-space:nowrap; }
#admin-patient-detail > .admin-panel__heading { display:grid; grid-template-columns:auto minmax(0,1fr) 44px; align-items:center; gap:8px; }
#admin-patient-detail > .admin-panel__heading > .admin-patient-detail-title { min-width:0; padding-right:0; }
/* Keep close outside the horizontally scrolling actions, including narrow windows. */
#admin-patient-detail > .admin-panel__heading > .admin-patient-detail__close { grid-column:3; grid-row:1; align-self:center; justify-self:end; margin:0; }
#admin-patient-detail .admin-patient-detail__close .admin-dialog-close { position:relative; display:grid; place-items:center; box-sizing:border-box; width:44px; min-width:44px; max-width:44px; height:44px; min-height:44px; max-height:44px; aspect-ratio:1; padding:0; border-radius:50%; font-size:0; line-height:1; }
/* Draw the cross independently of the platform font's glyph baseline. */
#admin-patient-detail .admin-patient-detail__close .admin-dialog-close::before,
#admin-patient-detail .admin-patient-detail__close .admin-dialog-close::after { content:""; position:absolute; top:50%; left:50%; width:18px; height:2px; border-radius:1px; background:currentColor; transform:translate(-50%,-50%) rotate(45deg); pointer-events:none; }
#admin-patient-detail .admin-patient-detail__close .admin-dialog-close::after { transform:translate(-50%,-50%) rotate(-45deg); }
@media(max-width:760px), (pointer:coarse) and (max-width:960px) and (max-height:500px) {
  #admin-patient-detail > .admin-panel__heading { position:sticky; z-index:20; top:0; display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:start; gap:8px; padding:8px 0; background:#fff; }
  #admin-patient-detail > .admin-panel__heading > .admin-patient-detail-title { grid-column:1; grid-row:1; display:flex; flex-wrap:nowrap; align-items:center; gap:8px; }
  #admin-patient-detail > .admin-panel__heading > .admin-patient-detail__close { grid-column:2; }
  #admin-patient-detail .compact-patient-actions { grid-column:1 / -1; grid-row:2; width:100%; padding-top:0; justify-content:flex-start; gap:2px; }
  #admin-patient-detail .compact-patient-actions > .button { padding:8px 4px; font-size:11px; min-height:40px; }
}
