:root {
  --bg-top: #f5efe8;
  --bg-bottom: #e8e2dc;
  --panel: rgba(255, 252, 248, 0.92);
  --panel-strong: rgba(255, 255, 255, 0.98);
  --ink: #1f2748;
  --muted: #716d74;
  --line: rgba(135, 113, 96, 0.2);
  --accent: #2a427f;
  --accent-strong: #203465;
  --accent-soft: #e7ebf8;
  --copper: #b77b5a;
  --copper-soft: #f1e1d5;
  --stone: #f7f2ec;
  --success: #25664d;
  --danger: #b33d31;
  --warning: #8a6711;
  --shadow: 0 20px 48px rgba(27, 31, 46, 0.10);
}

* { box-sizing: border-box; }
body,
body *,
body *::before,
body *::after { font-size: 14px !important; }
[hidden] { display: none !important; }
html { min-height: 100%; color-scheme: light; }
body {
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(183, 123, 90, 0.16), transparent 22%),
    radial-gradient(circle at top right, rgba(42, 66, 127, 0.10), transparent 20%),
    linear-gradient(180deg, var(--bg-top) 0%, var(--bg-bottom) 100%);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.42;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.showcaseView { overflow-x: hidden; }
body.showcaseView .dashboard { min-height: 100%; }
body.showcaseView .wrap { padding-top: 22px; }

button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
a { color: var(--accent); text-underline-offset: 3px; }
h1, h2, h3, p { margin: 0; }

