/* Register extension: retains the authentication portal's palette and controls. */
.portal-nav{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:8px 0 28px;flex-wrap:wrap}
.portal-nav a{padding:12px 0;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent}
.portal-nav a[aria-current]{color:var(--teal);font-weight:700;border-color:var(--teal)}
.portal-nav a:hover{color:var(--ink);text-decoration:underline}
.button{display:inline-block;border:1px solid transparent;border-radius:6px;background:var(--teal);color:var(--white);padding:13px 24px;font:inherit;font-weight:700;text-decoration:none;text-align:center}
.button:hover{background:#105246;color:var(--white)}
.button:active,button:active{background:#0b4037}
.test-note{font-size:14px;color:var(--muted);margin:0 0 28px}
.register-actions,.record-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0}
.register-actions p{margin:0;max-width:52ch}
.register-actions .button,.record-actions .button{flex-shrink:0}
select{display:block;width:100%;border:1px solid #829a91;border-radius:6px;padding:13px 14px;margin-top:7px;background:var(--white);color:var(--ink);font:inherit;min-height:53px}
select:hover{border-color:var(--teal)}
.filters{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;border-block:1px solid var(--line);padding:22px 0;margin:32px 0 22px}
.filters label{margin:0;flex:1 1 180px;min-width:0}
.filters label:first-of-type{flex:2 1 260px}
.filters button{margin:0;min-height:53px}
.filters>a{padding:13px 0}
.result-count{color:var(--muted);font-size:14px;margin-bottom:12px}
.table-scroll{overflow-x:auto;scrollbar-color:#829a91 var(--paper)}
table{width:100%;border-collapse:collapse;text-align:left;font-size:15px;min-width:650px}
th{font-weight:700;font-size:14px;color:var(--muted);padding:14px 16px;border-bottom:1px solid var(--line);background:#eef1eb}
td{padding:18px 16px;border-bottom:1px solid var(--line);vertical-align:top;max-width:300px;overflow-wrap:anywhere}
th:first-child,td:first-child{padding-left:12px}
tbody tr:hover{background:#eef3ed}
.client-name{font-weight:700}
.cell-secondary{display:block;font-size:14px;color:var(--muted);margin-top:4px}
.status{font-size:13px;font-weight:700;display:inline-block;padding:3px 9px;border-radius:4px;background:#e6ece8;color:#314e43;white-space:nowrap}
.status-new{background:#e1ece7;color:#214e42}
.status-contacted{background:#e4eaf1;color:#304b66}
.status-booked{background:#eae5f1;color:#51416b}
.status-completed{background:#dceee1;color:#245534}
.status-closed{background:#e9e9e2;color:#4d5146}
.date-cell{font-variant-numeric:tabular-nums;white-space:nowrap}
.empty-state{padding:32px 0 48px}
.empty-state h2{margin:0 0 12px}
.empty-state p{color:var(--muted);max-width:64ch}
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-top:24px;font-size:14px}
.back-link{display:inline-block;margin-bottom:12px}
.client-form{max-width:800px;margin-top:12px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.form-grid label{min-width:0}
.form-grid .hint{display:block;font-weight:400}
.form-actions{display:flex;align-items:center;gap:28px;margin:28px 0 16px}
.form-actions button{margin:0}
.field-error{display:block;color:var(--error);font-size:14px;margin-top:6px;font-weight:400}
[aria-invalid="true"]{border-color:var(--error);border-width:2px}
.error p{margin-bottom:8px}
.error ul{margin:0;padding-left:22px}
.error a{color:var(--error)}
.client-details{margin:32px 0;max-width:800px}
.client-details>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.client-details dt{color:var(--muted)}
.client-details dd{margin:0;overflow-wrap:anywhere}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.heading h1{overflow-wrap:anywhere}
input::placeholder{color:#526b62;opacity:1}
@media(max-width:700px){.register-actions,.record-actions{align-items:flex-start;flex-direction:column}.filters{gap:18px}.filters label,.filters label:first-of-type{flex:1 1 100%}.form-grid{grid-template-columns:1fr}.client-details>div{grid-template-columns:1fr;gap:4px}.client-details dt{font-size:14px}.pagination{justify-content:flex-start;gap:18px;flex-wrap:wrap}.portal-nav{gap:24px}.form-actions{gap:20px;flex-wrap:wrap}}
.role-guide{border-block:1px solid var(--line);padding:22px 0;margin:28px 0}
.role-guide h2{margin:0 0 12px;font-size:20px}
.role-guide p:last-child{margin-bottom:0}
.assignment-section{border-top:1px solid var(--line);padding:28px 0;margin:28px 0}
.assignment-section h2{margin:0 0 12px}
.compact-form{margin:20px 0 32px}.compact-form button{margin:0}
.plain-list{padding-left:22px}.plain-list li{margin:10px 0}
textarea{display:block;width:100%;border:1px solid #829a91;border-radius:6px;padding:13px 14px;margin-top:7px;background:var(--white);color:var(--ink);font:inherit;line-height:1.6;caret-color:var(--teal);resize:vertical;min-height:220px}
textarea:hover{border-color:var(--teal)}
.client-context{font-size:16px;margin:0 0 28px}
.entry-content{max-width:75ch;border-block:1px solid var(--line);padding:28px 0;margin:28px 0;overflow-wrap:anywhere}
textarea[aria-invalid="true"]{border:2px solid var(--error)}
.portal-entry-list{list-style:none;padding:0;margin:24px 0 36px}
.portal-entry-list li{border-bottom:1px solid var(--line);padding:24px 0}
.portal-entry-list li:first-child{border-top:1px solid var(--line)}
.portal-entry-list h3{font-size:20px;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}
.portal-entry-list p{margin:0}

input[type="file"]{max-width:100%;min-width:0;white-space:normal}
input[type="file"]::file-selector-button{font:inherit;color:var(--teal);background:var(--notice-surface,#e5efe8);border:1px solid var(--teal);border-radius:6px;padding:8px 12px;margin-right:12px;cursor:pointer}
h2{overflow-wrap:anywhere}

.consent-line{display:flex;align-items:flex-start;gap:12px;max-width:70ch;font-weight:400;margin-top:28px}.consent-line input{width:20px;min-width:20px;height:20px;margin:3px 0 0;padding:0;accent-color:var(--teal)}

.health-text{white-space:normal;overflow-wrap:anywhere}
