/* Text must wrap at word boundaries, never by arbitrary letters. */
button,.button,summary,.work-tabs a,.view-tabs a,.person-badge,.person-badge strong,.person-badge small,.duty-name,.category-option>span,.card-top>.tag,.feature-card,.settings-shell .panel{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important}
button,.button{white-space:normal;line-height:1.4;flex-shrink:0;max-width:100%;text-align:center}
button:disabled{background:#e2e6eb!important;color:#59636f!important;border-color:#c7ced7!important;cursor:not-allowed;opacity:1}
.person-badge{min-width:min-content;flex-shrink:0;width:max-content;max-width:100%}.person-badge strong{min-width:min-content}.person-with-duty{min-width:min-content}
.table-wrap{max-width:100%;overflow-x:auto}.table-wrap table{width:100%}.table-wrap td:has(.person-badge){min-width:11rem}
.duty-statuses{display:grid;gap:8px;margin:10px 0}.duty-statuses>div{border:1px solid #c8d5e5;border-radius:8px;padding:10px;background:#f7f9fc;line-height:1.5}.duty-statuses small{display:block}.duty-statuses span{white-space:nowrap;font-weight:700}.duty-menu{position:relative;margin:12px 0}.duty-menu>div{padding:10px;border:1px solid #b9c9db;border-radius:8px;background:white;display:grid;gap:8px;margin-top:6px}.duty-menu button{width:100%}.duty-applications{margin-top:16px}.application-row{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap}.application-row form{display:flex;gap:8px;flex-wrap:wrap}.application-row>div{min-width:0}.application-row strong{display:block}
.opening-quick{margin:8px 0}.opening-quick>summary{font-size:.85rem;width:fit-content;padding:6px 12px}.opening-quick>div{max-width:28rem;padding:14px;border:1px solid #b9c9db;border-radius:10px;margin-top:8px;background:#f7f9fc}.opening-preview{font-weight:600;line-height:1.6}.opening-quick select{width:100%}
@media(max-width:700px){
 main,.container,.narrow,.detail-layout>*,.event-key-grid>*,.form-field,.booking{min-width:0;max-width:100%}
 .detail-layout,.event-key-grid{grid-template-columns:minmax(0,1fr)!important}
 .page-heading{flex-wrap:wrap;gap:12px}.page-heading>div{min-width:0}
 .actions,.view-tabs,.work-tabs,.duration-buttons,.registry-links{display:flex;flex-wrap:wrap;gap:8px}
 .actions>*{flex:1 1 12rem;min-width:0}.actions form button{width:100%}
 .work-tabs a,.view-tabs a{flex:1 1 auto;text-align:center;white-space:normal;padding:10px 12px;min-width:min-content}
 .settings-shell .settings-grid,.settings-grid{grid-template-columns:minmax(0,1fr)!important}
 .event-tools .button,.booking button,.booking .button{width:100%;min-height:44px}
 .panel{padding:16px}.event-card{overflow-wrap:normal!important;word-break:normal}.event-card h2,.event-card h3{overflow-wrap:break-word}
 .card-top>.tag{max-width:100%;width:fit-content}.event-facts{grid-template-columns:minmax(0,1fr)!important}
 .table-wrap table{min-width:640px}.table-wrap td,.table-wrap th{word-break:normal;overflow-wrap:normal}
 input:not([type=checkbox]):not([type=radio]),select,textarea{max-width:100%;min-width:0;font-size:16px}
 button,.button{min-height:40px}.duration-buttons button{flex:0 0 auto}
 .period-segments{display:flex;flex-wrap:wrap}.period-segments label{flex:1 1 auto;min-width:min-content}
 .switch-control{flex-shrink:0}.feature-card>summary{align-items:flex-start}.feature-card>summary>span{min-width:0}.module-status{white-space:nowrap}
 .application-row{display:block}.application-row form{margin-top:12px}.application-row button{flex:1 1 auto}
 .duty-panel .button,.duty-panel button{width:100%}.duty-panel form{margin:8px 0}
 .dialog-close{width:auto!important}.ride-dialog,.action-dialog{max-width:calc(100vw - 20px);box-sizing:border-box}
}

.participant-count{display:inline-block;white-space:nowrap}
@media(max-width:700px){.event-tools .actions>*{flex:0 0 auto}.event-tools .actions .button{min-height:44px}}