.loginView {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  color: #18263a;
  background:
    radial-gradient(circle at top left, rgba(15, 98, 254, .12), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #eef3fb 100%);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.loginCard {
  width: min(460px, 100%);
  border: 1px solid rgba(214, 222, 234, .95);
  border-radius: 22px;
  padding: 28px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 24px 48px rgba(24, 38, 58, .1);
}

.loginEyebrow {
  margin-bottom: 8px;
  color: #62728c;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.loginCard h1 { margin-bottom: 12px; font-size: 30px; letter-spacing: -.02em; }
.loginCard > p { margin-bottom: 12px; color: #62728c; line-height: 1.45; }
.loginCard label {
  display: block;
  margin: 14px 0 6px;
  color: #62728c;
  font-size: 14px;
}

.loginCard input,
.loginCard button {
  width: 100%;
  border: 1px solid #d6deea;
  border-radius: 12px;
  padding: 12px 14px;
}

.loginCard input:focus {
  outline: none;
  border-color: #0f62fe;
  box-shadow: 0 0 0 4px rgba(15, 98, 254, .1);
}

.loginCard button {
  margin-top: 18px;
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, #0f62fe, #0043ce);
}

.loginCard button:disabled { cursor: wait; opacity: .7; }
.loginError { margin-top: 12px; color: #b42318; font-size: 14px; }

.loginCard .passwordVisibilityControl,
.passwordDialog .passwordVisibilityControl {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin: 9px 0 0;
  color: var(--muted);
  cursor: pointer;
  user-select: none;
}
.loginCard .passwordVisibilityControl input,
.passwordDialog .passwordVisibilityControl input {
  width: 16px;
  min-height: 16px;
  height: 16px;
  margin: 0;
  padding: 0;
  accent-color: var(--accent);
  box-shadow: none;
}
.passwordVisibilityControl span { line-height: 1.2; }

.dashboard { min-height: 100vh; }
.wrap { max-width: 1260px; margin: 0 auto; padding: 28px 24px 44px; }

.topbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.brand { display: flex; align-items: center; gap: 16px; }
.brandMark {
  margin-bottom: 6px;
  color: var(--copper);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.topbar h1 { margin-bottom: 10px; font-size: 36px; line-height: 1.08; letter-spacing: -.025em; }
.topbar p { color: var(--muted); }

.workspaceTabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  margin-bottom: 18px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: var(--panel-strong);
  box-shadow: 0 10px 28px rgba(32, 29, 23, .07);
}
.workspaceTabs a {
  position: relative;
  display: grid;
  gap: 2px;
  min-width: 0;
  border-left: 1px solid var(--line);
  padding: 11px 14px 12px;
  color: var(--muted);
  text-decoration: none;
}
.workspaceTabs a:first-child { border-left: 0; }
.workspaceTabs a::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: transparent;
}
.workspaceTabs a:hover { color: var(--accent); background: var(--stone); }
.workspaceTabs a[aria-current="page"] { color: var(--accent); background: var(--accent-soft); }
.workspaceTabs a[aria-current="page"]::after { background: var(--accent); }
.workspaceTabs strong {
  color: inherit;
  font: 600 15px/1.25 Georgia, "Times New Roman", serif;
}
.workspaceTabs span { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

.toolbar,
.rowActions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.accountToolbar { align-items: center; }
.employeeIdentity { display: grid; gap: 3px; min-width: 120px; text-align: right; }
.employeeIdentity strong { font-size: 14px; }
.employeeIdentity span { color: var(--muted); font-size: 12px; }
.employeeIdentity .workspaceReference {
  justify-self: end;
  border: 0;
  border-bottom: 1px solid rgba(42, 66, 127, .28);
  padding: 1px 0;
  color: var(--accent);
  background: transparent;
  font: 700 10px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .02em;
}
.employeeIdentity .workspaceReference:hover { border-color: var(--accent); }

.card {
  margin-bottom: 18px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 24px;
  padding: 22px;
  background: var(--panel);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

.heroCard { position: relative; overflow: hidden; }
.heroCard::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(183, 123, 90, .18) 0%, transparent 70%);
  pointer-events: none;
}
.heroCard > * { position: relative; }
.trackedCard { background: var(--panel-strong); }

.sectionHead {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
}

.sectionHead h2 { margin-bottom: 10px; font-size: 25px; line-height: 1.16; letter-spacing: -.015em; }
.muted { color: var(--muted); }

.segmented {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 6px;
  border: 1px solid rgba(183, 123, 90, .18);
  border-radius: 18px;
  background: rgba(242, 235, 227, .9);
}

button {
  width: auto;
  border: 0;
  border-radius: 14px;
  padding: 12px 14px;
  color: #fff;
  background: linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);
  box-shadow: 0 10px 24px rgba(42, 66, 127, .18);
  font-weight: 700;
}

button.secondary {
  border: 1px solid rgba(183, 123, 90, .24);
  color: var(--accent);
  background: linear-gradient(180deg, rgba(255, 255, 255, .95) 0%, rgba(242, 236, 230, .96) 100%);
  box-shadow: none;
}

button.danger {
  background: linear-gradient(135deg, #c54a3b 0%, #aa3228 100%);
  box-shadow: 0 10px 24px rgba(179, 61, 49, .18);
}

.segmented button {
  padding: 11px 16px;
  color: var(--accent);
  background: transparent;
  box-shadow: none;
}

.segmented button.active {
  color: #fff;
  background: linear-gradient(135deg, var(--accent) 0%, #2c4d98 100%);
  box-shadow: 0 8px 18px rgba(42, 66, 127, .22);
}

label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 14px;
}

input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 14px;
  color: var(--ink);
  background: rgba(255, 255, 255, .78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84);
}

input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: rgba(183, 123, 90, .48);
  box-shadow: 0 0 0 4px rgba(183, 123, 90, .12);
}

.lookupPanel { display: none; margin-top: 22px; }
.lookupPanel.active { display: block; }
.formGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  gap: 12px;
  align-items: end;
}
.formGridCompact {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 12px;
  align-items: end;
}
.formGridAll {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(180px, .6fr) auto;
  gap: 12px;
  align-items: end;
}
.lookupPanel > div > button { min-height: 45px; }
.statusInline { margin-top: 14px; color: var(--muted); }
.lookupResults { display: grid; gap: 12px; margin-top: 18px; }

