/* Fit controls and content to the available workspace instead of clipping them. */
.workspace,.content,.panel,.login-layout>*,.form-grid>*,.filter-main>*,
.metrics-grid>*,.dashboard-grid>*,.two-columns>*,.trial-grid>*,.stage-strip>*{min-width:0}
input,select,textarea,button,.btn{max-width:100%;min-width:0}
input[type=checkbox],input[type=radio]{flex-shrink:0}
img{max-width:100%}
form,pre,details,.evidence{min-width:0;max-width:100%}
p,small,td,th,.tag,.status-badge,.protocol,.rule-row,.trace,.user-block strong{overflow-wrap:anywhere}
.topbar,.page-heading,.section-heading,.panel-heading,.trial-card-top,.trial-card-footer,
.trial-meta,.trial-counts,.case-data,.integration-status,.quality-row,footer{flex-wrap:wrap}
.topbar{height:auto;min-height:74px;padding-top:12px;padding-bottom:12px;gap:12px}
.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.filter-main{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.filter-main>.btn{align-self:end}
.action-row>*{max-width:100%;min-width:0}
.action-row select,.action-row input{min-width:0;flex:1 1 180px}
.action-row form{display:flex;flex-wrap:wrap;gap:8px}
.search-form{flex-wrap:wrap}
.search-form input,.search-form select{min-width:0;flex:1 1 180px}
.tabs{flex-wrap:wrap;overflow:visible;gap:8px 22px}
.tabs a{white-space:normal}
.kanban{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));overflow:visible;align-items:start}
.kanban-column,.case-card{min-width:0}
.match-row>summary{flex-wrap:wrap}
.match-row>summary>span{min-width:0;max-width:100%}
.match-row>summary>.patient-cell{flex:1 1 230px}
.match-row>summary>.diagnosis-cell{flex:1 1 160px}
.status-badge{white-space:normal;text-align:left}
.trace-title{flex-wrap:wrap}
.trace-title strong{min-width:0;flex:1 1 200px}
.trace-result{min-width:0}
.history-row summary{flex-wrap:wrap;overflow-wrap:anywhere}
table{table-layout:fixed}
td,th{white-space:normal;min-width:0}
td form{display:flex;flex-wrap:wrap;gap:8px}
td input,td select,td .btn{width:100%}
.table-responsive{overflow:visible}
.sidebar{overflow-y:auto}
.sidebar-bottom{padding-top:16px}
@media(max-width:1100px){
  .two-columns{grid-template-columns:minmax(0,1fr)}
  .table-responsive table,.table-responsive tbody{display:block;width:100%}
  .table-responsive thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .table-responsive tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;border-top:1px solid var(--app-border);gap:12px}
  .table-responsive td{display:block;width:auto;border:0;padding:4px 6px;text-align:left}
  .table-responsive td::before{content:attr(data-label);display:block;font-size:10px;font-weight:650;letter-spacing:.3px;color:var(--muted);margin-bottom:6px}
  .table-responsive td[colspan]{grid-column:1/-1}
}
@media(max-width:680px){
  .sidebar{overflow:visible}
  .sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:4px}
  .sidebar .nav-item{white-space:normal;margin:0;font-size:12px;min-width:0}
  .sidebar-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px}
  .sidebar-bottom .environment{display:none}
  .sidebar-bottom .user-block{padding:0;min-width:0}
  .sidebar-bottom .logout{min-height:44px;white-space:nowrap}
  .topbar{min-height:55px}
  .topbar>div{flex-wrap:wrap}
  .page-heading>.btn,.page-heading>form,.page-heading>form>.btn{width:100%}
  .panel-heading,.section-heading{align-items:flex-start}
  .panel-heading>.muted,.section-heading>.muted{max-width:100%;text-align:left}
  .form-grid,.filter-main{grid-template-columns:minmax(0,1fr)}
  .action-row{align-items:stretch}
  .action-row>.btn,.action-row>form{flex:1 1 100%}
  .action-row>form>.btn{width:100%}
  .action-row input,.action-row select{flex-basis:100%;max-width:100%}
  .search-form input,.search-form select,.search-form>.btn{flex-basis:100%;min-width:0;width:100%}
  .table-responsive tbody tr{grid-template-columns:minmax(0,1fr)}
  .table-responsive td{padding:6px}
  .panel table:not(.table-responsive table){font-size:11px}
  .panel table:not(.table-responsive table) th,.panel table:not(.table-responsive table) td{padding:8px 5px}
  .kanban{grid-template-columns:minmax(0,1fr)}
  .kanban-column{min-height:0}
  .stage-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tabs{gap:4px 18px}
  .tabs a{font-size:12px;min-height:44px}
  .login-flow{flex-wrap:wrap}
  .login-card,.login-story{padding:24px}
  input,select,textarea{font-size:16px}
  .skip-link{left:12px}
}
@media print{
  .table-responsive table{display:table}.table-responsive tbody{display:table-row-group}
  .table-responsive thead{position:static;width:auto;height:auto;clip-path:none;display:table-header-group}
  .table-responsive tbody tr{display:table-row}.table-responsive td{display:table-cell}
  .table-responsive td::before{display:none}
}

.source-criteria{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;line-height:1.65}
