.case-directory{display:grid;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-5) var(--space-6);background:var(--color-login-surface);border:1px solid var(--color-login-border-faint);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle)}.case-directory__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-login-border-faint)}.case-directory__caption{margin:0 0 var(--space-1);font-size:var(--text-xs);color:var(--color-login-gold-bright);letter-spacing:.04em}.case-directory__head h2{margin:0;font-size:var(--text-md);color:var(--color-login-ivory)}.case-directory__subtitle{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--color-login-ivory-muted)}.case-directory__filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.case-directory__chips{display:inline-flex;align-items:center;gap:var(--space-2)}.case-directory__chips-label{color:var(--color-login-ivory-muted);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.04em}.case-directory__chip{min-height:2rem;padding:0 var(--space-2);border:1px solid var(--color-login-border-faint);border-radius:var(--radius-sm);color:var(--color-login-copy);background:var(--color-login-elevated);font-size:var(--text-xs);font-weight:600;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.case-directory__chip.is-active{border-color:var(--color-login-gold-bright);color:var(--color-login-gold-bright);background:var(--color-login-segment-active)}@media (hover:hover) and (pointer:fine){.case-directory__chip:hover{border-color:var(--color-login-gold-bright);color:var(--color-login-gold-bright)}}.case-directory__chip:focus-visible{outline:2px solid var(--color-login-focus);outline-offset:1px}.case-directory__search{display:inline-flex;align-items:center;gap:var(--space-2);flex:1 1 14rem;max-width:22rem;min-height:2.25rem;padding:0 var(--space-2);border:1px solid var(--color-login-border-faint);border-radius:var(--radius-sm);color:var(--color-login-ivory-muted);background:var(--color-login-elevated)}.case-directory__search:focus-within{border-color:var(--color-login-gold-bright);box-shadow:0 0 0 3px var(--color-login-focus-ring)}.case-directory__search input{flex:1 1;min-width:0;border:0;outline:none;color:var(--color-login-ivory);background:transparent;font-size:var(--text-sm)}.case-directory__search input::placeholder{color:var(--color-login-ivory-muted)}.case-directory__table-wrap{overflow-x:auto;border:1px solid var(--color-login-border-faint);border-radius:var(--radius-md)}.case-directory__table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.case-directory__table th{padding:var(--space-2) var(--space-3);color:var(--color-login-ivory-muted);background:var(--color-login-elevated);font-family:var(--font-mono);font-size:.625rem;font-weight:600;letter-spacing:.04em;text-align:left}.case-directory__table td,.case-directory__table th{border-bottom:1px solid var(--color-login-border-faint);white-space:nowrap}.case-directory__table td{padding:var(--space-3);color:var(--color-login-copy);vertical-align:middle}.case-directory__table tbody tr:last-child td{border-bottom:0}.case-directory__table tbody tr{cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.case-directory__table tbody tr:nth-child(2n){background:var(--color-noir-row-zebra)}@media (hover:hover) and (pointer:fine){.case-directory__table tbody tr:hover{background:var(--color-login-surface-hover)}}.case-directory__table tbody tr:focus-visible{outline:2px solid var(--color-login-focus);outline-offset:-2px}.case-directory__table td strong{display:block;color:var(--color-login-ivory);font-weight:600}.case-directory__table td small{display:block;max-width:20rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-directory__table td small,.case-directory__table time{color:var(--color-login-ivory-muted);font-size:var(--text-xs)}.case-directory__table time{font-family:var(--font-mono)}.case-directory__muted{color:var(--color-login-ivory-muted)}.case-directory__version{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-login-gold-bright)}.case-directory__badge{display:inline-flex;align-items:center;min-height:1.5rem;padding:var(--space-1) var(--space-2);border:1px solid var(--color-login-border-soft);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.03em;white-space:nowrap}.case-directory__badge--stage-early{border-color:var(--color-noir-chart-1);color:var(--color-noir-chart-1)}.case-directory__badge--stage-mid{border-color:var(--color-noir-chart-2);color:var(--color-noir-chart-2)}.case-directory__badge--stage-late{border-color:var(--color-login-gold-bright);color:var(--color-login-gold-bright);background:var(--color-login-segment-active)}.case-directory__badge--active{border-color:var(--color-noir-success);color:var(--color-noir-success);background:var(--color-noir-success-soft)}.case-directory__badge--closed{border-color:var(--color-login-border-soft);color:var(--color-login-ivory-muted);background:var(--color-login-elevated)}.case-directory__badge--unknown{color:var(--color-login-copy)}.case-directory__skeleton{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.case-directory__loading-note{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-xs);color:var(--color-login-ivory-muted)}.case-directory__skeleton-row{height:3.25rem;border:1px solid var(--color-login-border-faint);border-radius:var(--radius-md);background:linear-gradient(90deg,var(--color-login-elevated) 25%,var(--color-login-surface-hover) 50%,var(--color-login-elevated) 75%);background-size:200% 100%;animation:case-directory-shimmer 1.4s var(--ease-in-out) infinite}@keyframes case-directory-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.case-directory__empty{display:grid;justify-items:center;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-8) var(--space-4);border:1px dashed var(--color-login-border-faint);border-radius:var(--radius-md);color:var(--color-login-ivory-muted);text-align:center}.case-directory__empty p{margin:0;font-size:var(--text-sm);color:var(--color-login-copy)}.case-directory__empty small{font-size:var(--text-xs)}.case-directory__error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-login-error-border);border-radius:var(--radius-md);background:var(--color-login-error-surface)}.case-directory__error p{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-sm);color:var(--color-login-error)}.case-directory__retry{display:inline-flex;align-items:center;gap:var(--space-1);min-height:2rem;padding:0 var(--space-2);border:1px solid var(--color-login-gold-bright);border-radius:var(--radius-sm);color:var(--color-login-gold-bright);background:transparent;font-size:var(--text-xs);font-weight:600;transition:background-color var(--dur-fast) var(--ease-out)}@media (hover:hover) and (pointer:fine){.case-directory__retry:hover{background:var(--color-login-segment-active)}}.case-directory__retry:focus-visible{outline:2px solid var(--color-login-focus);outline-offset:1px}@media (max-width:48rem){.case-directory{padding:var(--space-4)}.case-directory__filters{align-items:stretch;flex-direction:column}.case-directory__search{max-width:none}}.consult-desk{display:flex;flex-direction:column;gap:20px}.consult-desk__guide{padding:22px 26px;background:var(--color-login-surface);border:1px solid var(--color-login-border-faint);border-radius:14px}.consult-desk__guide h2{margin:6px 0 14px;font-size:20px;color:var(--color-login-ivory)}.consult-desk__steps{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;counter-reset:consult-step}.consult-desk__steps li{counter-increment:consult-step;display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--color-login-border-faint);border-radius:10px;background:var(--color-login-elevated)}.consult-desk__steps li:before{content:counter(consult-step);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--color-login-gold-bright);color:var(--color-login-gold-bright);font-size:12px}.consult-desk__steps strong{color:var(--color-login-ivory);font-size:14px}.consult-desk__steps span{color:var(--color-login-ivory-muted);font-size:12.5px;line-height:1.5}@media (max-width:1100px){.consult-desk__steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.consult-desk__steps{grid-template-columns:1fr}}.session-actions{display:flex;align-items:center;gap:var(--space-2)}.session-strip{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-5);overflow-x:auto;border-bottom:1px solid var(--color-login-border-faint);scrollbar-width:thin}.session-chip{display:grid;flex:0 0 auto;grid-gap:.125rem;gap:.125rem;min-width:8.5rem;max-width:12rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-login-border-faint);border-radius:var(--radius-sm);color:var(--color-login-copy);background:var(--color-login-surface);text-align:start;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.session-chip:hover{border-color:var(--color-login-border-soft);background:var(--color-login-surface-hover)}.session-chip:focus-visible{outline:2px solid var(--color-login-focus);outline-offset:1px}.session-chip--active{border-color:var(--color-login-gold-bright);background:var(--color-login-segment-active)}.session-chip__kind{color:var(--color-login-gold);font-size:.6875rem;font-weight:700}.session-chip--active .session-chip__kind{color:var(--color-login-gold-bright)}.session-chip__title{overflow:hidden;color:var(--color-login-ivory);font-size:var(--text-xs);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.session-chip__meta{font-size:.6875rem;white-space:nowrap}.session-chip__meta,.session-note{color:var(--color-login-ivory-muted)}.session-note{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-xs)}@media (max-width:40rem){.session-strip{padding-inline:var(--space-4)}.session-chip{min-width:7.5rem}}.role-switch{position:relative}.role-switch__trigger{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);width:100%;min-height:3.25rem;padding:var(--space-2);background:var(--color-login-surface);border:1px solid var(--color-login-border-soft);border-radius:var(--radius-md);color:var(--color-login-gold-bright);text-align:start}.role-switch__current{display:grid;grid-gap:.1rem;gap:.1rem}.role-switch__current small{color:var(--color-login-ivory-muted);font-size:var(--text-xs)}.role-switch__current strong{color:var(--color-login-ivory);font-size:var(--text-sm)}.role-switch__trigger:disabled{opacity:.7}.role-switch__menu{position:absolute;inset-block-end:calc(100% + var(--space-1));inset-inline-start:0;z-index:40;display:grid;grid-gap:2px;gap:2px;min-width:100%;padding:var(--space-1);border:1px solid var(--color-login-border-soft);border-radius:var(--radius-sm);background:var(--color-login-elevated);box-shadow:var(--shadow-subtle)}.role-switch__option{display:grid;grid-gap:.1rem;gap:.1rem;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-login-ivory-muted);background:transparent;text-align:start;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.role-switch__option strong{color:var(--color-login-ivory);font-size:var(--text-xs);font-weight:600}.role-switch__option small{font-size:.625rem;line-height:1.4}.role-switch__option--active{background:var(--color-login-segment-active)}.role-switch__option--active,.role-switch__option--active strong{color:var(--color-login-gold-bright)}@media (hover:hover) and (pointer:fine){.role-switch__option:not(.role-switch__option--active):hover{background:var(--color-login-surface-hover)}}@media (max-width:78rem){.role-switch__current{display:none}.role-switch__trigger{grid-template-columns:auto;justify-content:center;min-height:2.75rem}.role-switch__menu{min-width:12rem}}.fact-row__main--readonly{cursor:default}.fact-row__main--readonly:hover strong{color:inherit}.message-composer--readonly{margin:0;border-top:1px solid var(--color-login-border-faint);color:var(--color-login-ivory-muted);font-size:var(--text-xs);line-height:1.6}