.captchaBox {
  margin-top: 20px;
  border-top: 1px solid rgba(135, 113, 96, .12);
  padding-top: 18px;
}
.captchaBox h3 { margin-bottom: 7px; font-size: 21px; }
.captchaProgress {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 10px;
}
.captchaProgress span {
  border: 1px solid rgba(135, 113, 96, .18);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--muted);
  background: rgba(255, 255, 255, .72);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
}
.captchaProgress span.active {
  border-color: rgba(42, 66, 127, .38);
  color: #223b70;
  background: rgba(42, 66, 127, .08);
}
.captchaProgress span.complete {
  border-color: rgba(62, 113, 78, .28);
  color: #356545;
  background: rgba(62, 113, 78, .07);
}
.captchaGrid {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(320px, 1.28fr);
  gap: 18px;
  align-items: center;
  margin-top: 16px;
}
.officialCaptcha {
  position: relative;
  min-height: 118px;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(183, 123, 90, .3);
  border-radius: 16px;
  color: #19335f;
  background:
    repeating-linear-gradient(14deg, transparent 0 18px, rgba(42, 66, 127, .08) 18px 20px),
    repeating-linear-gradient(-17deg, transparent 0 24px, rgba(183, 123, 90, .1) 24px 26px),
    #fffdf9;
  box-shadow: inset 0 1px 0 #fff, 0 12px 26px rgba(72, 49, 39, .1);
}
.officialCaptcha::before,
.officialCaptcha::after {
  content: "";
  position: absolute;
  width: 80%;
  height: 2px;
  transform: rotate(-8deg);
  background: rgba(183, 123, 90, .32);
}
.officialCaptcha::after { transform: rotate(7deg); background: rgba(42, 66, 127, .22); }
.officialCaptcha span {
  position: relative;
  z-index: 1;
  transform: rotate(-2deg);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 44px;
  font-weight: 700;
  letter-spacing: .24em;
  text-shadow: 2px 2px 0 rgba(183, 123, 90, .2);
}
.officialCaptcha.districtCaptcha {
  min-height: 132px;
  padding: 18px;
  background: #fff;
}
.officialCaptcha.districtCaptcha::before,
.officialCaptcha.districtCaptcha::after { display: none; }
.districtCaptcha img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  max-width: 360px;
  height: auto;
  border-radius: 8px;
}
.captchaInput { max-width: 320px; font-size: 22px; font-weight: 700; letter-spacing: .08em; }
.captchaActions { margin-top: 12px; }
.captchaNote { margin-top: 12px; font-size: 13px; }

