/* Housing Court Filer — Matter workspace (case detail).
   Ported from the approved case-detail screen (assets/styles.css case blocks and
   assets/case-overview.css). Loaded only while /case-detail/{id} is rendered and every rule is
   prefixed with .case-detail-page so no other module's styling changes. */

.case-detail-page{
  --navy:#213d66;--navy-dark:#193354;--navy-deep:#132b4a;--navy-soft:#eef4fd;
  --gold:#e4b64f;--gold-dark:#d4a73d;--gold-soft:#fff5d9;--ivory:#faf5e9;
  --surface-soft:#fafbfd;--line:#e1e6ed;--line-dark:#cbd4df;
  --ink:#172941;--muted:var(--hcf-navy);--muted-2:var(--hcf-navy);--green:#13815f;--green-soft:#e7f5ef;
  color:var(--hcf-text);
}
.case-detail-page .icon{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* Held at one-class weight (:where) so the shared .hcf-button colours in components.css win. */
.case-detail-page :where(a){color:inherit;text-decoration:none}
.case-detail-page button{cursor:pointer;font:inherit}
.case-detail-page :where(button){color:inherit}
.case-detail-page input,.case-detail-page select,.case-detail-page textarea{outline:none;width:100%;font:inherit;color:inherit}

/* ---------------------------------------------------------------- buttons */
/* Action buttons are the shared .hcf-button family (components.css); this page only places them. */
.case-detail-page button[disabled]{opacity:.55;cursor:not-allowed}
.case-detail-page .status-chip,.case-detail-page .document-status{display:inline-flex;align-items:center;border-radius:7px;padding:3px 8px;font-size:var(--hcf-text-column);font-weight:var(--hcf-weight-label);white-space:nowrap}
.case-detail-page .status-chip.green,.case-detail-page .document-status.created{background:#1f9664;color:var(--hcf-text-inverse)}
.case-detail-page .status-chip.amber,.case-detail-page .document-status.draft{background:#fff0d0;color:var(--hcf-text-warning)}
.case-detail-page .status-chip.blue{background:#eaf2ff;color:var(--hcf-text-meta)}
.case-detail-page .status-chip.gray{background:#eef1f5;color:var(--hcf-text-meta)}
.case-detail-page .document-status{font-size:var(--hcf-text-caption)}

/* -------------------------------------------------------- banner and metrics */
.case-detail-page .case-breadcrumb{display:flex;gap:9px;align-items:center;font-weight:var(--hcf-weight-bold);margin-bottom:14px;color:var(--hcf-text-meta)}
.case-detail-page .case-breadcrumb a:first-child{color:var(--hcf-text)}
.case-detail-page .matter-banner{background:linear-gradient(105deg,#17365e,#2c6282);border-radius:19px;color:var(--hcf-text-inverse);padding:19px 23px;display:flex;align-items:center;min-height:120px}
.case-detail-page .matter-pills{display:flex;gap:8px;margin-bottom:5px}
.case-detail-page .matter-pills span{background:rgba(255,255,255,.16);padding:5px 10px;border-radius:999px;font-size:var(--hcf-text-column);font-weight:var(--hcf-weight-label)}
.case-detail-page .matter-banner h1{margin:0 0 3px}
.case-detail-page .matter-banner p{margin:0;color:var(--hcf-text-inverse-meta)}
.case-detail-page .matter-banner-actions{margin-left:auto;display:flex;gap:9px}
.case-detail-page .matter-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0}
.case-detail-page .matter-metrics article{padding:0 0 10px;min-width:0}
.case-detail-page .matter-metrics header{display:flex;justify-content:space-between;color:var(--hcf-text-meta);font-weight:var(--hcf-weight-bold)}
.case-detail-page .matter-metrics i{font-style:normal;width:31px;height:31px;border-radius:9px;background:#eaf2ff;display:grid;place-items:center;color:var(--hcf-text-meta)}
.case-detail-page .matter-metrics strong{font-size:var(--hcf-text-metric);display:block;margin:8px 16px 0;overflow-wrap:anywhere}
.case-detail-page .active-dot:before{content:"";display:inline-block;width:8px;height:8px;background:#159464;border-radius:50%;margin-right:8px}
.case-detail-page .status-progress{height:8px;background:#e4eaf1;border-radius:999px;margin:7px 16px 0}
.case-detail-page .status-progress span{display:block;height:100%;background:#0b8979;border-radius:999px}

/* ------------------------------------------------------------------- tabs */
.case-detail-page .case-tabs{margin-bottom:15px}

/* ---------------------------------------------------------- section cards */
.case-detail-page .case-section-card{overflow:hidden}
.case-detail-page .case-section-card>header>div{display:flex;align-items:center;gap:10px}
.case-detail-page .case-section-card>header>div>.icon{width:32px;height:32px;padding:8px;background:#eaf2ff;border-radius:9px;color:var(--hcf-text-meta)}
.case-detail-page .case-section-card h2{margin:0}
/* Unhooked header controls are text links; hooked ones are shared buttons and are left to components.css. */
.case-detail-page .case-section-card header :is(button,a):not(.hcf-button):not(.hcf-button-secondary){border:0;background:none;color:var(--hcf-text-success);font-weight:var(--hcf-weight-bold)}
.case-detail-page .two-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.case-detail-page .detail-grid{display:grid;padding:14px}
.case-detail-page .detail-grid.two{grid-template-columns:1fr 1fr}
.case-detail-page .detail-grid.three{grid-template-columns:repeat(3,1fr)}
.case-detail-page .detail-grid p{margin:0;padding:11px;border-bottom:1px solid #edf0f3}
.case-detail-page .detail-grid span{display:block;color:var(--hcf-text-meta);font-size:var(--hcf-text-label);font-weight:var(--hcf-weight-label);margin-bottom:6px}
.case-detail-page .detail-grid .motion-schedule-details{grid-column:1/-1}
.case-detail-page .motion-schedule-details strong{display:block;white-space:pre-wrap;line-height:1.55}
.case-detail-page .empty-inline{padding:30px 16px;color:var(--hcf-text-meta)}
.case-detail-page .billing-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:14px}
.case-detail-page .billing-summary div{background:#f8fafc;border-radius:10px;padding:13px}
.case-detail-page .billing-summary span{display:block;font-size:var(--hcf-text-caption);color:var(--hcf-text-meta)}
.case-detail-page .billing-summary strong{font-size:var(--hcf-text-modal-title)}
.case-detail-page .notes-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:14px}
.case-detail-page .notes-editor{display:grid;padding:14px}
.case-detail-page .notes-editor textarea{margin-top:6px}
.case-detail-page .notes-editor small{color:var(--hcf-text-meta);margin-top:4px}
.case-detail-page .note-save-actions{display:flex;justify-content:flex-end;padding:0 14px 14px}
.case-detail-page .saved-note-list{padding:0 14px 14px;display:grid;gap:10px}
.case-detail-page .saved-note{border:1px solid var(--line);border-radius:11px;padding:11px 13px;display:grid;gap:3px}
.case-detail-page .saved-note time{color:var(--hcf-text-meta);font-size:var(--hcf-text-column)}
.case-detail-page .saved-note p{margin:4px 0 0;white-space:pre-wrap}
.case-detail-page .followup-list{padding:12px;display:grid;gap:8px}
.case-detail-page .followup-list article{border-left:3px solid var(--gold);padding:10px 12px;background:#fbfcfe;display:grid}
.case-detail-page .followup-list span,.case-detail-page .followup-list small{color:var(--hcf-text-meta);font-size:var(--hcf-text-small)}
.case-detail-page table.hcf-table{width:100%;border-collapse:collapse;margin:0}
.case-detail-page table.hcf-table th,.case-detail-page table.hcf-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.case-detail-page table.hcf-table thead th{background:#fbfcfe}
.case-detail-page .row-actions{white-space:nowrap}
.case-detail-page .row-actions button,.case-detail-page .row-actions a{margin-right:5px}
.case-detail-page .document-table td small{display:block;color:var(--hcf-text-meta);font-weight:var(--hcf-weight-bold);font-size:var(--hcf-text-label);margin-top:2px;letter-spacing:normal}
.case-detail-page .doc-actions{display:flex;align-items:center}
.case-detail-page .doc-format-btn{opacity:.5}
.case-detail-page .doc-format-btn .icon{width:22px;height:22px}
.case-detail-page .doc-format-btn:hover{opacity:.8}
.case-detail-page .doc-format-btn.active{opacity:1}
.case-detail-page .doc-format-btn[aria-busy="true"]{opacity:1;cursor:progress}
.case-detail-page .doc-format-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--navy);animation:doc-preview-spin .8s linear infinite}

/* -------------------------------------------------------- matter overview */
.case-detail-page .mo-grid{display:grid;grid-template-columns:minmax(0,2.02fr) minmax(320px,1fr);gap:14px;align-items:start}
.case-detail-page .mo-col{display:grid;gap:14px;align-content:start;min-width:0}
.case-detail-page .mo-card{overflow:hidden;min-width:0}
.case-detail-page .mo-card-title{display:flex;align-items:center;gap:10px;min-width:0}
.case-detail-page .mo-card-title>.icon{width:34px;height:34px;padding:8px;background:#eaf2ff;border-radius:9px;color:var(--hcf-text-meta);flex:none}
.case-detail-page .mo-card-title h2{margin:0}
.case-detail-page .mo-card-title p{margin:2px 0 0;color:var(--hcf-text-meta);font-size:var(--hcf-text-column);font-weight:var(--hcf-weight-bold)}
.case-detail-page .mo-card-body{padding:12px}
.case-detail-page .mo-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-top:1px solid var(--line);background:var(--surface-soft)}
.case-detail-page .mo-card>footer small{color:var(--hcf-text-meta);font-size:var(--hcf-text-column)}
.case-detail-page .mo-link{border:0;background:none;color:var(--hcf-text-success);font-weight:var(--hcf-weight-bold);padding:0;display:inline-flex;align-items:center;gap:6px}
.case-detail-page .mo-link:hover{text-decoration:underline}
.case-detail-page .mo-person{display:flex;align-items:center;gap:13px;margin-bottom:12px}
.case-detail-page .mo-avatar{width:54px;height:54px;border-radius:15px;background:#e9f1fc;color:var(--hcf-text-meta);display:grid;place-items:center;font-weight:var(--hcf-weight-bold);font-size:var(--hcf-text-card-title);flex:none}
.case-detail-page .mo-person h3{margin:0}
.case-detail-page .mo-person p{margin:3px 0 0;color:var(--hcf-text-meta);font-size:var(--hcf-text-table);font-weight:var(--hcf-weight-bold)}
.case-detail-page .mo-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.case-detail-page .mo-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:var(--hcf-text-caption);font-weight:var(--hcf-weight-label);background:#eef2f7;color:var(--hcf-text-meta);white-space:nowrap}
.case-detail-page .mo-badge.amber{background:#fff0d0;color:var(--hcf-text-warning)}
.case-detail-page .mo-badge.green{background:var(--green-soft);color:var(--hcf-text-success)}
.case-detail-page .mo-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:11px;overflow:hidden}
.case-detail-page .mo-fact{padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.case-detail-page .mo-fact:nth-child(2n){border-right:0}
.case-detail-page .mo-fact:nth-last-child(-n+2){border-bottom:0}
.case-detail-page .mo-fact-label{display:block;color:var(--hcf-text-meta);font-size:var(--hcf-text-caption);letter-spacing:var(--hcf-tracking-caps);text-transform:uppercase;font-weight:var(--hcf-weight-label);margin-bottom:6px}
.case-detail-page .mo-fact-value{font-weight:var(--hcf-weight-bold);overflow-wrap:anywhere}
.case-detail-page .mo-fact-help{margin-top:3px;color:var(--hcf-text-meta);font-size:var(--hcf-text-column);line-height:1.35}
.case-detail-page .mo-note{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;margin-top:14px;padding:12px 13px;border:1px solid #d7e5f1;background:#f6faff;border-radius:11px;color:var(--hcf-text-meta)}
.case-detail-page .mo-note .icon{width:30px;height:30px;padding:7px;border-radius:8px;background:#e9f2fa;color:var(--hcf-text-meta)}
.case-detail-page .mo-note strong{display:block;color:var(--hcf-text-meta);margin-bottom:2px}
.case-detail-page .mo-note span{font-size:var(--hcf-text-table)}
.case-detail-page .mo-contact{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.case-detail-page .mo-contact .mo-avatar{width:48px;height:48px;border-radius:50%;background:var(--green-soft);color:var(--hcf-text-success)}
.case-detail-page .mo-contact h3{margin:0}
.case-detail-page .mo-contact p{margin:3px 0 0;color:var(--hcf-text-meta);font-size:var(--hcf-text-small)}
.case-detail-page .mo-contact-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;padding:11px 0;border-bottom:1px solid var(--line)}
.case-detail-page .mo-contact-row:last-child{border-bottom:0}
.case-detail-page .mo-contact-row .icon{width:30px;height:30px;padding:7px;border-radius:8px;background:#eef3f9;color:var(--hcf-text-meta)}
.case-detail-page .mo-contact-label{color:var(--hcf-text-meta);font-size:var(--hcf-text-caption);letter-spacing:var(--hcf-tracking-caps);text-transform:uppercase;font-weight:var(--hcf-weight-label)}
.case-detail-page .mo-contact-value{margin-top:2px;font-weight:var(--hcf-weight-bold);overflow-wrap:anywhere}
.case-detail-page .mo-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.case-detail-page .mo-quick-grid a{border:1px solid var(--line);border-radius:10px;padding:11px 12px;display:grid}
.case-detail-page .mo-quick-grid a:hover{border-color:var(--line-dark);background:var(--surface-soft)}
.case-detail-page .mo-quick-grid span{font-size:var(--hcf-text-column);color:var(--hcf-text-meta);margin-top:3px}
.case-detail-page .mo-activity{display:grid}
.case-detail-page .mo-activity-item{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:13px;align-items:start;padding:9px 0;border-bottom:1px solid #edf0f4}
.case-detail-page .mo-activity-item:last-child{border-bottom:0}
.case-detail-page .mo-dot{width:10px;height:10px;border-radius:50%;background:#c4d1df;margin-top:6px;box-shadow:0 0 0 4px #eef3f8}
.case-detail-page .mo-activity-item:first-child .mo-dot{background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}
.case-detail-page .mo-activity-title{font-weight:var(--hcf-weight-bold)}
.case-detail-page .mo-activity-desc{color:var(--hcf-text-meta);margin-top:3px;font-size:var(--hcf-text-small)}
.case-detail-page .mo-activity-date{color:var(--hcf-text-meta);font-weight:var(--hcf-weight-bold);font-size:var(--hcf-text-column);white-space:nowrap}

/* ------------------------------------------------------- court card editor */
.case-detail-page .court-edit{display:grid;gap:12px;padding:14px}
.case-detail-page .court-edit label{display:grid;gap:6px}
.case-detail-page .court-edit .validation-message{margin:0}
.case-detail-page .court-edit-actions{display:flex;justify-content:flex-end;gap:8px}
.case-detail-page .court-part-field{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}
.case-detail-page .court-part-field>label{flex:1 1 14rem;min-width:0}

.case-detail-page .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* --------------------------------------------- full case-details viewer */
.case-detail-page .cd-backdrop{z-index:9000}
.case-detail-page .cd-modal{width:min(1120px,100%);height:min(860px,92vh);margin:auto}
.case-detail-page .cd-head p{margin:4px 0 0;color:var(--hcf-text-meta);font-size:var(--hcf-text-small)}
.case-detail-page .cd-head-actions{display:flex;align-items:center;gap:8px;flex:none;flex-wrap:wrap;min-width:0}
.case-detail-page .cd-main{display:grid;grid-template-columns:232px minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;flex:1}
.case-detail-page .cd-nav{border-right:1px solid var(--line);background:var(--surface-soft);padding:14px 10px;overflow:auto}
.case-detail-page .cd-nav-title{padding:4px 9px 9px;font-size:var(--hcf-text-caption);letter-spacing:var(--hcf-tracking-caps);text-transform:uppercase;color:var(--hcf-text-meta);font-weight:var(--hcf-weight-label)}
.case-detail-page .cd-nav button{width:100%;min-height:44px;padding:9px 11px;border:0;border-radius:10px;background:none;color:var(--hcf-text-meta);display:flex;align-items:center;gap:9px;text-align:left;font-weight:var(--hcf-weight-bold);margin-bottom:4px}
.case-detail-page .cd-nav button .icon{width:18px;height:18px;flex:none}
.case-detail-page .cd-nav button:hover{background:#eef4fa;color:var(--hcf-text-meta)}
.case-detail-page .cd-nav button.active{background:var(--navy);color:var(--hcf-text-inverse)}
.case-detail-page .cd-content{min-width:0;min-height:0;display:flex;flex-direction:column}
.case-detail-page .cd-scroll{padding:20px 22px;overflow:auto;flex:1;min-height:0}
.case-detail-page .cd-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.case-detail-page .cd-section-head h3{margin:0}
.case-detail-page .cd-section-head p{margin:5px 0 0;color:var(--hcf-text-meta);font-size:var(--hcf-text-small)}
.case-detail-page .cd-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.case-detail-page .cd-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;border-top:1px solid var(--line)}
.case-detail-page .cd-detail-item{padding:12px 0;border-bottom:1px solid #edf2f7;min-width:0}
.case-detail-page .cd-detail-item.full{grid-column:1/-1}
.case-detail-page .cd-detail-label{font-size:var(--hcf-text-caption);text-transform:uppercase;letter-spacing:var(--hcf-tracking-caps);color:var(--hcf-text-meta);font-weight:var(--hcf-weight-label);margin-bottom:5px}
.case-detail-page .cd-detail-value{font-weight:var(--hcf-weight-bold);overflow-wrap:anywhere;white-space:pre-wrap}
.case-detail-page .cd-detail-value.empty{color:var(--hcf-text-meta);font-weight:var(--hcf-weight-bold)}
.case-detail-page .cd-computed{font-size:var(--hcf-text-caption);margin-left:6px;color:var(--hcf-text-meta);font-weight:var(--hcf-weight-label);background:#eef3f7;padding:2px 6px;border-radius:999px;white-space:nowrap}
.case-detail-page .cd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.case-detail-page .cd-field{min-width:0}
.case-detail-page .cd-field.full{grid-column:1/-1}
.case-detail-page .cd-field label{display:flex;align-items:center;gap:6px;margin-bottom:6px}
/* Named parties, one row each, added and removed in place — the /create-case repeaters. */
.case-detail-page .cd-list{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}
.case-detail-page .cd-list-empty{margin:0;color:var(--hcf-text-meta);font-size:var(--hcf-text-small);font-weight:var(--hcf-weight-bold)}
.case-detail-page .cd-list-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-weight:var(--hcf-weight-bold)}
.case-detail-page .cd-list-add{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:8px}
.case-detail-page .cd-field .cd-list-field{display:grid;gap:6px;margin-bottom:0;min-width:0}
.case-detail-page .cd-list-field>span{display:flex;align-items:center;gap:5px;white-space:nowrap}
.case-detail-page .cd-list-field b{color:var(--hcf-text-danger)}
.case-detail-page .cd-list-more{justify-self:start}
.case-detail-page .cd-field input[readonly],.case-detail-page .cd-field textarea[readonly]{color:var(--hcf-text-meta);cursor:not-allowed}
.case-detail-page .cd-field-help{margin-top:5px;color:var(--hcf-text-meta);font-size:var(--hcf-text-caption);line-height:1.35}
.case-detail-page .cd-field select,.case-detail-page .cd-field .hcf-multi-select{width:100%}
/* The Good Cause determination, on the same two-ended switch /create-case settles it with. */
.case-detail-page .cd-switch-choice{display:flex;align-items:center;gap:12px;padding:6px 0}
.case-detail-page .cd-switch-choice>span{font-size:var(--hcf-text-caption);font-weight:var(--hcf-weight-label);color:var(--hcf-text-meta);white-space:nowrap;opacity:.5}
.case-detail-page .cd-switch-choice>span.chosen{opacity:1;text-decoration:underline;text-underline-offset:3px}
.case-detail-page .cd-switch-choice .switch{position:relative;display:inline-flex;align-items:center;width:46px;height:26px;flex:0 0 auto;opacity:1}
.case-detail-page .cd-switch-choice .switch input[type=checkbox]{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;opacity:0;cursor:pointer}
.case-detail-page .cd-switch-choice .switch input+span{width:46px;height:26px;border-radius:999px;background:var(--hcf-line-dark);transition:background .15s ease}
.case-detail-page .cd-switch-choice .switch input+span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s ease}
.case-detail-page .cd-switch-choice .switch input:checked+span{background:var(--hcf-navy)}
.case-detail-page .cd-switch-choice .switch input:checked+span::after{transform:translateX(20px)}
.case-detail-page .cd-ledger{margin-top:18px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.case-detail-page .cd-ledger-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;background:var(--surface-soft);border-bottom:1px solid var(--line)}
.case-detail-page .cd-ledger-head strong{color:var(--hcf-text-meta)}
.case-detail-page .cd-ledger-head span{color:var(--hcf-text-meta);font-size:var(--hcf-text-column)}
.case-detail-page .cd-ledger table{width:100%;border-collapse:collapse}
.case-detail-page .cd-ledger th,.case-detail-page .cd-ledger td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}
.case-detail-page .cd-ledger th{background:#fbfcfe}
.case-detail-page .cd-ledger tr:last-child td{border-bottom:0}
.case-detail-page .cd-ledger .amount{text-align:right;font-variant-numeric:tabular-nums}
.case-detail-page .cd-ledger .total td{font-weight:var(--hcf-weight-bold);background:var(--surface-soft)}
.case-detail-page .cd-callout{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;margin-top:16px;padding:12px 13px;border:1px solid #d7e5f1;background:#f6faff;border-radius:11px;color:var(--hcf-text-meta)}
.case-detail-page .cd-callout .icon{width:30px;height:30px;padding:7px;border-radius:8px;background:#e9f2fa;color:var(--hcf-text-meta)}
.case-detail-page .cd-callout strong{display:block;color:var(--hcf-text-meta);margin-bottom:2px}
.case-detail-page .cd-callout span{font-size:var(--hcf-text-column)}
.case-detail-page .cd-foot{display:flex;padding:12px 18px;border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:9px}
.case-detail-page .cd-reason{flex:1;min-width:0;display:grid;gap:4px}
.case-detail-page .cd-reason>span{display:flex;align-items:center;gap:5px;white-space:nowrap}
.case-detail-page .cd-reason b{color:var(--hcf-text-danger)}
.case-detail-page .cd-corrected{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-size:var(--hcf-text-caption);font-weight:var(--hcf-weight-label);background:var(--gold-soft);color:var(--hcf-text-warning);padding:2px 6px;border-radius:999px}

/* -------------------------------------------------------- document preview modal */
.case-detail-page .doc-preview-modal{width:min(960px,100%);height:min(820px,92vh)}
.case-detail-page .doc-preview-body{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface-soft)}
.case-detail-page .doc-preview-body .cd-callout{margin:16px}
.case-detail-page .doc-preview-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--hcf-text-meta);font-weight:var(--hcf-weight-bold)}
.case-detail-page .doc-preview-loading .spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--navy);animation:doc-preview-spin .8s linear infinite}
.case-detail-page .doc-preview-surface{flex:1;min-height:0;overflow:auto}
.case-detail-page .doc-preview-surface iframe{width:100%;height:100%;border:0;display:block}
.case-detail-page .doc-preview-surface .docx-preview{background:#fff;padding:24px;max-width:900px;margin:0 auto}
@keyframes doc-preview-spin{to{transform:rotate(360deg)}}

/* ------------------------------------------------------------------ toast */
.case-detail-page .toast-region{position:fixed;right:22px;bottom:22px;z-index:9500;display:grid;gap:8px}
.case-detail-page .toast-region .toast{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:var(--navy);color:var(--hcf-text-inverse);font-weight:var(--hcf-weight-bold);box-shadow:0 12px 30px rgba(19,43,74,.28)}
.case-detail-page .toast-region .toast.error{background:#a53131}
.case-detail-page .toast-region .toast button{border:0;background:transparent;color:var(--hcf-text-inverse);font-size:var(--hcf-text-body)}

@media(max-width:1180px){
  .case-detail-page .mo-grid{grid-template-columns:1fr}
  .case-detail-page .matter-banner{align-items:flex-start}
  .case-detail-page .matter-banner-actions{flex-wrap:wrap;justify-content:flex-end}
  .case-detail-page .matter-metrics{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .case-detail-page .matter-banner{display:block}
  .case-detail-page .matter-banner-actions{margin:14px 0 0;justify-content:flex-start}
  .case-detail-page .two-card-grid,.case-detail-page .notes-grid{grid-template-columns:1fr}
  .case-detail-page .cd-modal{height:100%}
  .case-detail-page .cd-main{grid-template-columns:1fr}
  .case-detail-page .cd-nav{border-right:0;border-bottom:1px solid var(--line);display:flex;gap:5px;overflow:auto;padding:9px}
  .case-detail-page .cd-nav-title{display:none}
  .case-detail-page .cd-nav button{width:auto;min-width:max-content;margin:0}
  .case-detail-page .cd-detail-grid,.case-detail-page .cd-form-grid{grid-template-columns:1fr}
  .case-detail-page .cd-detail-item.full,.case-detail-page .cd-field.full{grid-column:auto}
}
@media(max-width:620px){
  .case-detail-page .matter-metrics,.case-detail-page .detail-grid.two,.case-detail-page .detail-grid.three,
  .case-detail-page .billing-summary,.case-detail-page .mo-facts,.case-detail-page .mo-quick-grid{grid-template-columns:1fr}
  .case-detail-page .mo-fact{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .case-detail-page .mo-fact:last-child{border-bottom:0!important}
}
@media print{
  .case-detail-page .cd-backdrop,.case-detail-page .mo-card>header button,.case-detail-page .mo-card>footer,
  .case-detail-page .matter-banner-actions,.case-detail-page .toast-region{display:none!important}
}

/* ------------------------------------------------ newly generated document */
/* A freshly generated document is called out on arrival from the actions screen. The pulse runs a
   fixed number of times rather than forever: a persistent blink is hard to read past, and WCAG
   2.3.1 limits flashing content. The row keeps a soft tint afterwards so it stays findable. */
.case-detail-page tr.document-highlight > td{background:var(--gold-soft);animation:document-highlight-pulse .9s ease-in-out 3}
.case-detail-page tr.document-highlight > td:first-child{box-shadow:inset 3px 0 0 0 var(--gold)}
@keyframes document-highlight-pulse{50%{background:#fde9b8}}
@media(prefers-reduced-motion:reduce){
  .case-detail-page tr.document-highlight > td{animation:none}
}
/* ---------------------------------------------------------------- Tenant Matters workspace */
.tenant-case-workspace{--tc-navy:#12233f;--tc-green:#0f7a5a;--tc-muted:#5f6b7a;--tc-line:#d9e0e8;display:grid;gap:15px;color:var(--hcf-text)}
.tenant-case-workspace .tc-breadcrumb{display:flex;gap:7px;color:var(--hcf-text-meta);font-size:var(--hcf-text-small)}.tenant-case-workspace .tc-breadcrumb a{color:var(--hcf-text-link);text-decoration:none}
.tenant-case-workspace .tc-header{padding:19px 21px 17px;border-radius:14px;background:var(--tc-navy);color:var(--hcf-text-inverse);box-shadow:0 7px 22px rgba(18,35,63,.07)}
.tenant-case-workspace .tc-head-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.tenant-case-workspace .tc-head-top h1{margin:0 0 5px}.tenant-case-workspace .tc-head-top p{margin:0;color:var(--hcf-text-inverse-meta);font-size:var(--hcf-text-small)}
.tenant-case-workspace .tc-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:7px}.tenant-case-workspace .tc-pills span{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;font-size:var(--hcf-text-caption);font-weight:var(--hcf-weight-label);text-transform:uppercase}.tenant-case-workspace .tc-pills .light{background:#fff;color:var(--hcf-text-meta)}.tenant-case-workspace .tc-pills .amber{background:#ffe9b9;color:var(--hcf-text-warning)}.tenant-case-workspace .tc-pills .green{background:#daf2e9;color:var(--hcf-text-success)}
.tenant-case-workspace .tc-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tenant-case-workspace .tc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:17px}.tenant-case-workspace .tc-metrics article{padding:11px 13px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.09)}.tenant-case-workspace .tc-metrics span,.tenant-case-workspace .tc-metrics strong,.tenant-case-workspace .tc-metrics small{display:block}.tenant-case-workspace .tc-metrics span{margin-bottom:2px;color:var(--hcf-text-inverse-meta);font-size:var(--hcf-text-caption);font-weight:var(--hcf-weight-bold)}.tenant-case-workspace .tc-metrics strong{font-size:var(--hcf-text-table)}.tenant-case-workspace .tc-metrics small{margin-top:2px;color:var(--hcf-text-inverse-meta);font-size:var(--hcf-text-caption)}
.tenant-case-workspace .tc-tabs-wrap{overflow:hidden}.tenant-case-workspace .tc-panel{padding:18px;background:#f9fbfc}.tenant-case-workspace .tc-feedback{padding:10px 16px;border-bottom:1px solid #b8d9ce;background:#eff8f5;color:var(--hcf-text-success);font-size:var(--hcf-text-small)}
.tenant-case-workspace .tc-overview-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:16px}.tenant-case-workspace .tc-stack{display:grid;align-content:start;gap:15px}.tenant-case-workspace .tc-card{overflow:hidden}.tenant-case-workspace .tc-card>header button{padding:4px;border:0;background:transparent;color:var(--hcf-text-meta);font-weight:var(--hcf-weight-bold);cursor:pointer}.tenant-case-workspace .tc-card-body{padding:12px 16px 15px}
.tenant-case-workspace .tc-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 18px}.tenant-case-workspace .tc-info-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.tenant-case-workspace .tc-info-item.full{grid-column:1/-1}.tenant-case-workspace .tc-info-item>span,.tenant-case-workspace .tc-tag-section>span{display:block;margin-bottom:3px;color:var(--hcf-text-meta);font-size:var(--hcf-text-caption);font-weight:var(--hcf-weight-bold);letter-spacing:var(--hcf-tracking-caps);text-transform:uppercase}.tenant-case-workspace .tc-info-item>strong{display:block;font-size:var(--hcf-text-table);overflow-wrap:anywhere}
.tenant-case-workspace .tc-tag-section+.tc-tag-section{margin-top:12px}.tenant-case-workspace .tc-tags{display:flex;flex-wrap:wrap;gap:7px}.tenant-case-workspace .tc-tags em{color:var(--hcf-text-meta);font-size:var(--hcf-text-small);font-style:normal}.tenant-case-workspace .tc-tag{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #cdd6df;border-radius:999px;background:#f7f9fb;font-size:var(--hcf-text-caption);font-weight:var(--hcf-weight-bold)}.tenant-case-workspace .tc-tag.good{border-color:#b7dccf;background:#eff8f5;color:var(--hcf-text-success)}
.tenant-case-workspace .tc-notice{display:grid;gap:2px;padding:10px 12px;border:1px solid #ead19d;border-radius:9px;background:#fff7e6;color:var(--hcf-text-warning);font-size:var(--hcf-text-small)}.tenant-case-workspace .tc-prose,.tenant-case-workspace .tc-empty-inline{margin:0;color:var(--hcf-text-meta);font-size:var(--hcf-text-small)}.tenant-case-workspace .tc-empty-inline{color:var(--hcf-text-meta)}
.tenant-case-workspace .tc-deadline{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f4;font-size:var(--hcf-text-column)}.tenant-case-workspace .tc-deadline:last-child{border-bottom:0}.tenant-case-workspace .tc-deadline>span>strong,.tenant-case-workspace .tc-deadline>span>small{display:block}.tenant-case-workspace .tc-deadline>span>small{color:var(--hcf-text-meta)}.tenant-case-workspace .tc-deadline>em{padding:4px 7px;border-radius:999px;background:#eef2f6;color:var(--hcf-text-meta);font-size:var(--hcf-text-caption);font-style:normal;font-weight:var(--hcf-weight-label)}.tenant-case-workspace .tc-datebox{min-width:52px;padding:4px;border:1px solid #cfd8e1;border-radius:8px;text-align:center;text-transform:uppercase}.tenant-case-workspace .tc-datebox strong{color:var(--hcf-text-meta);font-size:var(--hcf-text-caption)}
.tenant-case-workspace .tc-doc-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f4}.tenant-case-workspace .tc-doc-row:last-child{border-bottom:0}.tenant-case-workspace .tc-doc-row strong,.tenant-case-workspace .tc-doc-row small{display:block}.tenant-case-workspace .tc-doc-row strong{font-size:var(--hcf-text-column)}.tenant-case-workspace .tc-doc-row small{color:var(--hcf-text-meta);font-size:var(--hcf-text-caption)}.tenant-case-workspace .tc-doc-row a,.tenant-case-workspace .tc-doc-row button{border:0;background:none;padding:0;color:var(--hcf-text-meta);font:inherit;font-size:var(--hcf-text-table);font-weight:var(--hcf-weight-bold);text-decoration:none;cursor:pointer}.tenant-case-workspace .tc-doc-row button:disabled{color:var(--hcf-text-meta);cursor:not-allowed}
.tenant-case-workspace .tc-timeline{display:grid}.tenant-case-workspace .tc-timeline>div{display:grid;grid-template-columns:18px 1fr;gap:9px;padding-bottom:13px}.tenant-case-workspace .tc-timeline i{width:14px;height:14px;margin-top:2px;border:2px solid #7890a7;border-radius:50%}.tenant-case-workspace .tc-timeline i.done{border-color:var(--tc-green);background:var(--tc-green)}.tenant-case-workspace .tc-timeline strong,.tenant-case-workspace .tc-timeline small{display:block;font-size:var(--hcf-text-column)}.tenant-case-workspace .tc-timeline small{color:var(--hcf-text-meta);font-size:var(--hcf-text-caption)}
.tenant-case-workspace .tc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.tenant-case-workspace .tc-toolbar h2{margin:0}.tenant-case-workspace .tc-toolbar p{margin:2px 0 0;color:var(--hcf-text-meta);font-size:var(--hcf-text-column)}.tenant-case-workspace .tc-table-wrap{overflow:auto}.tenant-case-workspace table{width:100%;min-width:680px;border-collapse:collapse}.tenant-case-workspace th,.tenant-case-workspace td{padding:12px 13px;border-bottom:1px solid #e7ebf0;text-align:left}.tenant-case-workspace th{background:#f5f7fa}
.tenant-case-workspace .tc-empty{padding:24px;border:1px dashed #b7c3cf;border-radius:10px;background:transparent;color:var(--hcf-text-meta);text-align:center}.tenant-case-workspace .tc-empty strong,.tenant-case-workspace .tc-empty span{display:block}.tenant-case-workspace .tc-empty strong{margin-bottom:4px;color:var(--hcf-text-meta)}
.tenant-case-workspace .tc-notes-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px}.tenant-case-workspace .tc-note>header strong{font-size:var(--hcf-text-small)}.tenant-case-workspace .tc-note>header span{color:var(--hcf-text-meta);font-size:var(--hcf-text-caption)}.tenant-case-workspace .tc-note>p{margin:0;padding:12px 16px 15px;color:var(--hcf-text-meta);font-size:var(--hcf-text-small)}.tenant-case-workspace .tc-composer{display:grid;align-content:start;gap:8px;padding:15px}.tenant-case-workspace .tc-composer textarea{width:100%}
@media(max-width:980px){.tenant-case-workspace .tc-overview-grid,.tenant-case-workspace .tc-notes-grid{grid-template-columns:1fr}.tenant-case-workspace .tc-metrics{grid-template-columns:repeat(2,1fr)}.tenant-case-workspace .tc-info-grid{grid-template-columns:repeat(2,1fr)}.tenant-case-workspace .tc-head-top{flex-direction:column}.tenant-case-workspace .tc-head-actions{justify-content:flex-start}}
@media(max-width:640px){.tenant-case-workspace .tc-header{padding:16px}.tenant-case-workspace .tc-metrics,.tenant-case-workspace .tc-info-grid,.tenant-case-workspace .tc-info-grid.two{grid-template-columns:1fr}.tenant-case-workspace .tc-panel{padding:12px}.tenant-case-workspace .tc-toolbar{align-items:flex-start;flex-direction:column}.tenant-case-workspace .tc-head-actions{width:100%}.tenant-case-workspace .tc-head-actions>.tc-btn{flex:1}}

/* Non-LT reuses the case workspace components without the LT-only rent and warrant surfaces. */
.nonlt-case-workspace{--tc-navy:#142e55;--tc-green:#00736f}.nonlt-case-workspace .tc-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.nonlt-case-workspace .tc-header{background:linear-gradient(110deg,#142e55,#234a70)}
.nonlt-case-workspace .nonlt-contact{display:grid;gap:5px}.nonlt-case-workspace .nonlt-contact strong{font-size:var(--hcf-text-body)}.nonlt-case-workspace .nonlt-contact span{color:var(--hcf-text-meta);font-size:var(--hcf-text-column)}
.nonlt-case-workspace .nonlt-billing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.nonlt-case-workspace .nonlt-billing-grid article{padding:15px}.nonlt-case-workspace .nonlt-billing-grid span,.nonlt-case-workspace .nonlt-billing-grid strong{display:block}.nonlt-case-workspace .nonlt-billing-grid span{color:var(--hcf-text-meta);font-size:var(--hcf-text-caption)}.nonlt-case-workspace .nonlt-billing-grid strong{margin-top:5px;font-size:var(--hcf-text-page-title)}.nonlt-case-workspace .nonlt-info-notice{padding:12px 14px;border:1px solid #c9daeb;border-radius:9px;background:#f1f6fc;color:var(--hcf-text-meta);font-size:var(--hcf-text-small)}
.nonlt-dialog{z-index:1000}.nonlt-dialog>section{width:min(620px,100%);max-height:90vh}.nonlt-dialog-body{display:grid;gap:14px;padding:18px;overflow:auto;min-height:0}.nonlt-dialog-body label{display:grid;gap:6px}.nonlt-dialog-body input,.nonlt-dialog-body select,.nonlt-dialog-body textarea{width:100%;font:inherit}.nonlt-dialog-body textarea{resize:vertical}.nonlt-error{margin:0;color:var(--hcf-text-danger);font-size:var(--hcf-text-small)}
@media(max-width:760px){.nonlt-case-workspace .nonlt-billing-grid,.nonlt-case-workspace .tc-metrics{grid-template-columns:1fr}}
/* The shared tab bar (.hcf-tabs in app.css) is inset from the card it heads. */
.tenant-case-workspace .tc-tabs{margin:8px}

.case-detail-page .case-report-export-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 20px;overflow:auto;max-height:35vh;flex-shrink:0}
