/* Staff design system. Phone therapy deliberately uses its own base and VAS styles. */
:root {
  --brand:#0404bd; --sand:#a8a094; --ink:#242528; --muted:#686b76;
  --line:#e0e2e8; --surface:#fff; --canvas:#f5f5f7; --radius:10px;
  --chart-line-width:1.5px;
  --label:150px; --label-gap:12px; --group-label:62px; --key:76px;
}
* {box-sizing:border-box}
[hidden] {display:none!important}
.visually-hidden {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);border:0}
body {margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}
h1,h2,h3,p {margin:0}
h1 {font-size:28px;line-height:1.2;letter-spacing:-.6px;font-weight:600}
h2 {font-size:17px;line-height:1.3;font-weight:600}
h3 {font-size:15px;font-weight:600}
a {color:#365e97;text-decoration:none}
a:hover {text-decoration:underline}
button,input,select,textarea {font:inherit}
button {cursor:pointer}
button:disabled {opacity:.5;cursor:not-allowed}
:where(a,button,input,select,textarea,summary):focus-visible {outline:2px solid var(--brand);outline-offset:2px}
.brand-mark {font-size:.5em;vertical-align:super;line-height:0}
header {background:var(--surface);border-bottom:1px solid var(--line);padding:18px 28px 0}
header .container {max-width:1400px;margin:auto}
header h1 a {font-size:22px;letter-spacing:-.7px;color:var(--ink);font-weight:600}
header h1 a:hover {text-decoration:none}
header nav ul {list-style:none;display:flex;gap:24px;margin:17px 0 0;padding:0;flex-wrap:wrap}
header nav li:last-child {margin-left:auto}
header nav a {display:block;color:var(--muted);font-weight:500;padding-bottom:12px}
header nav h1 a {padding:0;color:var(--ink)}
header nav a.active {color:var(--brand);box-shadow:inset 0 -2px var(--brand)}
main {max-width:1456px;margin:24px auto;padding:0 28px}
footer {text-align:center;margin:24px 16px;color:var(--muted);font-size:11px}
.list-header,.overview-header {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
/* Records and System share quiet header tabs with the main menu underline cue. */
.record-navigation {display:grid;grid-template-rows:40px 28px;gap:2px;width:288px;max-width:100%;margin-left:auto;align-content:start;justify-items:end}
.record-navigation>.record-views {grid-row:1;margin-left:0;width:100%}
.record-sections {grid-row:2;display:flex;align-items:flex-start;gap:14px;width:100%;height:28px;overflow-x:auto;scrollbar-width:none}
.record-sections::-webkit-scrollbar {display:none}
.record-sections>.record-tab:first-child {margin-left:auto}
.record-tab {display:inline-flex;flex-direction:column;align-items:center}
.record-tab>a {display:flex;align-items:center;height:28px;padding:0 1px;border-bottom:2px solid transparent;font-size:13px;line-height:18px;color:var(--muted);white-space:nowrap;text-decoration:none}
.record-tab>a:hover {color:var(--ink);border-bottom-color:var(--line)}
.record-tab>a[aria-current="page"] {color:var(--brand);border-bottom-color:var(--brand)}
.record-tab-count {padding-top:2px;font-size:10px;line-height:1.1;color:#578064;white-space:nowrap}
/* Reserve both navigation rows, even when one is empty. The subtitle belongs
   inside the title area so it cannot push All's workspace below other views. */
main:has(.record-workspace-page,.support-record) {margin-top:12px}
:is(.record-workspace-page,.support-record)>.list-header {display:grid;grid-template-columns:minmax(0,1fr) 288px;align-items:start;min-height:70px;gap:12px;margin-bottom:8px}
:is(.record-workspace-page,.support-record)>.list-header>.record-title {margin-top:0}
:is(.record-workspace-page,.support-record) .record-kind {position:static;display:block;line-height:12px;margin-bottom:2px}
@media(max-width:650px) {
  :is(.record-workspace-page,.support-record)>.list-header {grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(64px,auto) 70px;gap:4px}
}

.detail-heading,.device-heading {display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.list-header-actions,.button-group,.detail-actions {display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.device-list>.button-group {margin:12px 0 18px}
.btn,.field-random {display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:29px;padding:5px 11px;border:1px solid #d7d9e0;border-radius:6px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:400;line-height:1.25;text-decoration:none;cursor:pointer}
.btn:hover,.field-random:hover {background:#f8f8fa;border-color:#b9bbc4;text-decoration:none}
.btn-back {color:var(--muted);background:transparent;border-color:transparent}
.btn-danger,.delete-icon {color:#a43e3e}
.device-list>.button-group>.btn-primary {color:var(--brand);background:#f5f5ff;border-color:#bbbbdc}
.btn-compact,.btn-small {min-height:26px;padding:3px 8px;font-size:12px}

/* Lists: restrained headers, visible sorting, and one rule per record. */
.table-container {position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}
.device-table {width:100%;border-collapse:collapse;table-layout:auto;font-size:13px}
.device-table th {text-align:left;background:#f8f8fa;color:var(--muted);font-size:12px;font-weight:500;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.device-table td {padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.device-table tbody tr:last-child td {border-bottom:0}
.sort-link {color:inherit;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;text-decoration:none}
.sort-link:hover {color:var(--ink);text-decoration:none}
.sort-indicator {color:#737782;font-size:13px;line-height:1}
.sort-idle {color:#a0a3ad}
.device-table [aria-sort] .sort-link {color:var(--ink)}
.device-link {font-weight:400}
.account-hierarchy-number {display:inline-block;padding-inline-start:calc(var(--account-depth) * 16px)}
.device-table tbody tr:hover {background:#f8f8fb}
.listing-device-notes {display:block;max-width:180px;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.device-table .text-right,.session-number {text-align:right;font-variant-numeric:tabular-nums}
.device-table .text-center,.session-discomfort {text-align:center;font-variant-numeric:tabular-nums}
.sessions-table th:has(a[href*="sort=duration"]),.sessions-table th:has(a[href*="sort=dosage"]) {text-align:right}
.sessions-table th:has(a[href*="sort=discomfort"]) {text-align:center}
.sessions-table .patient-account-mismatch {color:#963f46}
.session-time,.session-protocol,.nowrap {white-space:nowrap}
.session-time strong,[data-relative-time],.key-fact {font-weight:500}
.session-utc {display:block;font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap}
.secondary,.help-text,.form-help {color:var(--muted);font-size:12px}
.session-status,.device-status {position:relative;display:inline-block;background:none;border:0;padding:0;font-size:12px;font-weight:500;white-space:nowrap;color:var(--muted)}
.device-status:is(.login,.no_login) {color:var(--ink)}
.device-table .device-status:is(.registering,.unregistered,.disabled) {line-height:1.5;border-radius:4px;padding:1px 5px}
.device-table .device-status:is(.registering,.unregistered,.disabled) {color:#a43e3e;background:#f9eded}
.status-COMPLETED,.status-completed {color:#397650}
.status-STARTED,.status-RUNNING,.status-started,.status-running {color:#4b6397}
.status-PARTIAL,.status-partial {color:#90703c}
.status-qrcode,.status-QR_CODE,.status-QR,.status-qr_code,.status-qr {color:#786298}
.status-denied,.status-FAILED,.status-ERROR,.status-CANCELLED,.status-EXPIRED,.unregistered,.session-start-disabled {color:#a43e3e}
.latest-dot {position:absolute;right:-7px;top:0;width:4px;height:4px;background:#627aad;border-radius:50%}
.disabled-badge,.device-registration-badge {display:inline-block;font-size:11px;font-weight:500;line-height:1.5;border-radius:4px;padding:1px 5px;color:#a43e3e;background:#f9eded;vertical-align:middle;white-space:nowrap}
.device-rekey-badge {display:inline-block;font-size:11px;font-weight:500;line-height:1.5;border-radius:4px;padding:1px 5px;color:#2f7a47;background:#eaf5ed;vertical-align:middle;white-space:nowrap}
.current-user-marker,.env-badge {display:inline-block;font-size:11px;color:var(--muted);font-weight:400;margin-left:5px}
.session-row:has(+.session-comment-row) td {border-bottom:0;padding-bottom:3px}
.session-comment-row td {padding:0 12px 9px;color:var(--muted);font-size:12px;line-height:1.4;text-align:left;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.comment-content {display:block;margin:0;padding:0;background:none;font-weight:400;overflow-wrap:anywhere}
.session-row:hover+.session-comment-row,.session-row:has(+.session-comment-row:hover) {background:#f8f8fb}
.no-devices {padding:16px 0;color:var(--muted)}
.list-find input[type=search] {width:240px;padding-left:9px}
.list-find[aria-busy=true] {opacity:.6}
.page-position {font-size:12px;color:var(--muted);margin-bottom:10px}
.list-pagination {display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;padding:12px 0}
.page-links {display:flex;gap:5px;align-items:center}
.page-links a,.page-links span {padding:2px 6px;border-radius:4px}
.page-links .current,.page-links [aria-current=page] {color:var(--ink);background:#e9e9ed}

/* The filter frame opens in place; all criteria and actions stay inside it. */
.filter-divider td {background:var(--surface);padding:7px 0 0;border-bottom:0}
.filter-toggle {display:flex;width:100%;align-items:center;gap:8px;border:0;background:none;color:var(--muted);font-size:12px;padding:0;margin:0;cursor:pointer;font-weight:400}
.filter-toggle::before,.filter-toggle::after {content:'';flex:1;border-top:3px double #d5d7df;align-self:center}
.filter-control {border:1px solid #d7d9e0;background:var(--surface);border-radius:4px;font-size:11px;padding:1px 5px;line-height:1.2}
.session-filter-form:has(.filter-toggle[aria-expanded=true]) .filter-divider td {background:var(--surface)}
.filter-frame {position:absolute;border:1px solid #b2b5bf;border-radius:9px;pointer-events:none;z-index:1}
.filter-toggle[aria-expanded=true]::before,.filter-toggle[aria-expanded=true]::after {border-color:transparent}
.filter-toggle[aria-expanded=true]>span {position:relative;z-index:2;background:var(--surface);box-shadow:0 0 0 5px var(--surface)}
.filter-row td {background:var(--surface);border-bottom:0;padding:9px 12px;vertical-align:top}

.filter-row input:not([type=checkbox]),.filter-row select {width:100%;min-width:48px;font-size:12px;margin:2px 0}
.filter-row label {display:block;font-size:12px;font-weight:400}
.filter-actions td {border-bottom:0;padding:3px 12px 10px}
.filter-actions button,.filter-actions .clear-filters {display:inline-block;font:inherit;font-size:12px;padding:3px 7px;background:var(--surface);border:1px solid #d7d9e0;border-radius:4px;color:var(--ink);text-decoration:none;line-height:1.2}
.filter-hint {display:block;font-size:10px;color:var(--muted);white-space:normal}
.status-filter summary {cursor:pointer;white-space:nowrap;font-weight:400}
.status-filter>div {padding:4px 0}
.status-filter label {display:flex;align-items:center;gap:6px;padding:2px 0;white-space:nowrap}
.status-filter input[type=checkbox] {flex:none;margin:0}
.segmented,.history-segment {display:inline-flex;padding:2px;background:#e9e9ed;border-radius:6px;gap:0}
.segmented a,.history-segment button {border:0;border-radius:4px;padding:3px 10px;min-height:24px;font-size:12px;font-weight:400;color:var(--muted);background:none;text-decoration:none;white-space:nowrap}
.segmented a[aria-current=true],.history-segment button[aria-pressed=true] {background:white;color:var(--ink);box-shadow:0 1px 3px #0002}
.session-view-mode {display:flex;justify-content:flex-end}
.filter-actions-content {display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.filter-action-buttons {display:flex;align-items:center;gap:5px}
.filter-row .comments-filter {display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.comments-filter input {margin:0}

/* Diagnostic forms share a single value axis, including nested key/value rows. */
.device-details,.surface-panel,.token-panel {padding:12px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.device-details>ul {margin:0;padding:0;list-style:none}
.device-details>ul>li {display:grid;grid-template-columns:var(--label) minmax(0,1fr);gap:var(--label-gap);align-items:start;margin:0;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}
.device-details>ul>li:last-child {border-bottom:0}
.device-details>ul>li>strong {font-size:12px;font-weight:400;color:var(--muted);text-align:left;padding-top:3px}
.info-values,.info-data {min-width:0;font-weight:400;overflow-wrap:anywhere}
.device-details>ul>li.info-row {grid-template-columns:var(--group-label) minmax(0,1fr)}
.info-line {display:grid;grid-template-columns:var(--key) minmax(0,1fr);gap:var(--label-gap);padding:1px 0;line-height:1.45}
.info-line b {font-weight:400;font-size:12px;color:var(--muted)}
.info-empty {display:block;margin-left:calc(var(--key) + var(--label-gap));color:var(--muted)}
.info-hash {font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:var(--muted)}
.device-details+.device-details {margin-top:14px}
.device-details h3 {margin:0 0 8px}
.therapy-line {margin-bottom:3px}
.therapy-line b {font-weight:500}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea {font:inherit;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid #d7d9e0;border-radius:6px;padding:4px 7px;min-height:28px;max-width:100%}
input[type=checkbox],input[type=radio] {accent-color:#626479}
.field-editor {display:flex;align-items:flex-start;width:100%;gap:7px}
.field-body {order:-1;flex:1;min-width:0}
.field-body [data-input] {width:100%;max-width:none;box-sizing:border-box}
.field-actions:not(:has(> :not([hidden]))) {display:none}
.field-editor.is-editing .field-body {width:auto;max-width:none}
.field-body textarea {min-height:160px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.field-actions {display:flex;flex:0 0 auto;align-items:center;gap:5px;min-height:27px}
.field-icon {width:25px;height:27px;padding:3px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}
.field-icon:hover {background:#f3f3f7;color:var(--brand)}
.field-icon svg {width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.field-cancel {font-size:17px}
.field-random {font-size:12px;min-height:27px;padding:3px 7px}
.field-select {min-width:9em}
.field-saved,.saved-confirmation {display:inline-block;color:#365c3c;background:#edf5ee;padding:2px 5px;border-radius:4px;font-size:12px;font-weight:400;animation:field-fade 1.4s ease-out forwards}
@keyframes field-fade {0%,65% {opacity:1} 100% {opacity:0}}
.save-feedback,[data-status-feedback],[data-role-feedback] {font-size:12px;margin-left:6px}
.save-feedback:empty {display:none}
.field-error,.copy-error,.user-feedback.error,[data-status-feedback].error,[data-role-feedback].error {color:#a43e3e;font-size:12px}
.copy-confirmation {background:#edf5ee;color:#365c3c}
.copy-confirmation span {animation:field-fade 1.4s ease-out forwards}
/* PIN and password actions use the same compact inline presentation. */
.authorization-controls {display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px}
.authorization-controls>.field-editor {flex:1 1 150px;min-width:0}
.authorization-action {display:flex;flex-direction:column;align-items:flex-start;gap:3px;flex:none}
.authorization-action .btn {font-size:12px;padding:5px 8px;min-height:30px}
.password-line {display:flex;align-items:center;gap:5px}
.password-line input {min-width:0;width:100%}
.password-requirement {display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.user-details [data-password-editor] {align-items:center;flex-basis:260px}
.user-details [data-password-editor] .field-actions {flex-wrap:nowrap;max-width:none}
.user-details small {display:block;color:var(--muted);font-size:12px;margin-top:4px}
.token-panel {max-width:850px;padding:16px 18px}
.token-value {padding:10px 12px;background:#f8f8fa;border:1px solid var(--line);border-radius:6px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;margin-bottom:12px}
.token-panel p {margin-bottom:12px;color:var(--muted);font-size:13px}
.token-panel form:not(.button-group form) {max-width:360px}
.commands-panel {padding:16px 18px}

/* Creation, dialogs, files and administrative utilities use the same controls. */
.device-register,.form-container {max-width:620px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.form-container h1 {margin-bottom:18px}
.form-group {margin-bottom:12px}
.form-group label {display:block;font-size:13px;font-weight:500;margin-bottom:5px}
.form-group input,.form-group select,.form-group textarea {width:100%}
.form-group input[type=checkbox],.form-group input[type=radio] {width:auto}
.help-text {margin:4px 0}
.required,.alert-danger,.error-message {color:#a43e3e}
.alert,.error-message,.status-message {padding:10px 12px;border:1px solid var(--line);border-radius:6px;margin:12px 0;font-size:13px}
.status-message.success {color:#365c3c;background:#f3f8f3}
.modal {position:fixed;inset:0;z-index:1000;background:#24252850;display:flex;align-items:center;justify-content:center;padding:16px}
.modal-content {background:var(--surface);width:100%;max-width:420px;max-height:calc(100dvh - 32px);overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 40px #0002}
.modal-header {padding:16px 18px 10px;border-bottom:1px solid var(--line)}
.modal-form {padding:14px 18px}
.modal-form>p {font-size:13px;color:var(--muted);margin-bottom:12px}
.modal-actions {display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.delete-icon {font-size:13px;opacity:.65}
.delete-icon:hover {opacity:1}
.env-info {font-size:12px;color:var(--muted);margin-bottom:12px}
.login-container {margin:50px auto;padding:0 18px;max-width:420px}
.login-form {padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.login-form h1 {font-size:24px;margin-bottom:20px}
.login-brand {font-size:20px;font-weight:600;letter-spacing:-.5px;margin-bottom:14px}
.login-form .error-message {display:none}
.login-form .error-message.show {display:block}

/* Overview: activity and session groups share one desktop row. */
.summary-groups {display:grid;grid-template-columns:2fr 3fr;gap:18px;margin:20px 0}
.group-label {font-size:12px;color:var(--muted);font-weight:500;margin-bottom:8px}
.overview-metrics {display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.overview-metrics>div {flex:1;padding:15px;min-width:0}
.overview-metrics>div+div {border-left:1px solid var(--line)}
.overview-metrics span {font-size:12px;color:var(--muted);white-space:nowrap}
.overview-metrics strong {display:block;font-size:31px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.7px}
.activity-panel {padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:18px 0}
#activity-chart {width:100%;height:260px;display:block}
#activity-chart text {font:11px -apple-system,BlinkMacSystemFont,sans-serif;fill:var(--muted)}
.activity-line {fill:none;stroke-width:var(--chart-line-width)}
.series-sessions {stroke:#5474ad}.series-users {stroke:#438163}.series-devices {stroke:#a08a63}
circle.series-sessions {fill:#5474ad}circle.series-users {fill:#438163}circle.series-devices {fill:#a08a63}
.activity-grid {stroke:var(--line);stroke-width:1}.activity-guide {stroke:var(--muted);stroke-width:1}
.activity-legend {display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}
.activity-legend button {background:none;border:0;font:inherit;font-size:13px;color:var(--ink);padding:0}
.activity-legend button[aria-pressed=false] {opacity:.4}
.activity-legend i {display:inline-block;width:16px;height:3px;margin-right:6px;background:#5474ad;vertical-align:middle}
.activity-legend [data-series=users] i {background:#438163}.activity-legend [data-series=devices] i {background:#a08a63}
#activity-readout {font-size:13px;background:#f8f8fa;padding:10px;margin-top:10px;border-radius:5px}
.overview-definition {font-size:12px;color:var(--muted)}
/* Chart mechanics remain in patient_overview.css; these are shared visual tokens. */
.patient-overview {--history-pain:#8b1e2d;--history-use:#5474ad;--history-dose:#438163;margin:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:18px}
.patient-overview h2 {font-size:17px;font-weight:600;letter-spacing:0}
.history-toolbar {margin:14px 0 10px;flex-direction:row-reverse;gap:12px}
.history-readout {background:#f8f8fa;border-color:var(--line);min-height:70px;padding:10px 12px}
.history-heading .history-segment {padding:2px;border-radius:6px;background:#e9e9ed}
.history-heading .history-segment button {padding:3px 10px;min-height:24px;border-radius:4px}

@media(max-width:850px) {.summary-groups {grid-template-columns:1fr}}
@media(max-width:650px) {
  :root {--label:120px;--label-gap:8px;--group-label:55px;--key:57px}
  header {padding:14px 14px 0}header nav ul {gap:15px}header nav li a {font-size:12px}
  main {padding:0 12px;margin:18px auto}.list-header h1 {font-size:24px}
  .list-header-actions {width:100%}.list-find {flex:1;min-width:0}.list-find input[type=search] {width:100%}
  .device-table {min-width:650px}.library-table {min-width:450px}
  .device-details {padding:10px}.device-details>ul>li {overflow-wrap:anywhere}
  input:not([type=checkbox]):not([type=radio]),select,textarea {font-size:16px}
  .overview-metrics>div {padding:10px}.overview-metrics strong {font-size:24px}.overview-metrics span {font-size:11px;white-space:normal}
  .patient-overview {padding:12px}.activity-panel {padding:14px 12px}
  .segmented a {padding:3px 9px}.field-actions {flex-wrap:wrap;max-width:100px}
  .token-panel {padding:12px}.token-value {font-size:12px}
}
@media(pointer:coarse) {.field-icon {width:40px;height:40px}}
@media(prefers-reduced-motion:reduce) {.field-saved,.saved-confirmation,.copy-confirmation span {animation:none}}

/* File controls and metadata stay compact; deletion always occupies the rightmost column. */
.file-toolbar,.file-controls {display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.file-toolbar {margin:0 0 10px}.file-location {font-size:12px;display:flex;gap:7px;flex-wrap:wrap}
.secondary,.folder-count {color:var(--muted);font-size:12px;font-weight:400}
.file-entry {padding-left:calc(var(--depth) * 18px);overflow-wrap:anywhere}
.file-entry .file-name,.file-folder {font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.file-folder {display:inline-flex;align-items:center;gap:5px;color:var(--ink);border:0;padding:0;background:transparent;text-align:left;cursor:pointer}
.file-folder:hover {color:var(--brand)}
.file-folder:focus-visible {outline:2px solid var(--brand);outline-offset:3px;border-radius:2px}
.folder-triangle {flex-shrink:0;color:var(--muted)}
.file-folder[aria-expanded=true] .folder-triangle {transform:rotate(90deg)}
.file-table .file-name {margin-left:15px}
.file-table .file-date,.file-table .file-age {white-space:nowrap;width:1%;font-variant-numeric:tabular-nums}
.file-table .file-age {color:var(--muted)}
.row-actions {text-align:right!important;width:38px}
button.delete-icon {border:0;background:transparent;cursor:pointer;padding:4px}
.folder-count {white-space:nowrap}
.overview-completion {margin:6px 0 0;color:var(--muted);font-size:12px}
@media(max-width:600px) {.file-controls{justify-content:flex-start}}
@media(max-width:600px) {.overview-header>.segmented a {font-size:11px;padding:3px 5px}}

/* Automatic-start patient association stays inline, wrapping on small screens. */
.device-start-controls {display:flex;align-items:center;gap:7px;min-width:0}
.device-start-controls .field-select {flex:1 1 0;min-width:0}
.device-start-controls>.save-feedback {margin-left:0}

/* Related records use spacing within a section, without internal rules. */
.review-hint {display:block;margin-top:4px}
.follow-up-control {display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.follow-up-control>.field-editor {max-width:310px}
.date-chooser {position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:28px;color:var(--muted);cursor:pointer;border-radius:5px}
.date-chooser:hover {background:#f0f1f5}
.date-chooser:focus-within {outline:2px solid #969ab2;outline-offset:2px}
.date-chooser input[type=date] {position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;padding:0;min-height:0}
[hidden] {display:none!important}

/* Mode badges occupy no flex gap when every reason is hidden. */
.account-status-reasons:not(:has(.disabled-badge:not([hidden]))) {display:none}
.grouped-details .info-line {padding:3px 0}
.grouped-details .info-line>b {padding-top:5px}
@media(max-width:600px) {
    .device-details.grouped-details>ul>li.info-row {grid-template-columns:1fr;gap:4px}
    .grouped-details .info-line {grid-template-columns:var(--label) minmax(0,1fr)}
}

/* Use the existing space above the identifier without changing heading height. */
.record-title {position:relative;min-width:0}
.record-results {font-size:12px;color:var(--muted);white-space:nowrap}
.record-kind {position:absolute;left:0;bottom:100%;margin-bottom:0;font-size:10px;line-height:1.2;font-weight:400;color:var(--muted)}

/* Staff edit attribution stays immediately below its editable frame. */
.record-update {margin:6px 8px 0;color:var(--muted);font-size:11px;line-height:1.25}
.record-update [data-relative-time] {color:var(--ink);font-weight:500}
.record-update-utc {font-size:10px;color:var(--muted)}

.status-filter .filter-subheading { display:block; padding-top:6px; margin-top:4px; border-top:1px solid var(--border-color, #d8dce5); color:var(--secondary-text, #6b7280); font-size:0.85em; }

.status-filter .filter-subheading:first-child {padding-top:0;margin-top:0;border-top:0}