.caseFinderCard {
  position: relative;
  border-top: 4px solid var(--accent);
  background: var(--panel-strong);
}
.caseFinderHeading { align-items: center; }
.caseFinderHeading h2 { margin-bottom: 6px; font-size: 25px; letter-spacing: .035em; }
.featureEyebrow {
  margin-bottom: 5px;
  color: var(--copper);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.courtOnlyBadge {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 10px;
  color: var(--accent);
  background: var(--stone);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.caseFinderForm {
  display: grid;
  grid-template-columns: minmax(260px, 1.7fr) minmax(135px, .55fr) minmax(135px, .55fr) auto;
  gap: 12px;
  align-items: end;
  margin-top: 18px;
}
.caseFinderForm > button { min-height: 45px; }
.caseFinderCaptcha {
  margin-top: 18px;
  border-top: 1px solid rgba(135, 113, 96, .16);
  padding-top: 16px;
}
.caseFinderCaptchaCopy h3 { margin-bottom: 5px; font-size: 18px; }
.caseFinderCaptchaRow {
  display: grid;
  grid-template-columns: minmax(185px, .55fr) minmax(240px, .8fr) minmax(230px, 1fr);
  gap: 14px;
  align-items: end;
  margin-top: 13px;
}
.finderCaptcha { min-height: 74px; }
.finderCaptcha span { font-size: 32px; }
.caseFinderCaptchaRow .captchaInput { max-width: none; font-size: 18px; }
.caseFinderCaptchaActions { display: flex; gap: 7px; flex-wrap: wrap; }
.caseFinderCaptchaActions button { padding: 11px 12px; }
.caseFinderProgress {
  margin-top: 18px;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 13px 14px;
  background: var(--stone);
}
.caseFinderProgressLine {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}
.caseFinderProgressLine span { color: var(--muted); }
.caseFinderProgressTrack {
  height: 4px;
  overflow: hidden;
  margin: 10px 0 8px;
  background: rgba(112, 44, 59, .12);
}
.caseFinderProgressTrack span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--accent);
  transition: width .2s ease;
}
.caseFinderProgress p { font-size: 12px; }
.caseFinderResults { margin-top: 18px; }
.caseFinderResultsHead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: 16px;
  align-items: end;
  margin-bottom: 12px;
}
.caseFinderResultsHead h3 { margin-bottom: 4px; font: 500 20px/1.2 Georgia, "Times New Roman", serif; }
.caseFinderTableShell {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fffdf8;
}
.caseFinderTable { min-width: 870px; }
.caseFinderTable th,
.caseFinderTable td { padding: 11px 12px; font-size: 13px; }
.caseFinderTable th { font-size: 12px; letter-spacing: .02em; }
.caseFinderCaseNo { margin-bottom: 3px; color: var(--ink); font-weight: 800; }
.caseFinderMeta,
.caseFinderParties,
.caseFinderListing { color: var(--muted); line-height: 1.38; }
.caseFinderParties { max-width: 430px; color: var(--ink); }
.caseFinderAction { display: grid; gap: 6px; min-width: 126px; }
.caseFinderAction button { padding: 8px 10px; font-size: 11px; }
.caseFinderOfficialLink { font-size: 11px; text-align: center; }
.caseFinderPager {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
}
.caseFinderPager button { padding: 8px 11px; font-size: 11px; }
.caseFinderPager button:disabled { cursor: default; opacity: .48; }

.causeListCard {
  position: relative;
  border-top: 2px solid var(--copper);
  background: var(--panel-strong);
}
.causeListHeading { align-items: center; }
.causeListHeading h2 { margin-bottom: 6px; font-size: 25px; letter-spacing: .035em; }
.courtSourceLink {
  border-bottom: 1px solid rgba(42, 66, 127, .34);
  color: var(--accent);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.causeListForm {
  display: grid;
  grid-template-columns: minmax(220px, 320px) auto;
  gap: 12px;
  align-items: end;
  margin-top: 18px;
}
.causeListForm > button { min-height: 45px; justify-self: start; }
.causeListResults { margin-top: 18px; }
.causeListDocuments {
  margin-bottom: 18px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fffdf8;
}
.causeListSubhead {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  padding: 10px 12px;
}
.causeListSubhead h3 { font: 500 17px/1.2 Georgia, "Times New Roman", serif; }
.causeListSubhead span { color: var(--muted); font-size: 11px; }
.causeListDocumentRows { display: grid; }
.causeListDocumentRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  border-top: 1px solid rgba(135, 113, 96, .12);
  padding: 9px 12px;
  font-size: 12px;
}
.causeListDocumentRow:first-child { border-top: 0; }
.causeListDocumentRow strong { color: var(--ink); font-weight: 750; }
.causeListDocumentRow span { color: var(--muted); white-space: nowrap; }
.causeListDocumentRow a { font-weight: 800; text-decoration-thickness: 1px; white-space: nowrap; }
.causeListResultsHead { grid-template-columns: minmax(0, 1fr) minmax(360px, 480px); }
.causeListFilters {
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto;
  gap: 12px;
  align-items: end;
}
.causeListTrackedToggle {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 43px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
}
.causeListTrackedToggle input { width: 15px; height: 15px; margin: 0; padding: 0; box-shadow: none; }
.causeListTableShell {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fffdf8;
}
.causeListTable { min-width: 1120px; }
.causeListTable th,
.causeListTable td { padding: 9px 10px; vertical-align: top; font-size: 12px; line-height: 1.35; }
.causeListTable th { font-size: 11px; letter-spacing: .035em; text-transform: uppercase; }
.causeListItem { color: var(--muted); font-variant-numeric: tabular-nums; }
.causeListCaseNo { color: var(--ink); font-weight: 800; }
.causeListConnected { margin-top: 3px; color: var(--muted); font-size: 10px; }
.causeListParties { max-width: 330px; color: var(--ink); }
.causeListAdvocate {
  max-width: 330px;
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.causeListBench { max-width: 270px; color: var(--ink); }
.causeListCourt { margin-top: 3px; color: var(--muted); font-size: 10px; }
.causeListType { font-weight: 800; }
.causeListStage { margin-top: 3px; color: var(--muted); }
.causeListRemark { margin-top: 3px; color: var(--warning); font-size: 10px; }
.causeListAction { display: grid; gap: 5px; min-width: 112px; }
.causeListAction button { padding: 7px 9px; font-size: 10px; }
.causeListAction a { font-size: 10px; text-align: center; }
.causeListTrackedBadge {
  width: fit-content;
  border: 1px solid rgba(37, 102, 77, .26);
  border-radius: 999px;
  padding: 3px 7px;
  color: var(--success);
  background: rgba(37, 102, 77, .07);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.lookupResult {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  border: 1px solid rgba(183, 123, 90, .18);
  border-radius: 16px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(249, 245, 240, .96) 100%);
}
.lookupResult h3 { margin-bottom: 6px; font-size: 18px; }
.lookupResult p { color: var(--muted); line-height: 1.45; }

.trackedTools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
  margin: 14px 0 16px;
}

