/* Shared controls: long labels wrap and adjacent actions keep a visible gap. */
main,.panel,.record,.page-heading>div,.setting-section,.field{min-width:0}
h1{font-size:clamp(25px,3vw,34px)}
.compact h1{font-size:clamp(25px,3vw,32px)}
h1,h2,h3,.record strong,.message,.status-detail,.patient-name{overflow-wrap:anywhere}
.button{max-width:100%;white-space:normal;text-align:center;line-height:1.4;overflow-wrap:anywhere}
.actions,.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.setting-section form{margin-top:18px}
.setting-section form+form{margin-top:18px}
.setting-section form>.button{margin-top:12px}
.setting-section>.button{margin-top:18px}
.setting-section .actions{margin-top:16px}
.setting-section label{display:block;margin-bottom:6px;color:#344e43}
.setting-section input:not([type=checkbox]):not([type=hidden]),.setting-section select,.setting-section textarea{width:100%;max-width:100%;min-width:0;font:inherit}
.setting-section textarea{display:block;resize:vertical;min-height:190px;border:1px solid #cfd9d0;border-radius:7px;padding:12px;line-height:1.6}
.record{gap:14px;flex-wrap:wrap}
.record>div{min-width:0;flex:1 1 180px}
.profile-link{min-width:0}.profile-link>span{min-width:0}.profile-link strong{overflow-wrap:anywhere}.user-avatar{flex-shrink:0}
details.record{display:block;margin-top:16px}
details.record summary{cursor:pointer;overflow-wrap:anywhere}
.birth-row{gap:14px}.birth-row .field{min-width:0}.birth-row output{font-size:16px;min-width:70px;max-width:110px}
.message-editor{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:22px;align-items:start}
.message-preview{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:16px;background:#f4f7f1;border-radius:8px;padding:18px}
.token-list{margin:16px 0}.token-list>div{padding:10px 0;border-bottom:1px solid #e2e8df}.token-list dt{font-weight:600}.token-list dd{margin:5px 0 0;color:#617367}
.phone-field{display:flex;gap:8px;align-items:stretch;min-width:0;width:100%}
.phone-field>input[type=tel]{flex:1;width:0!important;min-width:0}
.dial-button{flex:0 0 88px;border:1px solid #cfd9d0;border-radius:7px;background:#f4f7f1;color:#244c3d;font:inherit;font-size:14px;padding:8px;cursor:pointer}
.dial-popup{position:fixed;z-index:1000;width:330px;max-width:calc(100vw - 16px);padding:12px;background:white;border:1px solid #bdcdbf;border-radius:9px;box-shadow:0 8px 30px #173d3729}
.dial-popup input{width:100%;min-width:0;padding:9px;border:1px solid #bdcdbf;border-radius:6px;font:inherit}
.dial-options{max-height:235px;overflow:auto;margin-top:8px}
.dial-option{display:block;width:100%;border:0;background:white;text-align:left;padding:9px;border-radius:5px;font:inherit;font-size:14px;color:#243b35;cursor:pointer}
.dial-option:hover,.dial-option:focus{background:#e9f1e4}
.status-detail:empty{display:none}.status-detail{font-size:13px;padding:10px;background:#fff7e8;border-radius:7px}
@media(max-width:900px){.message-editor{grid-template-columns:1fr}.setting-section{padding:20px}}
@media(max-width:760px){.sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:4px}.sidebar nav a{white-space:normal;justify-content:center;text-align:center;line-height:1.4;padding:8px 4px;min-width:0}}
@media(max-width:480px){.setting-section{padding:16px}.actions .button{flex:1 1 140px}.birth-row{gap:10px}.birth-row output{font-size:14px;max-width:78px}.dial-button{flex-basis:76px}.page-heading .button{align-self:flex-start}}
