.clients-layout{max-width:1200px;margin:auto;padding:1.25rem}.clients-toolbar,.clients-filters,.clients-pager,.client-tabs{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.clients-toolbar{justify-content:space-between}.clients-filters{margin:1rem 0}.clients-filters label{display:grid;gap:.2rem}.clients-table{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:.6rem;border-bottom:1px solid #ddd;text-align:left;white-space:nowrap}tbody tr{cursor:pointer}tbody tr:hover{background:#eef4f7}.clients-pager{margin:1rem 0}.client-tabs{border-bottom:1px solid #ccc;margin:1rem 0}.client-tabs button{border-radius:0}.client-tabs button.active{border-bottom:3px solid #177b8a}.client-card{padding:1rem;border:1px solid #ddd;border-radius:.5rem;margin:.7rem 0;background:white}.client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem}.client-grid label{display:grid;gap:.25rem}.client-grid input,.client-grid select,.client-grid textarea{max-width:100%;box-sizing:border-box}.client-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}#notice{min-height:1.5rem}#notice.error{color:#a11}@media(max-width:700px){.clients-layout{padding:.7rem}th,td{padding:.4rem}.client-tabs{overflow-x:auto;flex-wrap:nowrap}.client-tabs button{white-space:nowrap}}

.client-columns{margin:.5rem 0 1rem}.client-columns summary{cursor:pointer;font-weight:600}.client-columns #columnChoices{display:flex;gap:1rem;flex-wrap:wrap;padding:.7rem 0}.client-columns label{white-space:nowrap}.client-timeline{margin:1rem 0;padding-left:1.4rem}.client-timeline li{margin:.5rem 0}.client-empty{padding:1rem;background:#f4f7f5;border-left:4px solid #245c5a;border-radius:.4rem}.client-section-title{margin-top:1.5rem}.clients-table [hidden]{display:none!important}

#directoryRows .client-card,#mandateRows .client-card{min-width:0;overflow-wrap:anywhere}#directoryRows a,#mandateRows a{display:inline-block;padding:.5rem 0}.clients-filters input,.clients-filters select{min-height:44px;max-width:100%;box-sizing:border-box}.clients-layout button{min-height:44px}.clients-filters label{max-width:100%}#exportNotice{display:block;margin:.5rem 0}

#directoryForm input[type=checkbox],#relationshipForm input[type=checkbox]{width:1.25rem;height:1.25rem;min-height:0;display:inline-block;margin:.4rem;vertical-align:middle}

/* Long clinical terms must remain inside cards and phone headings. */
.clients-layout h1,.clients-layout h2,.clients-layout h3,.client-card{overflow-wrap:anywhere}
.client-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.client-grid>*{min-width:0}
.clients-layout label{min-width:0;overflow-wrap:anywhere}
.clients-layout input,.clients-layout select{min-width:0}
.clients-layout input[type=checkbox]{width:20px;height:20px;min-height:0;margin:0;flex-shrink:0}
.client-columns label,.clients-filters label:has(input[type=checkbox]){display:flex;flex-direction:row;align-items:center;gap:.5rem;min-height:44px}

/* Keep action buttons compact when neighbouring content grows. */
.client-grid>button{align-self:end;min-height:44px}

.client-tabs label{font-weight:600}.client-tabs select{width:100%;max-width:360px;min-width:0;min-height:44px}.client-tabs{overflow:visible;flex-wrap:wrap}