.trackedHeaderActions { display: flex; gap: 8px; flex-wrap: wrap; }

.bulkRetrackStatus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 14px 0;
  padding: 11px 13px;
  border: 1px solid rgba(42, 66, 127, .24);
  border-radius: 10px;
  background: rgba(42, 66, 127, .055);
  color: var(--ink);
}
.bulkRetrackStatus[hidden] { display: none; }
.bulkRetrackStatus strong { display: block; margin-bottom: 2px; font-size: 14px; }
.bulkRetrackStatus span { color: var(--muted); font-size: 13px; }
.bulkRetrackActions { display: flex; gap: 7px; flex-wrap: wrap; flex: 0 0 auto; }
.bulkRetrackActions button { min-height: 34px; padding: 7px 10px; font-size: 12px; }

.trackedTableShell {
  overflow: hidden;
  border: 1px solid rgba(183, 123, 90, .18);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(249, 245, 240, .97) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

table { width: 100%; border-collapse: separate; border-spacing: 0; }
th, td {
  border-bottom: 1px solid rgba(135, 113, 96, .12);
  padding: 16px 14px;
  text-align: left;
  vertical-align: top;
}
th {
  color: var(--ink);
  background: linear-gradient(180deg, rgba(243, 236, 229, .92) 0%, rgba(250, 247, 243, .96) 100%);
  font-size: 15px;
  font-weight: 700;
}
tbody tr:hover { background: rgba(246, 238, 232, .64); }
tbody tr.caseNeedsRefresh,
tbody tr.caseNeedsRefresh:hover {
  background: #fff7cc;
  box-shadow: inset 3px 0 0 #d5a514;
}
tbody tr:last-child td { border-bottom: 0; }
.trackedCaseTitle { margin-bottom: 6px; font-size: 18px; font-weight: 700; line-height: 1.24; }
.trackedCaseSubtext { color: var(--muted); line-height: 1.35; }
.trackedNextDate { margin-bottom: 4px; font-size: 18px; font-weight: 700; line-height: 1.1; }
.trackedActions { display: flex; flex-direction: column; gap: 6px; align-items: stretch; }
.trackedActions button { width: 100%; min-width: 108px; padding: 9px 11px; font-size: 12px; }
.trackedRefreshButton { color: var(--muted); }
.trackedRefreshButton:disabled { cursor: wait; opacity: .66; }
.caseNeedsRefresh .trackedRefreshButton {
  border-color: rgba(176, 130, 0, .48);
  color: #6d5100;
  background: #fff2ad;
}
.refreshDueBadge {
  width: fit-content;
  margin-top: 6px;
  border: 1px solid rgba(176, 130, 0, .34);
  border-radius: 999px;
  padding: 3px 7px;
  color: #6d5100;
  background: rgba(255, 236, 134, .72);
  font-weight: 700;
}
.emptyRow td { padding: 26px 16px; color: var(--muted); text-align: center; }

.pill {
  display: inline-block;
  border-radius: 999px;
  padding: 7px 12px;
  color: #2c4480;
  background: #ebf0fa;
  font-size: 12px;
  font-weight: 700;
}
.pill.statusPending { color: var(--success); background: #e7f3ed; }
.pill.statusDisposed { color: #a73a30; background: #f8e7e5; }
.pill.statusTransferred { color: #80552f; background: #f3e8dc; }
.pill.statusOther { color: var(--warning); background: #f8efbf; }

.passwordDialog {
  width: min(440px, calc(100vw - 28px));
  border: 1px solid #d6deea;
  border-radius: 18px;
  padding: 26px;
  color: #18263a;
  background: #fff;
  box-shadow: 0 28px 80px rgba(24, 38, 58, .24);
}
.passwordDialog::backdrop { background: rgba(24, 38, 58, .56); backdrop-filter: blur(3px); }
.passwordDialog h2 { margin-bottom: 8px; font-size: 24px; }
.passwordDialog form > p:not(.loginError) { margin-bottom: 18px; color: #62728c; }
.passwordDialog label { display: block; margin: 12px 0 6px; color: #62728c; font-size: 13px; }
.passwordDialog input,
.passwordDialog button { width: 100%; min-height: 44px; border-radius: 10px; font: inherit; }
.passwordDialog input { border: 1px solid #d6deea; padding: 10px 12px; outline: none; }
.passwordDialog input:focus { border-color: #0f62fe; box-shadow: 0 0 0 4px rgba(15, 98, 254, .1); }
.passwordDialog button { margin-top: 18px; border: 0; color: #fff; background: var(--accent); font-weight: 700; }
.passwordDialog button:disabled { cursor: wait; opacity: .7; }

.accessDialog {
  width: min(900px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  overflow: auto;
  border: 1px solid var(--line);
  border-top: 5px solid var(--accent);
  border-radius: 4px;
  padding: 0;
  color: var(--ink);
  background: #fffdf8;
  box-shadow: 0 28px 80px rgba(24, 38, 58, .24);
}
.accessDialog::backdrop { background: rgba(24, 31, 44, .56); backdrop-filter: blur(3px); }
.accessDialogShell { padding: 24px; }
.accessDialogHeader,
.memberSectionHeading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.accessDialogHeader { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.accessDialogHeader h2,
.memberSectionHeading h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; }
.accessDialogHeader h2 { margin: 3px 0 7px; font-size: 28px; }
.accessDialogHeader p,
.memberSectionHeading p,
.memberPermissionNote { color: var(--muted); }
.accessEyebrow { color: var(--copper) !important; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.accessDialogClose { padding: 9px 13px; }
.memberRegister { padding: 20px 0; border-bottom: 1px solid var(--line); }
.memberSectionHeading { align-items: center; margin-bottom: 12px; }
.memberSectionHeading h3 { font-size: 21px; }
.memberSectionHeading > span { color: var(--muted); font-size: 12px; }
.memberList { display: grid; gap: 7px; }
.memberRow {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(180px, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(135, 113, 96, .18);
  padding: 11px 12px;
  background: #fff;
}
.memberIdentity { min-width: 0; }
.memberIdentity strong,
.memberIdentity span { display: block; overflow-wrap: anywhere; }
.memberIdentity span,
.memberLogin { color: var(--muted); font-size: 12px; }
.memberRoleBadge {
  border: 1px solid rgba(112, 44, 59, .24);
  padding: 5px 8px;
  color: var(--accent);
  background: var(--accent-soft);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.memberRoleBadge.employee { border-color: var(--line); color: var(--muted); background: var(--stone); }
.memberInviteForm { padding-top: 20px; }
.memberInviteGrid {
  display: grid;
  grid-template-columns: 1fr 1.25fr .7fr auto;
  gap: 10px;
  align-items: end;
}
.memberInviteGrid button { min-height: 45px; }
.memberPermissionNote { margin-top: 11px; font-size: 12px; }
.memberInviteResult {
  margin-top: 14px;
  border: 1px solid rgba(37, 102, 77, .28);
  padding: 12px;
  color: #245d48;
  background: #edf6f1;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.memberInviteResult.error { border-color: rgba(179, 61, 49, .28); color: var(--danger); background: #fbefed; }
.trackedDeleteButton { border-color: rgba(179, 61, 49, .28) !important; color: var(--danger) !important; }
.trackedDeleteButton:hover { color: #fff !important; background: var(--danger) !important; }

.caseDialog {
  width: min(1180px, calc(100vw - 34px));
  max-height: calc(100vh - 34px);
  overflow: auto;
  border: 0;
  border-radius: 24px;
  padding: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(183, 123, 90, .12), transparent 24%),
    linear-gradient(180deg, #f7f2ec 0%, #ebe5df 100%);
  box-shadow: 0 34px 100px rgba(27, 31, 46, .3);
}
.caseDialog::backdrop { background: rgba(31, 39, 72, .48); backdrop-filter: blur(3px); }
.caseWrap { padding: 24px; }
.caseTopbar { margin-bottom: 18px; }
.caseTopbar h2 { margin: 4px 0 8px; font-size: 32px; }
.caseGrid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr);
  gap: 18px;
  align-items: start;
}
.caseStack { display: grid; gap: 18px; min-width: 0; }
.detailCard {
  min-width: 0;
  border: 1px solid rgba(183, 123, 90, .18);
  border-radius: 18px;
  padding: 20px;
  color: var(--ink);
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 18px 40px rgba(29, 43, 70, .08);
}
.detailCard h3 { margin-bottom: 10px; font-size: 24px; }
.bigDate { margin: 6px 0 10px; font-size: 38px; font-weight: 700; line-height: 1; }
.caseNumber { color: var(--muted); }
.metaGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.meta {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  color: var(--ink);
  background: #fbfcfe;
}
.meta strong {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.detailList { display: grid; gap: 12px; }
.detailItem {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  color: var(--ink);
  background: #fbfcfe;
}
.detailItem time { display: block; margin-bottom: 6px; color: var(--muted); font-size: 13px; }
.detailItem p { margin-top: 5px; color: var(--muted); line-height: 1.45; }
.documentItem {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}
.detailEmpty { border: 1px dashed var(--line); border-radius: 14px; padding: 18px; color: var(--muted); text-align: center; }
.summaryText { color: var(--muted); line-height: 1.55; }
.noteComposer { display: grid; gap: 10px; margin-top: 16px; }
.noteComposer textarea { min-height: 92px; resize: vertical; }
.closeButton { min-width: 96px; }

.statusToast {
  position: fixed;
  top: 22px;
  right: 22px;
  z-index: 40;
  display: none;
  width: min(330px, calc(100vw - 32px));
  border: 1px solid rgba(183, 123, 90, .22);
  border-radius: 16px;
  padding: 15px 16px;
  background: rgba(255, 255, 255, .97);
  box-shadow: 0 20px 40px rgba(27, 31, 46, .16);
}
.statusToast.visible { display: block; }
.toastLabel { margin-bottom: 6px; color: var(--copper); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.statusToast time { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }

@media (max-width: 980px) {
  .wrap { padding: 22px 16px 34px; }
  .topbar h1 { font-size: 34px; }
  .trackedTools,
  .formGrid,
  .formGridCompact,
  .formGridAll,
  .caseFinderForm,
  .caseFinderCaptchaRow,
  .caseFinderResultsHead,
  .causeListForm,
  .causeListResultsHead,
  .causeListFilters,
  .memberInviteGrid,
  .captchaGrid,
  .caseGrid { grid-template-columns: 1fr; }
  .trackedTableShell { overflow-x: auto; }
  table { min-width: 930px; }
}

@media (max-width: 640px) {
  .loginView { padding: 16px; }
  .loginCard { padding: 24px 20px; }
  .topbar { display: grid; }
  .workspaceTabs {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
    overflow-x: auto;
  }
  .accountToolbar { width: 100%; justify-content: space-between; }
  .employeeIdentity { text-align: left; }
  .employeeIdentity .workspaceReference { justify-self: start; }
  .card { border-radius: 20px; padding: 18px; }
  .sectionHead h2 { font-size: 24px; }
  .segmented { width: 100%; overflow-x: auto; flex-wrap: nowrap; }
  .segmented button { flex: 1 0 auto; }
  .lookupResult,
  .documentItem { grid-template-columns: 1fr; }
  .caseFinderProgressLine { display: grid; gap: 3px; }
  .caseFinderPager { justify-content: space-between; }
  .causeListForm > button { width: 100%; }
  .causeListDocumentRow { grid-template-columns: 1fr auto; }
  .causeListDocumentRow span { display: none; }
  .caseDialog { width: calc(100vw - 16px); max-height: calc(100vh - 16px); border-radius: 18px; }
  .caseWrap { padding: 16px; }
  .caseTopbar { display: grid; }
  .caseTopbar h2 { font-size: 26px; }
  .metaGrid { grid-template-columns: 1fr; }
  .bigDate { font-size: 30px; }
  .accessDialogShell { padding: 18px; }
  .accessDialogHeader { display: grid; }
  .accessDialogClose { justify-self: start; }
  .memberRow { grid-template-columns: 1fr; gap: 5px; }
  .memberRoleBadge { width: fit-content; }
}

/* Court Track legal editorial theme */
:root {
  --bg-top: #f4f0e7;
  --bg-bottom: #e9e1d3;
  --panel: rgba(255, 253, 248, .96);
  --panel-strong: #fffdf8;
  --ink: #172238;
  --muted: #6b6d72;
  --line: #d8cebd;
  --accent: #702c3b;
  --accent-strong: #54202c;
  --accent-soft: #f1e4e6;
  --copper: #a27c42;
  --copper-soft: #eee2cc;
  --stone: #f7f2e9;
  --shadow: 0 16px 40px rgba(32, 29, 23, .10);
}

body {
  background: linear-gradient(180deg, var(--bg-top), var(--bg-bottom));
}

.loginView {
  color: var(--ink);
  background: linear-gradient(180deg, #f7f4ed, #ebe4d8);
}

.loginCard {
  border: 1px solid #cfc3b0;
  border-top: 5px solid var(--accent);
  border-radius: 3px;
  background: #fffdf8;
  box-shadow: 0 24px 58px rgba(32, 29, 23, .13);
}

.loginCard h1,
.topbar h1,
.sectionHead h2,
.captchaBox h3,
.lookupResult h3,
.detailCard h3,
.caseTopbar h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}

.loginEyebrow,
.loginCard > p,
.loginCard label { color: var(--muted); }

.loginCard input,
.loginCard button,
input,
select,
textarea,
button,
button.secondary {
  border-radius: 3px;
}

.loginCard input { border-color: var(--line); background: #fff; }
.loginCard input:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(112, 44, 59, .10);
}

.loginCard button,
button,
.segmented button.active {
  color: #fff;
  background: var(--accent);
  box-shadow: none;
}

.loginCard button:hover,
button:hover,
.segmented button.active:hover { background: var(--accent-strong); }

.card,
.segmented,
.officialCaptcha,
.lookupResult,
.trackedTableShell,
.detailCard,
.meta,
.detailItem,
.detailEmpty,
.statusToast { border-radius: 4px; }

.card { border-color: var(--line); backdrop-filter: none; }
.heroCard::before { display: none; }
.segmented { border-color: var(--line); background: #f1eadf; }
.segmented button { color: var(--accent); }
button.secondary { border-color: var(--line); color: var(--accent); background: #fffdf8; }
.trackedTableShell,
.lookupResult { background: #fffdf8; }
th { background: #eee7dc; }
.brandMark,
.toastLabel { color: var(--copper); }
