/* Hearing details: compact, readable workspace with clear action hierarchy. */
.hearing-workspace { max-width: 1400px; margin: 0 auto; }
.hearing-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }
.hearing-back { display:inline-flex; align-items:center; gap:.55rem; font-size:.9rem; font-weight:600; text-decoration:none; }
.hearing-workspace .btn { border-radius:8px; padding:.6rem 1rem; }
.hearing-overview { display:flex; justify-content:space-between; align-items:stretch; gap:2rem; padding:2rem; margin-bottom:1.5rem; background:linear-gradient(115deg,#f2f8fc,#fff 65%); border:1px solid #dce7ef; border-radius:16px; box-shadow:0 4px 18px rgb(25 61 89 / 4%); }
.hearing-identity { min-width:0; align-self:center; }
.hearing-eyebrow { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; color:#577084; font-size:.82rem; font-weight:600; margin-bottom:.9rem; }
.hearing-workspace h1 { font-size:clamp(1.8rem,3vw,2.5rem); color:#183b55; letter-spacing:-.035em; margin:0 0 .6rem; overflow-wrap:anywhere; }
.hearing-parties { font-size:1.06rem; color:#354f63; margin:0 0 .75rem; overflow-wrap:anywhere; }
.hearing-reference { font-size:.8rem; color:#667b8d; }
.hearing-sitting { flex:0 0 275px; border-left:1px solid #dce7ef; padding:1rem 0 1rem 2rem; display:flex; flex-direction:column; justify-content:center; gap:.7rem; }
.hearing-sitting-label { font-size:.78rem; color:#5c7488; }
.hearing-sitting strong { font-size:1.5rem; color:#1c547a; line-height:1.3; }
.hearing-sitting-time { color:#345e7c; font-size:.95rem; }
.hearing-sitting i { margin-right:.4rem; }
.hearing-content-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:1.5rem; }
.hearing-section { border:1px solid #e0e7ed; border-radius:14px; padding:1.5rem; background:#fff; box-shadow:0 2px 8px rgb(25 61 89 / 3%); min-width:0; }
.hearing-section h2 { display:flex; align-items:center; gap:.65rem; color:#29485f; font-size:1rem; font-weight:650; margin:0 0 1.4rem; }
.hearing-section-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:#347fac; background:#eef6fb; flex-shrink:0; }
.hearing-court-name { padding-bottom:1.1rem; margin-bottom:1.1rem; border-bottom:1px solid #edf1f5; color:#193e59; font-size:1.08rem; font-weight:600; }
.hearing-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem 1.5rem; margin:0; }
.hearing-facts dt { color:#6b7d8b; font-size:.79rem; font-weight:500; margin-bottom:.35rem; }
.hearing-facts dd { color:#2d475c; font-size:.95rem; margin:0; overflow-wrap:anywhere; }
.hearing-facts-stacked { grid-template-columns:1fr; }
.hearing-fact-wide,.hearing-result-section { grid-column:1 / -1; }
.hearing-purpose { display:inline-block; background:#f2f6f9; border:1px solid #e6edf3; border-radius:6px; padding:.35rem .65rem; font-size:.84rem; }
.hearing-result-empty { display:flex; align-items:center; gap:1rem; padding:1.25rem; border:1px dashed #d6e2eb; border-radius:10px; background:#f8fbfd; color:#46657d; }
.hearing-result-empty > i { font-size:1.8rem; color:#7996ad; }
.hearing-result-empty strong { font-size:.92rem; font-weight:600; }
.hearing-result-empty p { font-size:.85rem; color:#6c7f8e; margin:.4rem 0 0; }
@media(max-width:767px) {
    .hearing-toolbar { align-items:flex-start; flex-direction:column; }
    .hearing-overview { padding:1.25rem; flex-direction:column; gap:1rem; }
    .hearing-sitting { flex-basis:auto; border-left:0; border-top:1px solid #dce7ef; padding:1rem 0 0; }
    .hearing-content-grid { grid-template-columns:1fr; gap:1rem; }
    .hearing-section { padding:1.15rem; }
    .hearing-facts { grid-template-columns:1fr; }
}

/* Shared interaction states for lawyer and Backoffice pages. */
.app-body .hearing-compact { max-width:none;margin-inline:0; }
.hearing-compact .hearing-toolbar { margin-bottom:10px; }
.hearing-compact .hearing-overview { padding:14px 16px;gap:16px;margin-bottom:10px;border-radius:9px; }
.hearing-compact .hearing-eyebrow { margin-bottom:6px; }
.hearing-compact .hearing-parties { margin-bottom:5px;font-size:.94rem; }
.hearing-compact .hearing-sitting { flex-basis:220px;padding:8px 14px;gap:4px; }
.hearing-compact .hearing-sitting strong { font-size:1.15rem; }
.hearing-compact .hearing-content-grid { gap:10px;margin-bottom:10px; }
.hearing-compact .hearing-section,.hearing-compact .app-panel { padding:12px 14px;border-radius:8px;margin-bottom:10px; }
.hearing-compact .hearing-section h2 { margin-bottom:10px;font-size:.92rem; }
.hearing-compact .hearing-court-name { font-size:.94rem;padding-bottom:8px;margin-bottom:10px; }
.hearing-compact .hearing-facts { gap:10px 16px; }
.hearing-compact .hearing-facts dd { font-size:.88rem; }
.hearing-compact .hearing-case-summary .hearing-facts { grid-template-columns:repeat(3,minmax(0,1fr)); }
.hearing-compact .hearing-result-empty { padding:10px 12px; }
.hearing-compact .hearing-history-panel .table { font-size:.82rem; }
.hearing-compact .hearing-history-panel .btn { padding:7px 10px; }
.hearing-compact [hidden] { display:none!important; }
.hearing-entry-compact .form-panel { max-width:none; }
.hearing-entry-compact .form-panel,.hearing-entry-compact .form-section { padding:14px; }
.hearing-entry-compact .form-section { padding:0 0 12px;margin-bottom:12px; }
.hearing-entry-compact .form-label { font-size:.84rem;margin-bottom:4px; }
.hearing-entry-compact .row { --bs-gutter-y:10px; }
@media(max-width:767px){.hearing-compact .hearing-case-summary .hearing-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }.hearing-compact .hearing-sitting { flex-basis:auto; }}
@media(max-width:575px){.hearing-compact .hearing-case-summary .hearing-facts { grid-template-columns:1fr; }}
.app-body .btn { border-radius:8px; transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.app-body .btn:not(:disabled):hover { box-shadow:0 3px 10px rgb(37 77 105 / 12%); }
.app-body .btn:not(:disabled):active { transform:translateY(1px); box-shadow:none; }
.app-body .btn:focus-visible,.app-body .form-control:focus-visible,.app-body .form-select:focus-visible { outline:3px solid #91c5e8; outline-offset:2px; }
