@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--black:#030504;--deep:#07100c;--panel:#0b1510;--forest:#234434;--sand:#d7c6a1;--ivory:#f3efe4;--muted:rgba(243,239,228,.68);--quiet:rgba(243,239,228,.44);--line:rgba(215,198,161,.16);--line-strong:rgba(215,198,161,.30);--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ivory);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#030504}a{color:inherit}.site-header,main,.site-footer{position:relative;width:min(var(--max),calc(100% - 40px));margin:0 auto}.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.logo-brand{display:inline-flex;align-items:center;text-decoration:none}.logo-brand img{display:block;width:clamp(360px,34vw,540px);max-height:104px;height:auto}.site-nav{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:12px}.site-nav a{text-decoration:none}.site-nav a:hover{color:var(--ivory)}.portal-link{color:var(--sand)!important;border:1px solid var(--line-strong);background:rgba(215,198,161,.045);padding:9px 11px}.photo-hero{min-height:650px;display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#07100c,#030504)}.hero-media{min-height:650px;background:radial-gradient(circle at 70% 34%,rgba(215,198,161,.18),transparent 10rem),linear-gradient(135deg,rgba(35,68,52,.65),rgba(3,5,4,.92)),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 90px);position:relative;overflow:hidden}.hero-media:before{content:"";position:absolute;inset:12%;border:1px solid rgba(215,198,161,.28)}.hero-media:after{content:"";position:absolute;left:-10%;right:-10%;top:54%;height:1px;background:linear-gradient(90deg,transparent,rgba(215,198,161,.7),transparent);transform:rotate(-12deg)}.surveillance-frame{position:absolute;left:10%;right:10%;bottom:12%;display:flex;align-items:center;justify-content:space-between;color:var(--sand);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.frame-line{height:1px;flex:1;margin:0 20px;background:rgba(215,198,161,.45)}.hero-content{display:grid;align-content:center;padding:72px 0 72px 62px}.eyebrow{margin:0 0 14px;color:var(--sand);text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{max-width:620px;margin-bottom:22px;font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.055em;font-weight:800}h2{max-width:760px;margin:0;font-size:clamp(30px,3.6vw,50px);line-height:1.02;letter-spacing:-.04em;font-weight:780}h3{margin:0 0 8px;font-size:19px;letter-spacing:-.02em}.hero-content p:not(.eyebrow),.intro-strip p,.difference-copy p,.section-heading p,.coverage p p,.assign-intro p:not(.eyebrow){color:var(--muted);line-height:1.68;font-size:15px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.btn,.form-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 15px;border:1px solid var(--line);text-decoration:none;font-size:13px;font-weight:750;cursor:pointer}.btn.primary,.form-actions button{color:#11140f;background:var(--sand);border-color:var(--sand)}.btn.secondary{color:var(--ivory);background:rgba(255,255,255,.025);border-color:var(--line-strong)}.intro-strip{padding:64px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr .8fr auto;gap:32px;align-items:center}.intro-strip a{color:var(--sand);font-weight:800;text-decoration:none}.difference-panel,.services-showcase,.service-index,.coverage,.assign-case-page{padding:78px 0;border-bottom:1px solid var(--line)}.difference-panel{display:grid;grid-template-columns:.8fr 1fr;gap:48px}.difference-list{display:grid;gap:18px}.difference-list article{border-top:1px solid var(--line-strong);padding-top:18px}.difference-list strong,.service-card span,.difference-grid span{display:block;margin-bottom:10px;color:var(--sand);font-size:11px;font-weight:800;letter-spacing:.12em}.difference-list p{color:var(--muted);line-height:1.62;font-size:14px;margin:0}.section-heading{display:grid;grid-template-columns:240px minmax(0,1fr);gap:34px;align-items:start;margin-bottom:34px}.section-heading.compact{margin-bottom:22px}.service-showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.showcase-card{border:1px solid var(--line);background:rgba(255,255,255,.018);min-height:340px;display:grid;grid-template-rows:160px 1fr}.showcase-card.large{grid-column:span 2}.image-field{background:linear-gradient(135deg,rgba(35,68,52,.85),rgba(3,5,4,.65)),repeating-linear-gradient(90deg,rgba(215,198,161,.08) 0 1px,transparent 1px 58px)}.image-surveillance{background:radial-gradient(circle at 72% 35%,rgba(215,198,161,.25),transparent 8rem),linear-gradient(135deg,rgba(35,68,52,.9),rgba(3,5,4,.7))}.image-edr{background:linear-gradient(135deg,rgba(25,40,36,.95),rgba(80,92,80,.25)),repeating-linear-gradient(0deg,rgba(215,198,161,.08) 0 1px,transparent 1px 34px)}.showcase-card div:last-child{padding:22px}.showcase-card p{color:var(--muted);line-height:1.62;font-size:14px;margin:0}.index-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.index-grid span{padding:16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}.coverage{display:grid;grid-template-columns:minmax(0,.82fr) minmax(320px,.55fr);gap:48px;align-items:start}.coverage-list{border-top:1px solid var(--line)}.coverage-list span{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:14px}.prefooter-cta{text-align:center;background:linear-gradient(135deg,rgba(35,68,52,.5),rgba(3,5,4,.65));border:1px solid var(--line);margin-top:78px}.prefooter-cta h2 p{margin-left:auto;margin-right:auto}.prefooter-cta .btn{margin-top:18px}.assign-intro{display:grid;grid-template-columns:240px minmax(0,1fr);gap:34px;align-items:start;margin-bottom:34px}.assign-intro a{color:var(--sand);text-decoration:none;border-bottom:1px solid rgba(215,198,161,.35)}.case-form{border-top:1px solid var(--line);padding-top:30px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label{display:grid;gap:8px}.form-grid label.wide{grid-column:1/-1}.form-grid span,.agreement-check span{color:var(--muted);font-size:13px;line-height:1.5}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line-strong);background:rgba(255,255,255,.035);color:var(--ivory);padding:12px 13px;font:inherit;font-size:14px;outline:none}.form-grid select option{color:#111}.agreement-box{margin-top:34px;border:1px solid var(--line-strong);background:rgba(11,21,16,.58)}.agreement-header{padding:22px;border-bottom:1px solid var(--line)}.agreement-header h3{font-size:22px;margin-bottom:0}.agreement-scroll{max-height:420px;overflow:auto;padding:22px;border-bottom:1px solid var(--line)}.agreement-scroll h4{margin:20px 0 8px;color:var(--ivory);font-size:15px}.agreement-scroll h4:first-child{margin-top:0}.agreement-scroll p{color:var(--muted);line-height:1.62;font-size:13px;margin:0 0 12px}.agreement-check{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;padding:18px 22px;cursor:pointer}.agreement-check input{margin-top:3px;accent-color:var(--sand)}.form-actions{margin-top:22px;display:grid;gap:10px;justify-items:start}.form-actions button:disabled{cursor:not-allowed;opacity:.42;border-color:var(--line-strong);background:rgba(255,255,255,.05);color:var(--muted)}#formNotice{color:var(--quiet);font-size:13px;line-height:1.5;margin:0;max-width:760px}.site-footer{padding:28px 0 42px;display:flex;justify-content:space-between;gap:18px;color:var(--quiet);font-size:13px}.site-footer p{margin:0}.portal-page,.portal-placeholder-body{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-shell,.portal-placeholder{width:min(740px,100%)}.portal-brand,.brand-lockup{display:flex;align-items:center;justify-content:center;margin-bottom:24px}.portal-brand img,.brand-lockup img{display:block;width:min(560px,92vw);height:auto}.portal-panel,.portal-card{border:1px solid var(--line-strong);background:var(--panel);padding:32px;text-align:center}.portal-panel h1,.portal-card h2{font-size:clamp(32px,5vw,52px);margin-bottom:18px}.portal-panel p,.portal-card p{color:var(--muted);line-height:1.65}@media(max-width:980px){.site-header{display:grid;padding:16px 0}.site-nav{flex-wrap:wrap}.photo-hero,.intro-strip,.difference-panel,.section-heading,.coverage,.assign-intro{grid-template-columns:1fr}.hero-content{padding:40px 0}.service-showcase-grid{grid-template-columns:1fr 1fr}.showcase-card.large{grid-column:span 1}.index-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}}@media(max-width:620px){.site-header,main,.site-footer{width:min(100% - 28px,var(--max))}.logo-brand img{width:min(390px,92vw);max-height:98px}h1{font-size:38px}h2{font-size:30px}.service-showcase-grid,.index-grid{grid-template-columns:1fr}.site-footer{display:grid}.hero-media{min-height:360px}.photo-hero{min-height:auto}}

/* V1.18 Assign Case Separate Page */
.homepage-assign-cta {
  padding: 78px 0;
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 34px;
  align-items: center;
}

.homepage-assign-cta p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.68;
  max-width: 680px;
  font-size: 15px;
}

.assign-case-page {
  scroll-margin-top: 24px;
}

@media (max-width: 760px) {
  .homepage-assign-cta {
    grid-template-columns: 1fr;
  }
}

/* V1.19 Assignment Uploads + Authorization */
.assignment-upload-panel{border:1px solid var(--line-strong);background:rgba(11,21,16,.58);padding:22px;margin-bottom:24px}
.assignment-upload-panel h3{margin-bottom:8px}
.assignment-upload-panel p:not(.eyebrow){color:var(--muted);line-height:1.62;font-size:14px;margin-bottom:18px}
.authorization-grid{margin-top:14px}
.file-input{padding:14px!important}
.form-grid small{color:var(--quiet);line-height:1.45;font-size:12px}

/* V1.20 Yard Work Surveillance Hero Image */
.hero-media {
  background:
    linear-gradient(90deg, rgba(3,5,4,.22), rgba(3,5,4,.62)),
    linear-gradient(180deg, rgba(3,5,4,.08), rgba(3,5,4,.44)),
    url("/assets/sightline-yard-work-surveillance-hero.webp") center center / cover no-repeat !important;
}

.hero-media::before {
  border-color: rgba(243,239,228,.30);
  box-shadow: inset 0 0 0 999px rgba(0,0,0,.02);
}

.hero-media::after {
  background: linear-gradient(90deg, transparent, rgba(243,239,228,.42), transparent);
  opacity: .55;
}

.surveillance-frame {
  text-shadow: 0 2px 8px rgba(0,0,0,.82);
}

@media (max-width: 620px) {
  .hero-media {
    min-height: 390px;
    background-position: center center !important;
  }
}

/* V1.21 Service Showcase Photos */
.image-field {
  position: relative;
  overflow: hidden;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.image-field::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(3,5,4,.05), rgba(3,5,4,.32)),
    linear-gradient(90deg, rgba(3,5,4,.12), rgba(3,5,4,.08));
  pointer-events: none;
}

.image-surveillance {
  background-image: url("/assets/service-surveillance.webp") !important;
}

.image-scene {
  background-image: url("/assets/service-scene.webp") !important;
}

.image-edr {
  background-image: url("/assets/service-edr.webp") !important;
}

.image-medical {
  background-image: url("/assets/service-medical-canvassing.webp") !important;
}

.image-social {
  background-image: url("/assets/service-social-sweeps.webp") !important;
}

.image-other {
  background-image: url("/assets/service-other-investigations.webp") !important;
}

.showcase-card {
  background: rgba(255,255,255,.02);
}

.showcase-card.large .image-field {
  min-height: 190px;
}

@media (max-width: 620px) {
  .showcase-card {
    min-height: auto;
  }

  .image-field {
    min-height: 170px;
  }
}

/* V1.22 Service Card Text Spacing Fix */
.showcase-card {
  display: grid !important;
  grid-template-rows: 190px auto !important;
  overflow: hidden;
}

.showcase-card.large {
  grid-template-rows: 230px auto !important;
}

.showcase-card .image-field {
  min-height: 190px;
  height: 190px;
  display: block;
}

.showcase-card.large .image-field {
  min-height: 230px;
  height: 230px;
}

.showcase-card > div:last-child {
  position: relative;
  padding: 24px 22px 26px !important;
  background: rgba(3, 5, 4, .96);
  border-top: 1px solid var(--line);
  z-index: 2;
}

.showcase-card h3 {
  margin: 0 0 10px !important;
  line-height: 1.25;
}

.showcase-card p {
  margin: 0 !important;
}

@media (max-width: 980px) {
  .showcase-card,
  .showcase-card.large {
    grid-template-rows: 210px auto !important;
  }

  .showcase-card .image-field,
  .showcase-card.large .image-field {
    min-height: 210px;
    height: 210px;
  }
}

@media (max-width: 620px) {
  .showcase-card,
  .showcase-card.large {
    grid-template-rows: 190px auto !important;
  }

  .showcase-card .image-field,
  .showcase-card.large .image-field {
    min-height: 190px;
    height: 190px;
  }
}

/* V1.23 Final Visual Polish */
.hero-media {
  background:
    linear-gradient(90deg, rgba(3,5,4,.10), rgba(3,5,4,.56)),
    linear-gradient(180deg, rgba(3,5,4,.04), rgba(3,5,4,.40)),
    url("/assets/sightline-investigator-mirror-hero.webp") center center / cover no-repeat !important;
}

.image-surveillance {
  background-image: url("/assets/sightline-yard-work-surveillance-hero.webp") !important;
}

.assignments-work {
  padding: 78px 0;
  border-bottom: 1px solid var(--line);
}

.assignments-work .section-heading {
  margin-bottom: 34px;
}

.work-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.work-steps article {
  min-height: 190px;
  padding: 20px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.018);
}

.work-steps span {
  display: block;
  margin-bottom: 18px;
  color: var(--sand);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.work-steps h3 {
  margin-bottom: 10px;
}

.work-steps p {
  color: var(--muted);
  line-height: 1.62;
  font-size: 14px;
  margin: 0;
}

.coverage-regions {
  display: grid;
  gap: 20px;
}

.coverage-region {
  border-top: 1px solid var(--line-strong);
  padding-top: 16px;
}

.coverage-region h3 {
  margin-bottom: 8px;
  color: var(--ivory);
}

.coverage-region p {
  color: var(--muted);
  line-height: 1.62;
  font-size: 14px;
  margin: 0;
}

.coverage-list {
  display: none;
}

@media (max-width: 980px) {
  .work-steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .work-steps article:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .work-steps {
    grid-template-columns: 1fr;
  }

  .work-steps article:last-child {
    grid-column: auto;
  }
}

/* V1.24 Turnaround + California Positioning */
.response-note {
  margin-top: 28px;
  padding: 16px 18px;
  border-left: 3px solid var(--sand);
  background: rgba(215,198,161,.055);
  max-width: 620px;
}

.response-note strong {
  display: block;
  color: var(--ivory);
  font-size: 14px;
  margin-bottom: 6px;
}

.response-note span {
  display: block;
  color: var(--muted);
  line-height: 1.55;
  font-size: 13px;
}

.response-section {
  padding: 78px 0;
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(320px, .72fr);
  gap: 48px;
  align-items: start;
}

.response-copy {
  border-top: 1px solid var(--line-strong);
  padding-top: 18px;
}

.response-copy p {
  color: var(--muted);
  line-height: 1.68;
  font-size: 15px;
  margin: 0 0 14px;
}

.response-copy p:last-child {
  margin-bottom: 0;
}

@media (max-width: 980px) {
  .response-section {
    grid-template-columns: 1fr;
  }
}

/* V1.25 Same-Day Rush Assignments */
.rush-callout {
  margin-top: 20px;
  padding: 16px 18px;
  border: 1px solid var(--line-strong);
  background: rgba(215,198,161,.055);
}

.rush-callout strong {
  display: block;
  color: var(--sand);
  font-size: 14px;
  margin-bottom: 6px;
}

.rush-callout span {
  display: block;
  color: var(--muted);
  line-height: 1.55;
  font-size: 13px;
}


/* V1.28 Final Footer + Intake Protection */
.final-footer{padding:42px 0 48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:34px;border-top:1px solid var(--line)}
.footer-brand img{display:block;width:min(360px,82vw);height:auto;margin-bottom:14px}
.footer-brand p,.footer-disclaimer{color:var(--quiet);line-height:1.58;font-size:13px;margin:0;max-width:760px}
.footer-links{display:grid;gap:10px;align-content:start;justify-items:start}
.footer-links a,.footer-links span{color:var(--muted);font-size:13px;text-decoration:none}
.footer-links a:hover{color:var(--sand)}
.footer-disclaimer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px}
.secure-intake-note{margin:0 0 24px;padding:16px 18px;border:1px solid var(--line-strong);background:rgba(215,198,161,.055)}
.secure-intake-note strong{display:block;color:var(--sand);font-size:14px;margin-bottom:6px}
.secure-intake-note span{display:block;color:var(--muted);line-height:1.55;font-size:13px}
@media(max-width:760px){.final-footer{grid-template-columns:1fr}.footer-disclaimer{grid-column:auto}}

/* V2.0 Secure Case Workspace Foundation */
.portal-app-body { background: #030504; }
.portal-app { min-height: 100vh; }
.portal-loading, .portal-login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.portal-loading img, .portal-login-card img { width: min(460px, 88vw); height: auto; }
.portal-login-card { width: min(560px, 100%); border: 1px solid var(--line-strong); background: rgba(11,21,16,.72); padding: 34px; }
.portal-login-card h1 { font-size: clamp(34px, 5vw, 52px); margin-bottom: 12px; }
.portal-muted, .portal-hint, .portal-notice { color: var(--muted); line-height: 1.55; font-size: 13px; }
.portal-form, .portal-card-form { display: grid; gap: 14px; }
.portal-form label, .portal-card-form label { display: grid; gap: 7px; }
.portal-form span, .portal-card-form span { color: var(--muted); font-size: 13px; }
.portal-form input, .portal-form select, .portal-form textarea, .portal-card-form input, .portal-card-form select {
  width: 100%; border: 1px solid var(--line-strong); background: rgba(255,255,255,.035); color: var(--ivory); padding: 11px 12px; font: inherit; font-size: 14px;
}
.portal-form select option, .portal-card-form select option { color: #111; }
.portal-form button, .portal-card-form button, .small-button {
  min-height: 40px; padding: 9px 12px; border: 1px solid var(--sand); background: var(--sand); color: #11140f; font-weight: 800; cursor: pointer;
}
.portal-topbar { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.portal-logo img { width: min(360px, 70vw); height: auto; }
.portal-topbar nav { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.portal-topbar button { border: 1px solid var(--line-strong); background: rgba(255,255,255,.03); color: var(--muted); padding: 8px 10px; cursor: pointer; }
.portal-topbar button.active, .portal-topbar button:hover { color: var(--sand); }
.portal-topbar span { color: var(--quiet); font-size: 12px; }
.portal-layout { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; padding: 42px 0 70px; }
.portal-page-head { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.portal-page-head h1, .case-title-row h1 { font-size: clamp(34px, 5vw, 58px); }
.portal-page-head p, .case-title-row p { color: var(--muted); line-height: 1.55; }
.portal-toolbar { display: flex; gap: 12px; margin-bottom: 18px; }
.portal-toolbar input, .portal-toolbar select { border: 1px solid var(--line-strong); background: rgba(255,255,255,.035); color: var(--ivory); padding: 11px 12px; }
.portal-table-wrap { overflow: auto; border: 1px solid var(--line); }
.portal-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.portal-table th, .portal-table td { border-bottom: 1px solid var(--line); padding: 14px; text-align: left; vertical-align: top; font-size: 13px; }
.portal-table th { color: var(--sand); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; }
.portal-table td span { display: block; color: var(--quiet); margin-top: 4px; }
.status-pill { display: inline-flex !important; color: var(--sand) !important; border: 1px solid var(--line-strong); padding: 5px 8px; margin-top: 0 !important; }
.status-pill.large { padding: 8px 11px; align-self: start; }
.user-grid { display: grid; grid-template-columns: 340px 1fr; gap: 24px; }
.portal-card-form, .workspace-card { border: 1px solid var(--line); background: rgba(255,255,255,.018); padding: 22px; }
.case-title-row { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.text-button { border: 0; background: transparent; color: var(--sand); cursor: pointer; padding: 0; margin-bottom: 18px; }
.workspace-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.workspace-card.wide { grid-column: 1 / -1; }
.portal-form.compact { gap: 12px; }
.case-dl { display: grid; grid-template-columns: 150px 1fr; gap: 8px 14px; font-size: 13px; }
.case-dl dt { color: var(--quiet); }
.case-dl dd { margin: 0; color: var(--muted); }
.instruction-box { margin-top: 16px; padding: 14px; border: 1px solid var(--line); color: var(--muted); line-height: 1.6; white-space: pre-wrap; }
.audit-list { display: grid; gap: 12px; }
.audit-list article { border-top: 1px solid var(--line); padding-top: 12px; }
.audit-list strong { color: var(--sand); font-size: 12px; }
.audit-list p { color: var(--muted); margin: 6px 0; line-height: 1.5; }
.audit-list span { color: var(--quiet); font-size: 12px; }
@media (max-width: 900px) {
  .portal-topbar, .portal-page-head, .case-title-row { display: grid; }
  .user-grid, .workspace-grid { grid-template-columns: 1fr; }
  .workspace-card.wide { grid-column: auto; }
  .portal-toolbar { display: grid; }
}

/* V2.0.1 Password Security Update */
.stacked-forms {
  display: grid;
  gap: 18px;
  align-content: start;
}

.settings-card {
  max-width: 560px;
}

.portal-hint {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

/* V2.1 Investigator Media Uploads */
.media-upload-form { border: 1px solid var(--line); background: rgba(255,255,255,.015); padding: 18px; margin-bottom: 20px; }
.media-upload-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.media-upload-grid .wide { grid-column: 1 / -1; }
.media-list { display: grid; gap: 14px; }
.media-item { border-top: 1px solid var(--line); padding-top: 14px; display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.45fr); gap: 18px; align-items: start; }
.media-item strong { display: block; color: var(--ivory); margin-bottom: 5px; }
.media-item span, .media-item p { display: block; color: var(--muted); font-size: 13px; line-height: 1.48; margin: 0 0 5px; }
.media-edit-form { display: grid; gap: 10px; }
.media-edit-form label { display: grid; gap: 6px; }
.media-edit-form input[type="text"], .media-edit-form input:not([type]) { border: 1px solid var(--line-strong); background: rgba(255,255,255,.035); color: var(--ivory); padding: 9px 10px; }
.check-row { display: flex !important; align-items: center; gap: 8px !important; }
.check-row input { width: auto !important; }
.media-edit-form button { min-height: 36px; padding: 8px 10px; border: 1px solid var(--sand); background: var(--sand); color: #11140f; font-weight: 800; cursor: pointer; }
@media (max-width: 760px) {
  .media-upload-grid, .media-item { grid-template-columns: 1fr; }
  .media-upload-grid .wide { grid-column: auto; }
}

/* V2.2 Secure Video / Audio Client Links */
.share-link-form {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.015);
  padding: 18px;
  margin-bottom: 20px;
}

.share-link-list {
  display: grid;
  gap: 14px;
}

.share-link-item {
  border-top: 1px solid var(--line);
  padding-top: 14px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 16px;
  align-items: start;
}

.share-link-item strong {
  display: block;
  color: var(--ivory);
  margin-bottom: 5px;
}

.share-link-item span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.48;
  margin-bottom: 5px;
}

.share-link-item input {
  width: 100%;
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,.035);
  color: var(--sand);
  padding: 9px 10px;
  font-size: 12px;
}

.secure-share-body {
  background: #030504;
  min-height: 100vh;
}

.secure-share-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.secure-share-card {
  width: min(860px, 100%);
  border: 1px solid var(--line-strong);
  background: rgba(11,21,16,.76);
  padding: 32px;
}

.secure-share-card img {
  width: min(420px, 82vw);
  height: auto;
  margin-bottom: 22px;
}

.secure-share-card h1 {
  font-size: clamp(32px, 5vw, 54px);
  margin-bottom: 10px;
}

.share-file-title {
  color: var(--sand);
  font-weight: 700;
  margin-bottom: 8px;
}

.share-player {
  margin: 24px 0;
  border: 1px solid var(--line);
  background: rgba(0,0,0,.28);
  padding: 14px;
}

.share-player video,
.share-player audio {
  width: 100%;
  max-height: 70vh;
}

.share-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.share-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid var(--sand);
  background: var(--sand);
  color: #11140f;
  font-weight: 800;
  text-decoration: none;
}

.share-disabled,
.share-expiration {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.share-expiration {
  margin-top: 16px;
}

@media (max-width: 760px) {
  .share-link-item {
    grid-template-columns: 1fr;
  }
}

/* V2.3 Still Frame Capture */
.video-capture-box {
  margin-top: 12px;
  border: 1px solid var(--line);
  background: rgba(0,0,0,.24);
  padding: 12px;
}

.video-capture-box video {
  width: 100%;
  max-height: 460px;
  display: block;
  background: #000;
}

.video-capture-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  margin-top: 10px;
}

.video-capture-actions input {
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,.035);
  color: var(--ivory);
  padding: 9px 10px;
}

@media (max-width: 760px) {
  .video-capture-actions {
    grid-template-columns: 1fr;
  }
}

/* V2.4 Report Workspace / Preview */
.report-entry-form {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.015);
  padding: 18px;
  margin-bottom: 20px;
}

.report-entry-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 14px;
}

.report-entry-grid .wide {
  grid-column: 1 / -1;
}

.report-entry-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.report-entry-actions button {
  min-height: 38px;
  padding: 9px 11px;
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,.03);
  color: var(--ivory);
  font-weight: 800;
  cursor: pointer;
}

.report-entry-actions button:nth-child(2) {
  background: var(--sand);
  border-color: var(--sand);
  color: #11140f;
}

.report-entry-list {
  display: grid;
  gap: 14px;
}

.report-entry-item {
  border-top: 1px solid var(--line);
  padding-top: 14px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 16px;
  align-items: start;
}

.report-entry-item strong {
  display: block;
  color: var(--ivory);
  margin-bottom: 5px;
}

.report-entry-item span,
.report-entry-item p {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  margin: 0 0 5px;
}

.report-preview {
  background: #f7f4ec;
  color: #151812;
  padding: 28px;
  border: 1px solid rgba(215,198,161,.25);
}

.report-preview * {
  color: inherit;
}

.report-preview-header {
  border-bottom: 2px solid #151812;
  padding-bottom: 14px;
  margin-bottom: 18px;
}

.report-preview-header h3 {
  margin-bottom: 4px;
}

.report-preview-header p {
  margin: 0;
}

.report-preview-details {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 7px 14px;
  font-size: 14px;
  margin-bottom: 20px;
}

.report-preview-details dt {
  font-weight: 800;
}

.report-preview-details dd {
  margin: 0;
}

.report-preview h3 {
  margin: 22px 0 8px;
  border-bottom: 1px solid rgba(21,24,18,.25);
  padding-bottom: 6px;
}

.report-preview-entry {
  border-bottom: 1px solid rgba(21,24,18,.18);
  padding: 10px 0;
}

.report-preview-entry h4 {
  margin: 0 0 8px;
}

.report-preview-entry p {
  margin: 0 0 8px;
  line-height: 1.55;
}

.report-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}

.report-photo-grid figure {
  margin: 0;
  border: 1px solid rgba(21,24,18,.22);
  padding: 8px;
  background: #fff;
}

.report-photo-grid img {
  width: 100%;
  height: auto;
  display: block;
}

.report-photo-grid figcaption {
  font-size: 12px;
  line-height: 1.4;
  margin-top: 6px;
}

@media (max-width: 900px) {
  .report-entry-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 620px) {
  .report-entry-grid,
  .report-entry-item,
  .report-preview-details,
  .report-photo-grid {
    grid-template-columns: 1fr;
  }
}

/* V2.4.1 Timeline Workflow Cleanup */
.timeline-flags-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}

.timeline-check {
  display: inline-flex !important;
  align-items: center;
  gap: 8px !important;
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,.025);
  padding: 10px 12px;
}

.timeline-check input {
  width: auto !important;
}

.timeline-check.disabled {
  opacity: .45;
}

.quick-video-upload-box {
  border-left: 3px solid var(--sand);
  background: rgba(215,198,161,.055);
  padding: 12px 14px;
  margin-bottom: 14px;
}

.quick-video-upload-box strong,
.quick-video-upload-box span {
  display: block;
}

.quick-video-upload-box strong {
  color: var(--ivory);
  margin-bottom: 5px;
}

.quick-video-upload-box span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.timeline-entry-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 8px;
}

.media-flag {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px !important;
  font-weight: 800;
  line-height: 1 !important;
  margin: 0 !important;
}

.video-flag {
  background: rgba(180, 31, 31, .16);
  border: 1px solid rgba(220, 65, 65, .52);
  color: #ff6b6b !important;
}

.audio-flag {
  background: rgba(38, 129, 76, .16);
  border: 1px solid rgba(79, 190, 124, .52);
  color: #6fe29d !important;
}

.observed-flag {
  background: rgba(215,198,161,.14);
  border: 1px solid rgba(215,198,161,.48);
  color: var(--sand) !important;
}

/* V2.4.2 Usability Cleanup / Remove Report Preview */
.case-quick-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.case-quick-summary div {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 12px;
  min-height: 72px;
}

.case-quick-summary span {
  display: block;
  color: var(--quiet);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 7px;
}

.case-quick-summary strong {
  display: block;
  color: var(--ivory);
  font-size: 13px;
  line-height: 1.35;
}

.workspace-jumpbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 22px;
  position: sticky;
  top: 0;
  z-index: 8;
  background: rgba(3,5,4,.92);
  padding: 10px 0;
  backdrop-filter: blur(8px);
}

.workspace-jumpbar a {
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,.025);
  color: var(--muted);
  text-decoration: none;
  padding: 8px 10px;
  font-size: 12px;
}

.workspace-jumpbar a:hover {
  color: var(--sand);
}

.workspace-card-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
}

.workspace-card-head h2 {
  margin-bottom: 6px;
}

.workspace-card-head p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}

.report-entry-item,
.media-item,
.share-link-item {
  background: rgba(255,255,255,.012);
  padding: 16px;
  border: 1px solid var(--line);
}

.report-entry-item {
  border-top: 1px solid var(--line);
}

@media (max-width: 900px) {
  .case-quick-summary {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .workspace-jumpbar {
    position: static;
  }
}

@media (max-width: 620px) {
  .case-quick-summary {
    grid-template-columns: 1fr;
  }
}

/* V2.4.3 Tabbed Case Workspace */
.workspace-jumpbar {
  display: none !important;
}

.workspace-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 22px;
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(3,5,4,.94);
  padding: 12px 0;
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}

.workspace-tabs button {
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,.025);
  color: var(--muted);
  padding: 9px 12px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.workspace-tabs button.active,
.workspace-tabs button:hover {
  border-color: var(--sand);
  color: var(--sand);
  background: rgba(215,198,161,.08);
}

.workspace-tab-panel {
  display: none;
}

.workspace-tab-panel.active {
  display: block;
}

.case-file-list {
  display: grid;
  gap: 14px;
}

.case-file-item {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.012);
  padding: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
}

.case-file-item strong,
.invoice-placeholder strong {
  display: block;
  color: var(--ivory);
  margin-bottom: 6px;
}

.case-file-item span,
.case-file-item p,
.invoice-placeholder span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  margin: 0 0 5px;
}

.file-download-link {
  text-decoration: none;
}

.invoice-placeholder {
  border-left: 3px solid var(--sand);
  background: rgba(215,198,161,.055);
  padding: 16px 18px;
}

@media (max-width: 760px) {
  .workspace-tabs {
    position: static;
  }

  .workspace-tabs button {
    flex: 1 1 45%;
  }

  .case-file-item {
    grid-template-columns: 1fr;
  }
}

/* V2.4.4 Case Info + Media/Video Separation */
.client-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.client-info-grid div {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 12px;
}

.client-info-grid span {
  display: block;
  color: var(--quiet);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 7px;
}

.client-info-grid strong {
  display: block;
  color: var(--ivory);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.claimant-photo-box {
  margin-top: 20px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.015);
  padding: 18px;
}

.claimant-photo-box h3 {
  margin-bottom: 6px;
}

.claimant-photo-box p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  margin: 0 0 14px;
}

.claimant-photo-box figure {
  margin: 0 0 14px;
  width: min(280px, 100%);
  border: 1px solid var(--line);
  padding: 8px;
  background: rgba(0,0,0,.2);
}

.claimant-photo-box img {
  width: 100%;
  height: auto;
  display: block;
}

.claimant-photo-box figcaption {
  color: var(--muted);
  font-size: 12px;
  margin-top: 6px;
}

.claimant-photo-form {
  max-width: 520px;
}

@media (max-width: 980px) {
  .client-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .client-info-grid {
    grid-template-columns: 1fr;
  }
}

/* V2.4.5 Tab Button Repair */
.workspace-tab-panel {
  display: none !important;
}

.workspace-tab-panel.active {
  display: block !important;
}

.workspace-tabs button {
  user-select: none;
}

/* V2.4.8 Claimant Photograph Role Control */
.no-claimant-photo {
  border: 1px solid var(--line-strong);
  background: rgba(255,255,255,.018);
  color: var(--quiet);
  font-weight: 900;
  letter-spacing: .12em;
  text-align: center;
  padding: 24px 18px;
  margin: 12px 0 0;
}

/* V2.4.9 Admin Investigator View Toggle */
.view-toggle-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  border: 1px solid var(--line-strong);
  background: rgba(215,198,161,.055);
  padding: 12px 14px;
  margin: 0 0 18px;
}

.view-toggle-bar strong {
  display: block;
  color: var(--sand);
  margin-bottom: 4px;
}

.view-toggle-bar span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.4;
}

.view-toggle-bar button {
  border: 1px solid var(--sand);
  background: var(--sand);
  color: #11140f;
  font-weight: 900;
  padding: 9px 12px;
  cursor: pointer;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .view-toggle-bar {
    display: grid;
  }

  .view-toggle-bar button {
    width: 100%;
  }
}

/* V2.4.10 Case Files Upload + Labels */
.case-file-upload-form {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.015);
  padding: 18px;
  margin-bottom: 18px;
}

.case-file-label {
  display: inline-flex !important;
  align-items: center;
  width: fit-content;
  border: 1px solid rgba(215,198,161,.45);
  background: rgba(215,198,161,.10);
  color: var(--sand) !important;
  font-size: 11px !important;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 4px 7px;
  margin-bottom: 8px !important;
}

/* V2.4.11 Simplified Timeline Display */
.simplified-timeline-entry strong {
  font-size: 15px;
  color: var(--sand);
}

.simplified-timeline-entry p {
  font-size: 14px;
  line-height: 1.6;
  margin-top: 8px;
}

.simplified-timeline-entry .timeline-entry-flags {
  margin-bottom: 10px;
}

/* V2.4.13 Auto Hours Worked */
#hoursWorked::placeholder {
  color: var(--quiet);
}

/* V2.5 Report Builder / Final Export */
.report-builder-form {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.015);
  padding: 18px;
  margin-bottom: 18px;
}

.report-builder-form textarea {
  min-height: 360px;
  line-height: 1.55;
}

.report-builder-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
}

.report-builder-summary div {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 12px;
}

.report-builder-summary span {
  display: block;
  color: var(--quiet);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 7px;
}

.report-builder-summary strong {
  color: var(--ivory);
}

.report-builder-note {
  border-left: 3px solid var(--sand);
  background: rgba(215,198,161,.055);
  padding: 14px 16px;
}

.report-builder-note strong,
.report-builder-note span {
  display: block;
}

.report-builder-note strong {
  color: var(--sand);
  margin-bottom: 5px;
}

.report-builder-note span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .report-builder-summary {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 620px) {
  .report-builder-summary {
    grid-template-columns: 1fr;
  }
}

/* V2.5.2 Report Download + Case Files Refresh */
.report-download-button {
  display: inline-flex;
  width: fit-content;
  margin-top: 10px;
  text-decoration: none;
}

#finalReportNotice .report-download-button {
  margin-top: 8px;
}

/* V2.5.3 Manager Summary + Admin File Delete */
.manager-summary-form {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.015);
  padding: 18px;
}

.manager-summary-form textarea {
  min-height: 360px;
  line-height: 1.55;
}

.case-file-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.danger-button {
  border-color: rgba(220, 65, 65, .55) !important;
  background: rgba(180, 31, 31, .15) !important;
  color: #ff8b8b !important;
}

.danger-button:hover {
  background: rgba(180, 31, 31, .28) !important;
}

/* V2.5.8 Phone Number Visibility Fix */
.site-phone-visible,
.portal-phone-bar,
.portal-phone {
  color: var(--sand, #d7c6a1);
  font-weight: 800;
}

.portal-phone-bar {
  border-bottom: 1px solid rgba(215,198,161,.28);
  background: rgba(31,59,45,.25);
  padding: 8px 14px;
  text-align: center;
  font-size: 13px;
}

/* V2.5.10 Footer Phone Layout Cleanup */
.footer-contact-clean {
  display: grid;
  gap: 5px;
  line-height: 1.45;
}

.footer-contact-clean span {
  color: var(--sand, #d7c6a1);
  font-weight: 800;
  display: inline-block;
  min-width: 48px;
}

.footer-contact-clean a {
  color: inherit;
  text-decoration: none;
}

.footer-contact-clean a:hover {
  color: var(--sand, #d7c6a1);
}

/* V2.5.17 Date of Loss / Report Logo */
.case-files-dol {
  margin-top: 8px;
  color: var(--sand, #d7c6a1);
  font-size: 13px;
}

.case-files-dol strong {
  color: var(--ivory, #f5f0e6);
}

/* V2.5.21 Timeline + Assignment Summary + Admin Fields */
.admin-editable-field,
.case-info-admin-edit-panel {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 14px;
  margin-top: 14px;
}

.case-info-admin-edit-panel h3 {
  margin: 0 0 10px;
}

.field-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.readonly-field {
  border: 1px solid var(--line);
  padding: 12px;
  margin-top: 10px;
}

.readonly-field span {
  color: var(--sand);
  font-weight: 800;
}

.streamlined-timeline-note {
  color: var(--muted);
  font-size: 13px;
}

/* V2.5.22 Inline Case Info Editing */
.case-info-inline-editing {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.case-info-text-field {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 12px;
}

.case-info-text-field label span,
.case-info-text-field > span {
  color: var(--sand, #d7c6a1);
  display: block;
  font-weight: 800;
  margin-bottom: 7px;
}

.inline-case-field textarea,
.inline-case-field input {
  width: 100%;
}

.inline-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.inline-actions .field-notice {
  color: var(--muted);
  font-size: 12px;
}

.case-info-admin-edit-panel {
  display: none !important;
}

/* V2.5.23 Case Info Field Placement Repair */
.case-info-assignment-text-fields {
  grid-column: 1 / -1;
  display: grid;
  gap: 14px;
  margin-top: 14px;
  margin-bottom: 14px;
}

.case-info-text-field {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 12px;
}

.case-info-text-field label span,
.case-info-text-field > span {
  color: var(--sand, #d7c6a1);
  display: block;
  font-weight: 800;
  margin-bottom: 7px;
}

.inline-case-field textarea,
.inline-case-field input {
  width: 100%;
}

.inline-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.inline-actions .field-notice {
  color: var(--muted);
  font-size: 12px;
}

.case-info-admin-edit-panel,
.case-info-inline-editing {
  display: none !important;
}

/* V2.5.24 Summary of Assignment Placement Fix */
.case-info-assignment-text-fields {
  grid-column: 1 / -1;
  display: grid;
  gap: 14px;
  margin-top: 14px;
  margin-bottom: 14px;
}

.case-info-assignment-text-fields .case-info-text-field {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 12px;
}

.case-info-assignment-text-fields label span,
.case-info-assignment-text-fields .readonly-field > span {
  color: var(--sand, #d7c6a1);
  display: block;
  font-weight: 800;
  margin-bottom: 7px;
}

.inline-case-field textarea,
.inline-case-field input {
  width: 100%;
}

.inline-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.inline-actions .field-notice {
  color: var(--muted);
  font-size: 12px;
}

.case-info-admin-edit-panel,
.case-info-inline-editing {
  display: none !important;
}

/* V2.5.25 Summary Placement Hard Fix */
.case-info-assignment-text-fields {
  grid-column: 1 / -1;
  display: grid;
  gap: 14px;
  margin-top: 14px;
  margin-bottom: 14px;
}

.case-info-assignment-text-fields .case-info-text-field {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 12px;
}

.case-info-assignment-text-fields label span,
.case-info-assignment-text-fields .readonly-field > span {
  color: var(--sand, #d7c6a1);
  display: block;
  font-weight: 800;
  margin-bottom: 7px;
}

.inline-case-field textarea,
.inline-case-field input {
  width: 100%;
}

.inline-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.inline-actions .field-notice {
  color: var(--muted);
  font-size: 12px;
}

.case-info-admin-edit-panel,
.case-info-inline-editing {
  display: none !important;
}

/* V2.5.28 Investigator Actions Workflow Cleanup */
.phase2-report-entry-form {
  display: grid;
  gap: 18px;
}

.phase2-form-panel {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 16px;
}

.phase2-panel-heading {
  margin-bottom: 12px;
}

.phase2-panel-heading h3 {
  margin: 0 0 4px;
}

.phase2-panel-heading p {
  color: var(--muted);
  font-size: 13px;
  margin: 0;
}

.phase2-assignment-grid {
  grid-template-columns: repeat(4, minmax(130px, 1fr));
}

.quick-entry-controls {
  display: grid;
  grid-template-columns: minmax(150px, 220px) repeat(3, minmax(180px, 1fr));
  gap: 12px;
  align-items: stretch;
  margin-bottom: 12px;
}

.entry-time-control {
  margin: 0;
}

.phase2-timeline-check {
  border: 1px solid var(--line);
  background: rgba(0,0,0,.18);
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 700;
  min-height: 42px;
}

.phase2-timeline-check.disabled,
.phase2-timeline-check input:disabled + span {
  color: var(--muted);
  opacity: .8;
}

.phase2-entry-list {
  margin-top: 14px;
}

.phase2-entry-card {
  border-left: 4px solid var(--sand);
  background: rgba(255,255,255,.015);
  padding: 12px 14px;
  margin-bottom: 10px;
}

.phase2-entry-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 8px;
}

.phase2-entry-header strong {
  color: var(--sand);
  display: block;
}

.phase2-entry-header span {
  color: var(--muted);
}

.phase2-entry-card p {
  line-height: 1.45;
  margin: 0 0 10px;
}

.timeline-entry-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.media-flag {
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  padding: 3px 8px;
}

/* V2.5.30 Admin Case Info Editing Cleanup */
.admin-editable-grid {
  align-items: stretch;
}

.case-info-small-edit {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 10px;
  display: grid;
  gap: 7px;
}

.case-info-small-edit label {
  display: grid;
  gap: 5px;
  margin: 0;
}

.case-info-small-edit label span {
  color: var(--sand, #d7c6a1);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.case-info-small-edit input {
  width: 100%;
}

.small-inline-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.mini-save,
.mini-clear {
  border: 1px solid var(--line);
  background: rgba(0,0,0,.22);
  color: var(--text);
  cursor: pointer;
  font-size: 12px;
  padding: 5px 8px;
}

.mini-clear {
  color: #f0b8b8;
}

.small-inline-actions .field-notice {
  color: var(--muted);
  font-size: 11px;
}

.case-info-assignment-text-fields {
  margin-top: 16px;
}

/* V2.5.32 Case Files / Media Workflow + Sentence Date Display */
.date-edit-field .date-sentence-preview {
  color: var(--sand, #d7c6a1);
  display: block;
  font-size: 14px;
  margin-bottom: 6px;
}

.case-files-dol {
  margin-top: 8px;
  color: var(--muted);
  font-size: 13px;
}

.case-files-dol strong {
  color: var(--sand, #d7c6a1);
}

.media-list .danger-button,
.case-file-list .danger-button,
button.danger-button {
  border-color: rgba(220, 80, 80, .45);
}

/* V2.5.33 Final Report QA + Polish Pass */
.final-report-qa-panel {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 14px;
  margin-bottom: 14px;
}

.final-report-qa-panel h3 {
  margin: 0 0 10px;
}

.qa-check-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 8px;
}

.qa-check-grid > div {
  border: 1px solid var(--line);
  padding: 8px 10px;
  background: rgba(0,0,0,.16);
}

.qa-check-grid strong {
  display: block;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.qa-ok strong,
.qa-ok-text {
  color: var(--sand, #d7c6a1);
}

.qa-warning strong,
.qa-warning-text {
  color: #f0b8b8;
}

.generated-report-qa {
  display: block;
  margin-top: 8px;
  font-size: 13px;
}

/* V2.5.35 Invoice Workflow Cleanup */
.invoice-workflow-qa-panel {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 14px;
  margin: 12px 0 14px;
}

.invoice-workflow-qa-panel h3 {
  margin: 0 0 10px;
}

.invoice-terms-badge {
  border: 2px solid var(--sand, #d7c6a1);
  background: rgba(215,198,161,.08);
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  padding: 9px 13px;
  margin: 8px 0 10px;
}

.invoice-terms-badge strong {
  color: var(--sand, #d7c6a1);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.invoice-terms-badge span {
  color: var(--muted);
  font-size: 12px;
}

.invoice-logo-preview,
.invoice-preview-logo {
  max-width: 320px;
  height: auto;
}

/* V2.5.36 Active Invoice Workflow */
.invoice-brand-preview {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.02);
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px;
}

.invoice-brand-preview img {
  max-width: 340px;
  max-height: 120px;
  object-fit: contain;
}

.invoice-meta-edit-grid {
  display: grid;
  grid-template-columns: minmax(160px, 240px) 1fr;
  gap: 12px;
}

.invoice-line-items {
  display: grid;
  gap: 8px;
}

.invoice-line-row {
  display: grid;
  grid-template-columns: 90px 1fr 160px 120px 90px;
  gap: 8px;
  align-items: end;
}

.invoice-actions-row,
.active-invoice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.active-invoice-card,
.invoice-history-row {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 14px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 10px;
}

.active-invoice-card span,
.invoice-history-row span {
  color: var(--muted);
  display: block;
  font-size: 13px;
}

.invoice-history {
  margin-top: 18px;
}

/* V2.5.38 Admin Invoice Delete Control */
.invoice-history-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

/* V2.5.40 Client Address Intake + Invoice Bill To */
.client-address-note,
.bill-to-address-preview {
  color: var(--muted);
  font-size: 13px;
}

/* V2.5.45 Case Info Layout Cleanup */
.case-info-clean-layout {
  display: grid;
  gap: 18px;
}

.case-info-clean-section {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 16px;
}

.case-info-section-title {
  border-bottom: 1px solid var(--line);
  margin-bottom: 12px;
  padding-bottom: 10px;
}

.case-info-section-title h3 {
  margin: 0 0 4px;
  color: var(--sand, #d7c6a1);
  font-size: 18px;
}

.case-info-section-title p {
  color: var(--muted);
  font-size: 13px;
  margin: 0;
}

.case-info-line-grid {
  display: grid;
  gap: 10px 14px;
}

.case-info-line-grid.two-column {
  grid-template-columns: repeat(2, minmax(240px, 1fr));
}

.case-info-line-edit {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  display: grid;
  grid-template-columns: minmax(130px, 170px) minmax(160px, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
}

.case-info-line-label span,
.case-info-display-field span {
  color: var(--sand, #d7c6a1);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.case-info-line-label .date-sentence-preview {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 600;
  margin-top: 3px;
  text-transform: none;
  letter-spacing: 0;
}

.case-info-line-edit input {
  min-height: 34px;
  width: 100%;
}

.case-info-line-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

.case-info-line-edit .field-notice {
  color: var(--muted);
  font-size: 11px;
  grid-column: 2 / 4;
  min-height: 12px;
}

.case-info-display-field {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  padding: 10px;
}

.case-info-display-field strong {
  display: block;
  font-size: 14px;
  margin-top: 4px;
}

@media (max-width: 1000px) {
  .case-info-line-grid.two-column {
    grid-template-columns: 1fr;
  }

  .case-info-line-edit {
    grid-template-columns: 1fr;
  }

  .case-info-line-actions {
    justify-content: flex-start;
  }

  .case-info-line-edit .field-notice {
    grid-column: 1;
  }
}

/* V2.5.46 Case Info Field Layout Repair */
.case-info-field-grid {
  display: grid;
  gap: 14px;
}

.case-info-field-grid.two-column {
  grid-template-columns: repeat(2, minmax(260px, 1fr));
}

.case-info-field-card {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.20);
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px;
}

.case-info-field-card label {
  display: grid;
  gap: 7px;
  margin: 0;
  min-width: 0;
}

.case-info-field-card label span,
.case-info-display-field span {
  color: var(--sand, #d7c6a1);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.2;
  text-transform: uppercase;
}

.case-info-field-card input {
  box-sizing: border-box;
  min-height: 38px;
  width: 100%;
}

.case-info-field-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.case-info-field-actions .field-notice {
  color: var(--muted);
  font-size: 11px;
  min-height: 12px;
}

.case-info-field-card .date-sentence-preview {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

.case-info-display-field {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.20);
  min-width: 0;
  padding: 12px;
}

.case-info-display-field strong {
  display: block;
  font-size: 14px;
  line-height: 1.35;
  margin-top: 6px;
  overflow-wrap: anywhere;
}

/* Neutralize the prior horizontal line-edit layout so it cannot overlap fields. */
.case-info-line-edit {
  display: block;
}

.case-info-line-grid {
  display: grid;
  gap: 14px;
}

.case-info-line-actions,
.case-info-line-label {
  display: block;
}

@media (max-width: 1100px) {
  .case-info-field-grid.two-column {
    grid-template-columns: 1fr;
  }
}

/* V2.5.47 Invoice QA + Display Polish */
.invoice-draft-total-card {
  border: 1px solid var(--line);
  background: rgba(215,198,161,.06);
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
}

.invoice-draft-total-card div {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  padding: 10px;
}

.invoice-draft-total-card span {
  color: var(--muted);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.invoice-draft-total-card strong {
  color: var(--sand, #d7c6a1);
  display: block;
  font-size: 20px;
  margin-top: 4px;
}

@media (max-width: 900px) {
  .invoice-draft-total-card {
    grid-template-columns: 1fr;
  }
}

/* V2.5.48 Client Intake Form Cleanup */
.intake-clean-form {
  display: grid;
  gap: 18px;
}

.intake-form-section {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 18px;
}

.intake-section-heading {
  border-bottom: 1px solid var(--line);
  margin-bottom: 14px;
  padding-bottom: 12px;
}

.intake-section-heading h3 {
  color: var(--sand, #d7c6a1);
  font-size: 20px;
  margin: 4px 0;
}

.intake-section-heading p {
  color: var(--muted);
  margin: 0;
}

.intake-grid {
  gap: 14px;
}

.intake-grid.two-column {
  grid-template-columns: repeat(2, minmax(260px, 1fr));
}

.intake-clean-form label span em {
  color: #f0b8b8;
  font-size: 10px;
  font-style: normal;
  margin-left: 6px;
  text-transform: uppercase;
}

.intake-file-upload {
  border: 1px dashed rgba(215,198,161,.45);
  display: grid;
  gap: 8px;
  padding: 14px;
}

.intake-submit-section .agreement-acceptance {
  margin-top: 0;
}

.intake-contact-clean {
  margin-top: 14px;
}

@media (max-width: 900px) {
  .intake-grid.two-column {
    grid-template-columns: 1fr;
  }

  .intake-form-section {
    padding: 14px;
  }
}


/* V2.5.54 Service Agreement Layout Cleanup */
.agreement-clean {
  background: rgba(255,255,255,.018);
}

.agreement-clean .agreement-header {
  border-bottom: 1px solid var(--line);
  margin-bottom: 14px;
  padding-bottom: 12px;
}

.agreement-clean .agreement-header h3 {
  margin-bottom: 6px;
}

.agreement-intro {
  color: var(--muted);
  margin: 0;
}

.agreement-readable {
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.08);
  line-height: 1.55;
  max-height: 360px;
  padding: 16px;
}

.agreement-clause {
  border-bottom: 1px solid rgba(255,255,255,.08);
  margin-bottom: 16px;
  padding-bottom: 16px;
}

.agreement-clause:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.agreement-clause h4 {
  color: var(--sand, #d7c6a1);
  font-size: 15px;
  margin: 0 0 8px;
}

.agreement-clause p {
  color: var(--text);
  font-size: 13px;
  margin: 0 0 10px;
}

.agreement-clause p:last-child {
  margin-bottom: 0;
}

.agreement-check-clean {
  align-items: flex-start;
  border: 1px solid rgba(215,198,161,.35);
  background: rgba(215,198,161,.07);
  display: flex;
  gap: 10px;
  margin-top: 14px;
  padding: 12px;
}

.agreement-check-clean input {
  margin-top: 3px;
}

.agreement-check-clean span {
  line-height: 1.45;
}

/* V2.5.55 Service Agreement Submit Area Repair */
.intake-submit-panel {
  border: 1px solid rgba(215,198,161,.35);
  background: rgba(215,198,161,.06);
  display: grid;
  gap: 12px;
  padding: 16px;
}

.submit-review-note {
  display: grid;
  gap: 4px;
}

.submit-review-note strong {
  color: var(--sand, #d7c6a1);
  font-size: 14px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.submit-review-note span {
  color: var(--muted);
  font-size: 13px;
}

.intake-submit-panel .form-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}

.intake-submit-panel #assignCaseButton {
  display: inline-flex;
  min-width: 180px;
  justify-content: center;
}

.intake-submit-panel #formNotice {
  flex: 1 1 320px;
  margin: 0;
}

/* V2.5.56 Service Agreement Company Info Cleanup */
.agreement-clause a {
  color: var(--sand, #d7c6a1);
  text-decoration: none;
}

.agreement-clause a:hover {
  text-decoration: underline;
}

/* V2.5.57 Final Intake Page QA / Polish */
.intake-submit-panel {
  border: 1px solid rgba(215,198,161,.35);
  background: rgba(215,198,161,.06);
  display: grid;
  gap: 12px;
  padding: 16px;
}

.submit-review-note {
  display: grid;
  gap: 4px;
}

.submit-review-note strong {
  color: var(--sand, #d7c6a1);
  font-size: 14px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.submit-review-note span {
  color: var(--muted);
  font-size: 13px;
}

.intake-submit-panel .form-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}

.intake-submit-panel #assignCaseButton {
  display: inline-flex;
  min-width: 180px;
  justify-content: center;
}

.intake-submit-panel #formNotice {
  flex: 1 1 320px;
  margin: 0;
}

.agreement-clause a {
  color: var(--sand, #d7c6a1);
  text-decoration: none;
}

.agreement-clause a:hover {
  text-decoration: underline;
}

/* V2.5.59 Full Visual Polish Pass */
.polished-portal-layout {
  gap: 22px;
}

.polished-page-head {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(215,198,161,.08), rgba(255,255,255,.018));
  padding: 22px;
}

.portal-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.portal-summary-card {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 16px;
}

.portal-summary-card span {
  color: var(--muted);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.portal-summary-card strong {
  color: var(--sand, #d7c6a1);
  display: block;
  font-size: 28px;
  margin-top: 6px;
}

.polished-toolbar {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.014);
  padding: 12px;
}

.polished-toolbar input {
  flex: 1 1 360px;
}

.polished-table-wrap {
  background: rgba(0,0,0,.16);
}

.polished-case-table th {
  background: rgba(215,198,161,.05);
}

.polished-case-row {
  transition: background .15s ease, transform .15s ease;
}

.polished-case-row:hover {
  background: rgba(215,198,161,.035);
}

.table-primary {
  color: var(--ivory);
}

.type-chip,
.assigned-chip {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.025);
  color: var(--muted) !important;
  display: inline-flex !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
  margin-top: 0 !important;
  padding: 5px 8px;
  text-transform: uppercase;
}

.assigned-chip.assigned {
  color: var(--sand, #d7c6a1) !important;
  border-color: rgba(215,198,161,.35);
  background: rgba(215,198,161,.06);
}

.assigned-chip.unassigned {
  color: #f0b8b8 !important;
  border-color: rgba(240,184,184,.28);
  background: rgba(240,184,184,.05);
}

.table-date {
  color: var(--quiet) !important;
  font-size: 12px;
}

.primary-row-action {
  white-space: nowrap;
}

.status-pill {
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: .03em;
}

.status-pill.status-new {
  background: rgba(255,255,255,.025);
}

.status-pill.status-active {
  border-color: rgba(136, 202, 161, .35);
  color: #b9e3c7 !important;
  background: rgba(136, 202, 161, .07);
}

.status-pill.status-review {
  border-color: rgba(215,198,161,.45);
  color: var(--sand, #d7c6a1) !important;
  background: rgba(215,198,161,.08);
}

.status-pill.status-billing {
  border-color: rgba(166, 205, 255, .35);
  color: #c8ddff !important;
  background: rgba(166,205,255,.07);
}

.status-pill.status-warning {
  border-color: rgba(245, 199, 117, .35);
  color: #f5d492 !important;
  background: rgba(245,199,117,.07);
}

.status-pill.status-complete {
  border-color: rgba(170, 190, 176, .30);
  color: #d6dfd8 !important;
  background: rgba(170,190,176,.06);
}

.polished-back-button {
  margin-bottom: 14px;
}

.polished-case-header {
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(215,198,161,.08), rgba(255,255,255,.018));
  padding: 22px;
}

.polished-case-summary {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}

.polished-case-summary div {
  border: 1px solid var(--line);
  background: rgba(0,0,0,.16);
  min-width: 0;
}

.workspace-tabs {
  border: 1px solid var(--line);
  border-left: 0;
  border-right: 0;
}

.workspace-tabs button {
  border-radius: 999px;
}

.workspace-tabs button.active {
  box-shadow: inset 0 0 0 1px rgba(215,198,161,.22);
}

.workspace-card {
  box-shadow: 0 18px 44px rgba(0,0,0,.10);
}

.polished-file-card {
  border-color: rgba(215,198,161,.18);
  background: rgba(255,255,255,.018);
}

.case-file-label {
  border: 1px solid rgba(215,198,161,.35);
  background: rgba(215,198,161,.06);
  color: var(--sand, #d7c6a1) !important;
  display: inline-flex !important;
  font-size: 10px !important;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 8px;
  padding: 4px 7px;
  text-transform: uppercase;
}

.case-file-actions {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.empty-state {
  border: 1px dashed rgba(215,198,161,.35);
  color: var(--muted);
  padding: 18px;
  text-align: center;
}

button,
.small-button,
.text-button {
  transition: border-color .15s ease, background .15s ease, color .15s ease, opacity .15s ease;
}

@media (max-width: 1000px) {
  .portal-summary-grid,
  .polished-case-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .case-file-item {
    grid-template-columns: 1fr;
  }

  .case-file-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .portal-summary-grid,
  .polished-case-summary {
    grid-template-columns: 1fr;
  }

  .portal-toolbar {
    flex-direction: column;
  }

  .workspace-tabs {
    position: static;
  }
}

/* V2.5.60 Multi-Investigator Multi-Day Case Structure */
.multi-investigator-card,
.investigation-day-form,
.investigation-day-card {
  border: 1px solid var(--line);
  background: rgba(255,255,255,.018);
  padding: 16px;
}

.multi-investigator-card h3,
.investigation-day-form h3 {
  color: var(--sand, #d7c6a1);
  margin-top: 0;
}

.multi-investigator-card select,
.investigation-day-form select[multiple] {
  min-height: 120px;
}

.investigation-days-layout {
  display: grid;
  gap: 16px;
}

.investigation-day-list {
  display: grid;
  gap: 12px;
}

.investigation-day-card-head {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.investigation-day-card-head span:first-child {
  color: var(--muted);
  display: block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.investigation-day-card-head strong {
  color: var(--ivory);
  display: block;
  font-size: 18px;
  margin-top: 3px;
}

.investigation-day-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: 10px;
}

.investigation-day-meta div {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.16);
  padding: 10px;
}

.investigation-day-meta span {
  color: var(--muted);
  display: block;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.investigation-day-meta strong {
  color: var(--sand, #d7c6a1);
  display: block;
  font-size: 13px;
  margin-top: 4px;
}

.investigation-day-select {
  border: 1px solid rgba(215,198,161,.22);
  background: rgba(215,198,161,.045);
  padding: 10px;
}

@media (max-width: 900px) {
  .investigation-day-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .investigation-day-meta {
    grid-template-columns: 1fr;
  }
}

/* V2.5.66 Investigator Actions Day Grouping Cleanup */
.investigator-actions-day-section,
.investigator-actions-entry-section {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.12);
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 16px;
}

.investigator-actions-day-section h3,
.investigator-actions-entry-section h3 {
  color: var(--sand, #d7c6a1);
  margin: 0;
}

.investigator-actions-day-section .investigation-days-layout {
  margin-top: 4px;
}

.investigator-actions-entry-section .report-entry-form {
  margin-top: 4px;
}

/* V2.5.67 Investigator List Visibility Repair */
.multi-investigator-card select,
.investigation-day-form select,
.investigation-day-form select[multiple],
.multi-investigator-card select[multiple] {
  background: #f6f0df !important;
  color: #111111 !important;
  border-color: rgba(215,198,161,.75) !important;
}

.multi-investigator-card select option,
.investigation-day-form select option,
.multi-investigator-card select[multiple] option,
.investigation-day-form select[multiple] option {
  background: #f6f0df !important;
  color: #111111 !important;
}

.multi-investigator-card select option:checked,
.investigation-day-form select option:checked,
.multi-investigator-card select[multiple] option:checked,
.investigation-day-form select[multiple] option:checked {
  background: #1f3b2d !important;
  color: #ffffff !important;
}

.multi-investigator-card select:focus,
.investigation-day-form select:focus {
  outline: 2px solid rgba(215,198,161,.65);
  outline-offset: 2px;
}

/* V2.5.69 Mobile Use Optimization */
@media (max-width: 820px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    font-size: 15px;
  }

  .portal-shell,
  .portal-layout,
  .polished-portal-layout,
  .intake-shell,
  .intake-clean-form {
    width: 100%;
    max-width: 100%;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .portal-page-head,
  .polished-page-head,
  .workspace-card,
  .polished-case-header,
  .intake-section,
  .agreement-clean,
  .intake-submit-panel {
    padding: 16px !important;
  }

  .portal-page-head h1,
  .polished-page-head h1,
  .case-title-row h1,
  .workspace-card h2,
  .intake-hero h1 {
    font-size: clamp(26px, 7vw, 38px) !important;
    line-height: 1.02;
  }

  .portal-summary-grid,
  .case-quick-summary,
  .polished-case-summary,
  .report-entry-grid,
  .case-info-grid,
  .intake-grid,
  .client-info-grid,
  .assignment-grid,
  .billing-grid {
    grid-template-columns: 1fr !important;
  }

  .case-title-row,
  .polished-case-header,
  .workspace-card-head,
  .view-toggle-bar {
    align-items: stretch !important;
    display: grid !important;
    gap: 12px !important;
  }

  .workspace-tabs {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 10px 0 !important;
    position: sticky;
    top: 0;
    z-index: 10;
    background: rgba(5, 8, 7, .94);
    backdrop-filter: blur(8px);
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  .workspace-tabs::-webkit-scrollbar {
    height: 6px;
  }

  .workspace-tabs button {
    flex: 0 0 auto;
    min-height: 42px;
    min-width: max-content;
    padding: 10px 13px !important;
    scroll-snap-align: start;
    white-space: nowrap;
  }

  button,
  .small-button,
  .text-button,
  input[type="submit"],
  .portal-form button,
  .form-actions button {
    min-height: 44px;
    padding: 11px 14px !important;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
    min-height: 44px;
  }

  textarea {
    min-height: 116px;
  }

  .portal-toolbar,
  .polished-toolbar,
  .case-file-actions,
  .form-actions,
  .intake-submit-panel .form-actions {
    align-items: stretch !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .portal-table-wrap,
  .polished-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .portal-table,
  .polished-case-table {
    min-width: 840px;
  }

  .portal-table th,
  .portal-table td {
    padding: 11px 10px !important;
  }

  .investigator-actions-day-section,
  .investigator-actions-entry-section,
  .multi-investigator-card,
  .investigation-day-form,
  .investigation-day-card {
    padding: 14px !important;
  }

  .investigation-day-card-head {
    display: grid !important;
    gap: 8px !important;
  }

  .investigation-day-meta {
    grid-template-columns: 1fr !important;
  }

  .multi-investigator-card select[multiple],
  .investigation-day-form select[multiple] {
    min-height: 148px;
  }

  .case-file-item,
  .polished-file-card {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .media-list,
  .case-file-list,
  .investigation-day-list {
    gap: 12px !important;
  }

  .portal-summary-card strong {
    font-size: 24px !important;
  }
}

@media (max-width: 520px) {
  .portal-shell,
  .portal-layout,
  .polished-portal-layout,
  .intake-shell,
  .intake-clean-form {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .portal-page-head,
  .polished-page-head,
  .workspace-card,
  .polished-case-header,
  .intake-section,
  .agreement-clean,
  .intake-submit-panel {
    padding: 13px !important;
  }

  .workspace-tabs button {
    min-height: 40px;
    padding: 9px 11px !important;
    font-size: 12px !important;
  }

  .status-pill,
  .type-chip,
  .assigned-chip,
  .case-file-label {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .portal-summary-grid {
    gap: 10px;
  }

  .portal-summary-card {
    padding: 13px !important;
  }

  .report-entry-grid .wide,
  .portal-form .wide,
  .intake-clean-form .wide {
    grid-column: auto !important;
  }

  .intake-submit-panel #formNotice {
    flex: none;
  }
}

/* V2.5.72 Assignment Confirmation and Email Notification Repair */
.submission-success-panel {
  align-items: flex-start;
  border: 1px solid rgba(151, 211, 171, .55);
  background: linear-gradient(135deg, rgba(21, 70, 45, .35), rgba(215, 198, 161, .08));
  display: flex;
  gap: 16px;
  margin: 18px 0;
  padding: 18px;
}

.submission-success-panel[hidden] {
  display: none !important;
}

.submission-success-panel .success-icon {
  align-items: center;
  background: #1f6b45;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 22px;
  font-weight: 900;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.submission-success-panel h3 {
  color: var(--ivory, #f7f0df);
  font-size: 24px;
  margin: 4px 0 8px;
}

.confirmation-number-line {
  color: var(--sand, #d7c6a1);
  font-size: 16px;
}

.confirmation-number-line strong {
  color: #ffffff;
  font-size: 18px;
}

#formNotice.success {
  color: #d9f7df;
  font-weight: 800;
}

.case-form.submitted {
  opacity: .62;
  pointer-events: none;
}

@media (max-width: 620px) {
  .submission-success-panel {
    display: grid;
    padding: 15px;
  }
}



/* V2.5.89 Clean Portal Restore */
.portal-loading small {
  display: block;
  margin-top: 8px;
  color: rgba(247,240,223,.70);
  font-size: 12px;
}

/* V2.5.90 Clean Portal Restore - Private Loading */
.portal-loading small {
  display: none !important;
}


/* V2.5.92 Investigator Actions Simplified Workflow */
.simplified-actions-head p {
  max-width: 860px;
}

.simplified-entry-section {
  border-color: rgba(215,198,161,.18) !important;
  background: rgba(215,198,161,.035) !important;
}

.simplified-day-section {
  background: rgba(0,0,0,.10) !important;
}

.simplified-actions-form {
  gap: 14px;
}

.simple-action-primary,
.saved-entry-section,
.simple-action-details,
.admin-scheduling-panel {
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(0,0,0,.16);
  padding: 16px;
}

.simple-action-primary {
  border-color: rgba(215,198,161,.26);
  background: rgba(215,198,161,.045);
}

.simple-action-heading {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.simple-action-heading h3 {
  color: var(--sand, #d7c6a1);
  margin: 0 0 4px;
}

.simple-action-heading p {
  color: var(--muted);
  font-size: 13px;
  margin: 0;
}

.compact-heading {
  margin-bottom: 8px;
}

.simple-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 12px;
}

.simple-action-grid .wide,
.narrative-first {
  grid-column: 1 / -1;
}

.narrative-first textarea {
  min-height: 185px;
}

.simple-indicator-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.simple-action-details summary,
.admin-scheduling-panel summary {
  color: var(--sand, #d7c6a1);
  cursor: pointer;
  font-weight: 800;
  list-style-position: inside;
}

.simple-action-details[open] summary,
.admin-scheduling-panel[open] summary {
  margin-bottom: 12px;
}

.secondary-action-button {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: var(--text, #f7f2e8) !important;
  white-space: nowrap;
}

.simplified-save-row {
  justify-content: flex-start;
  margin-top: 0;
}

.simplified-save-row #saveReportEntry {
  min-width: 210px;
}

.simplified-days-layout {
  display: grid;
  gap: 12px;
}

.compact-day-list {
  display: grid;
  gap: 10px;
}

.compact-day-card {
  margin: 0;
}

.compact-day-meta {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .simple-action-heading {
    align-items: stretch;
    flex-direction: column;
  }
  .simple-action-grid,
  .simple-indicator-row,
  .compact-day-meta {
    grid-template-columns: 1fr;
  }
  .secondary-action-button {
    white-space: normal;
  }
}

/* V2.5.93 Investigator Actions Overhaul */
.action-overhaul-head p {
  max-width: 920px;
}

.action-overhaul-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 16px;
  align-items: start;
}

.action-overhaul-main,
.action-overhaul-side {
  min-width: 0;
}

.action-overhaul-form {
  gap: 14px;
}

.action-step-card {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.17);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 18px 40px rgba(0,0,0,.16);
}

.action-step-primary {
  border-color: rgba(215,198,161,.34);
  background: linear-gradient(180deg, rgba(215,198,161,.075), rgba(0,0,0,.15));
}

.action-step-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border: 1px solid rgba(215,198,161,.35);
  background: rgba(215,198,161,.11);
  color: var(--sand, #d7c6a1);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.action-step-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.action-step-heading h3 {
  color: var(--sand, #d7c6a1);
  margin: 0 0 4px;
}

.action-step-heading p,
.action-step-heading small,
.action-step-card summary small {
  color: var(--muted);
  font-size: 13px;
  font-weight: 500;
  margin: 0;
}

.action-helper-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.small-helper-button,
.quick-narrative-btn {
  font-size: 12px !important;
  padding: 8px 10px !important;
}

.action-overhaul-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.45fr) repeat(2, minmax(135px, .75fr));
  gap: 12px;
}

.action-overhaul-grid .wide,
.action-narrative-field {
  grid-column: 1 / -1;
}

.action-narrative-field textarea {
  min-height: 240px;
  font-size: 15px;
  line-height: 1.55;
}

.quick-narrative-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0;
}

.quick-narrative-btn {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: var(--text, #f7f2e8) !important;
  border-radius: 999px !important;
}

.quick-narrative-btn:hover {
  border-color: rgba(215,198,161,.38) !important;
  background: rgba(215,198,161,.10) !important;
}

.action-indicator-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.action-save-row {
  justify-content: flex-start;
  margin-top: 14px;
}

.action-save-row #saveReportEntry {
  min-width: 210px;
}

.action-optional-card,
.action-days-review,
.action-admin-setup {
  padding: 0;
  overflow: hidden;
}

.action-optional-card summary,
.action-days-review summary,
.action-admin-setup summary {
  cursor: pointer;
  list-style: none;
  padding: 14px 16px;
  color: var(--sand, #d7c6a1);
}

.action-optional-card summary::-webkit-details-marker,
.action-days-review summary::-webkit-details-marker,
.action-admin-setup summary::-webkit-details-marker {
  display: none;
}

.action-optional-card summary span,
.action-days-review summary span,
.action-admin-setup summary span {
  display: grid;
  gap: 3px;
}

.action-optional-card summary::after,
.action-days-review summary::after,
.action-admin-setup summary::after {
  content: "Open";
  float: right;
  color: var(--muted);
  font-size: 12px;
  margin-top: -32px;
}

.action-optional-card[open] summary::after,
.action-days-review[open] summary::after,
.action-admin-setup[open] summary::after {
  content: "Close";
}

.action-optional-card[open] .action-overhaul-grid,
.action-admin-setup[open] .investigation-days-layout,
.action-days-review[open] .investigation-day-list {
  padding: 0 16px 16px;
}

.action-saved-card {
  margin-top: 14px;
}

.action-entry-list {
  display: grid;
  gap: 10px;
}

.action-overhaul-side {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 12px;
}

.action-day-card {
  border-radius: 14px;
}

.action-admin-setup .portal-form,
.action-admin-setup .multi-investigator-card {
  box-shadow: none;
}

@media (max-width: 1120px) {
  .action-overhaul-layout {
    grid-template-columns: 1fr;
  }
  .action-overhaul-side {
    position: static;
  }
}

@media (max-width: 900px) {
  .action-step-heading {
    display: grid;
  }
  .action-helper-buttons {
    justify-content: flex-start;
  }
  .action-overhaul-grid,
  .action-indicator-row,
  .compact-day-meta {
    grid-template-columns: 1fr;
  }
}

/* V2.5.94 Investigator Actions Day Board */
.action-day-board {
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 22px;
  padding: 18px;
  margin-bottom: 18px;
  background: rgba(15, 23, 42, 0.58);
}
.action-day-board-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.action-day-board h3 {
  margin: 0 0 4px;
}
.action-day-board p {
  margin: 0;
  color: rgba(226, 232, 240, 0.72);
}
.action-day-tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}
.action-day-tab {
  text-align: left;
  border: 1px solid rgba(148, 163, 184, 0.26);
  border-radius: 18px;
  padding: 14px;
  background: rgba(2, 6, 23, 0.45);
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.action-day-tab strong {
  font-size: 1rem;
}
.action-day-tab span,
.action-day-tab small {
  color: rgba(226, 232, 240, 0.72);
}
.action-day-tab.active {
  border-color: rgba(187, 163, 107, 0.85);
  background: rgba(187, 163, 107, 0.14);
  box-shadow: 0 0 0 1px rgba(187, 163, 107, 0.18) inset;
}
.general-day-tab {
  min-width: 190px;
}
.empty-day-board {
  background: rgba(187, 163, 107, 0.08);
}
.active-day-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.045);
  margin: 8px 0 18px;
}
.active-day-summary strong,
.active-day-summary span {
  display: block;
}
.active-day-summary span {
  color: rgba(226, 232, 240, 0.72);
}
.dayboard-topline {
  grid-template-columns: repeat(2, minmax(180px, 1fr));
}
.dayboard-entry-card .phase2-entry-header strong {
  letter-spacing: 0.01em;
}
.dayboard-saved-card {
  margin-top: 18px;
}
@media (max-width: 760px) {
  .action-day-board-head,
  .active-day-summary {
    flex-direction: column;
    align-items: stretch;
  }
  .dayboard-topline {
    grid-template-columns: 1fr;
  }
}

.assigned-investigator-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: rgba(15, 23, 42, 0.42);
  margin: 12px 0;
}
.assigned-investigator-banner span {
  color: rgba(226, 232, 240, 0.68);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.assigned-investigator-banner strong {
  color: #f8fafc;
  text-align: right;
}
.assigned-investigator-banner.unassigned {
  border-color: rgba(248, 113, 113, 0.32);
  background: rgba(127, 29, 29, 0.12);
}
.inline-day-assignment-form {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}
.inline-day-assignment-form select {
  min-height: 104px;
}
.day-assignment-card {
  scroll-margin-top: 110px;
}
@media (max-width: 760px) {
  .assigned-investigator-banner {
    align-items: flex-start;
    flex-direction: column;
  }
  .assigned-investigator-banner strong {
    text-align: left;
  }
}


/* V2.5.107 User Profile Usability Fix */
.user-profile-list-panel { border: 1px solid var(--line); background: rgba(255,255,255,.018); padding: 18px; min-width: 0; }
.user-profile-list-head { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.user-profile-list-head h2 { margin: 0 0 6px; color: var(--ivory); }
.user-profile-list-head p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.user-profile-list { display: grid; gap: 12px; }
.user-profile-card { display: grid; grid-template-columns: minmax(220px, 1.2fr) minmax(220px, 1fr) auto; gap: 14px; align-items: center; border: 1px solid var(--line); background: rgba(255,255,255,.025); padding: 14px; min-width: 0; }
.user-profile-main strong { display: block; color: var(--ivory); margin-bottom: 5px; }
.user-profile-main span, .user-profile-meta span { display: block; color: var(--quiet); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.user-profile-meta { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 4px 12px; }
.user-profile-actions { display: flex; flex-direction: column; gap: 8px; align-items: stretch; min-width: 104px; }
.user-profile-actions button { width: 100%; white-space: nowrap; }
.portal-card-form.flash-focus { outline: 2px solid var(--sand); outline-offset: 3px; transition: outline-color .2s ease; }
@media (max-width: 1100px) {
  .user-grid { grid-template-columns: 1fr; }
  .user-profile-card { grid-template-columns: 1fr; align-items: stretch; }
  .user-profile-actions { flex-direction: row; }
}


/* V2.5.111 Mobile Portal Usability Overhaul */
.mobile-workspace-switch { display: none; }

@media (max-width: 820px) {
  html, body, .portal-app-body, .portal-app {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .portal-topbar {
    width: 100% !important;
    min-height: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-bottom: 1px solid rgba(215,198,161,.18);
  }

  .portal-logo {
    display: flex;
    justify-content: center;
  }

  .portal-logo img {
    width: min(270px, 82vw) !important;
    max-height: 66px;
    object-fit: contain;
  }

  .portal-topbar nav {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
    align-items: stretch !important;
  }

  .portal-topbar nav span {
    grid-column: 1 / -1;
    text-align: center;
    line-height: 1.35;
    padding-bottom: 2px;
    overflow-wrap: anywhere;
  }

  .portal-topbar nav button {
    width: 100%;
    min-height: 42px;
    margin: 0 !important;
    white-space: normal;
  }

  .portal-layout {
    width: 100% !important;
    padding: 12px 10px 72px !important;
    margin: 0 !important;
  }

  .polished-back-button,
  #backToCases {
    display: inline-flex;
    width: 100%;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(215,198,161,.24) !important;
    background: rgba(215,198,161,.055) !important;
    margin: 0 0 10px !important;
    padding: 10px 12px !important;
  }

  .case-title-row,
  .polished-case-header,
  .portal-page-head,
  .polished-page-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
    padding: 14px !important;
  }

  .case-title-row h1,
  .polished-case-header h1,
  .portal-page-head h1,
  .polished-page-head h1 {
    font-size: clamp(25px, 8vw, 34px) !important;
    line-height: 1.05 !important;
    overflow-wrap: anywhere;
  }

  .case-title-row p,
  .polished-case-header p,
  .portal-page-head p,
  .polished-page-head p {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .status-pill.large,
  .status-pill {
    justify-content: center;
    width: 100%;
    white-space: normal;
    text-align: center;
  }

  .case-quick-summary,
  .polished-case-summary,
  .portal-summary-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin-bottom: 12px !important;
  }

  .case-quick-summary > div,
  .polished-case-summary > div,
  .portal-summary-card {
    padding: 12px !important;
    min-width: 0;
  }

  .case-quick-summary strong,
  .polished-case-summary strong,
  .portal-summary-card strong {
    font-size: 16px !important;
    overflow-wrap: anywhere;
  }

  .view-toggle-bar {
    display: grid !important;
    gap: 10px !important;
    padding: 12px !important;
  }

  .view-toggle-bar button {
    width: 100%;
  }

  .mobile-workspace-switch {
    display: block;
    position: sticky;
    top: 0;
    z-index: 30;
    padding: 10px 0 12px;
    margin: 0 0 12px;
    background: rgba(3,5,4,.96);
    border-bottom: 1px solid rgba(215,198,161,.18);
    backdrop-filter: blur(10px);
  }

  .mobile-workspace-switch label {
    display: grid;
    gap: 6px;
  }

  .mobile-workspace-switch span {
    color: var(--sand);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .mobile-workspace-switch select {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(215,198,161,.35);
    background: #101711;
    color: var(--ivory);
    border-radius: 12px;
    padding: 0 12px;
    font-size: 16px;
    font-weight: 800;
  }

  .workspace-tabs {
    display: none !important;
  }

  .workspace-grid {
    display: block !important;
  }

  .workspace-card,
  .portal-card-form,
  .user-profile-list-panel,
  .action-day-board,
  .simple-action-primary,
  .saved-entry-section,
  .simple-action-details,
  .admin-scheduling-panel {
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    border-radius: 16px !important;
    min-width: 0 !important;
  }

  .workspace-card-head,
  .action-day-board-head,
  .active-day-summary,
  .assigned-investigator-banner,
  .user-profile-list-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .workspace-card h2,
  .workspace-card h3,
  .portal-card-form h2,
  .user-profile-list-head h2 {
    font-size: clamp(21px, 6vw, 28px) !important;
    line-height: 1.12 !important;
  }

  .portal-form,
  .portal-card-form,
  .portal-form.compact,
  .report-entry-grid,
  .case-info-field-grid,
  .case-info-clean-layout,
  .client-info-grid,
  .assignment-grid,
  .billing-grid,
  .dayboard-topline,
  .action-overhaul-grid,
  .action-indicator-row,
  .compact-day-meta,
  .user-grid,
  .user-profile-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }

  .portal-form label,
  .portal-card-form label,
  .case-info-field-card,
  .case-info-text-field,
  .case-info-display-field {
    min-width: 0;
  }

  .portal-form input,
  .portal-form select,
  .portal-form textarea,
  .portal-card-form input,
  .portal-card-form select,
  .portal-card-form textarea,
  input,
  select,
  textarea {
    width: 100% !important;
    min-height: 46px !important;
    font-size: 16px !important;
    border-radius: 10px !important;
  }

  textarea {
    min-height: 130px !important;
  }

  .portal-form button,
  .portal-card-form button,
  .small-button,
  .primary-row-action,
  .mini-save,
  .mini-clear,
  .danger-button,
  .case-info-field-actions button,
  .field-actions button,
  .related-case-actions button,
  .user-profile-actions button {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: center !important;
    white-space: normal !important;
    border-radius: 10px !important;
  }

  .field-actions,
  .inline-actions,
  .case-info-field-actions,
  .related-case-actions,
  .case-file-actions,
  .form-actions,
  .user-profile-actions,
  .action-helper-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    align-items: stretch !important;
  }

  .action-day-tabs,
  .investigation-day-list,
  .media-list,
  .case-file-list,
  .action-entry-list,
  .user-profile-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .action-day-tab,
  .investigation-day-card,
  .day-assignment-card,
  .user-profile-card,
  .case-file-item,
  .polished-file-card,
  .media-item,
  .report-entry-item,
  .share-link-item {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 13px !important;
    min-width: 0 !important;
    border-radius: 14px !important;
  }

  .portal-table-wrap,
  .polished-table-wrap,
  .table-wrap {
    max-width: 100%;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    border-radius: 14px;
  }

  .portal-table,
  .polished-case-table {
    min-width: 720px !important;
  }

  .portal-table th,
  .portal-table td,
  .polished-case-table th,
  .polished-case-table td {
    padding: 10px !important;
    font-size: 12px !important;
  }

  .portal-toolbar,
  .polished-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .portal-toolbar input,
  .portal-toolbar select,
  .polished-toolbar input,
  .polished-toolbar select {
    width: 100% !important;
  }
}

@media (max-width: 520px) {
  .portal-layout {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .portal-topbar {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .portal-topbar nav {
    grid-template-columns: 1fr !important;
  }

  .portal-logo img {
    width: min(235px, 78vw) !important;
  }

  .workspace-card,
  .portal-card-form,
  .user-profile-list-panel,
  .action-day-board {
    padding: 12px !important;
  }

  .portal-table,
  .polished-case-table {
    min-width: 640px !important;
  }
}

/* V2.5.112 Assignment Workspace redesign */
.assignment-workspace-v112 { display: grid; gap: 18px; }
.assignment-workspace-hero { display: flex; justify-content: space-between; gap: 18px; align-items: stretch; padding: 18px; border: 1px solid rgba(209,194,154,.25); border-radius: 18px; background: linear-gradient(135deg, rgba(23,38,32,.95), rgba(10,16,14,.95)); }
.assignment-workspace-hero h2 { margin: 4px 0; font-size: clamp(1.6rem, 3vw, 2.4rem); }
.assignment-workspace-hero p { margin: 0; color: var(--muted); max-width: 760px; }
.assignment-workspace-stats { display: grid; grid-template-columns: repeat(3, minmax(92px, 1fr)); gap: 10px; min-width: 310px; }
.assignment-workspace-stats div { border: 1px solid rgba(209,194,154,.22); border-radius: 14px; padding: 12px; background: rgba(255,255,255,.04); }
.assignment-workspace-stats span, .assignment-info-grid-v112 span, .assignment-instructions-v112 span, .active-assignment-details-v112 span, .assignment-instructions-preview-v112 span { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
.assignment-workspace-stats strong { display:block; margin-top:4px; font-size:1.2rem; }
.assignment-workspace-strip { display:grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap:12px; }
.assignment-workspace-card { text-align:left; border:1px solid rgba(209,194,154,.25); background:rgba(255,255,255,.04); border-radius:16px; padding:14px; color:inherit; cursor:pointer; min-height:126px; }
.assignment-workspace-card:hover, .assignment-workspace-card.active { border-color:rgba(209,194,154,.85); background:rgba(209,194,154,.12); transform:translateY(-1px); }
.assignment-card-label { display:block; color:var(--accent); font-weight:800; margin-bottom:8px; }
.assignment-workspace-card strong, .assignment-workspace-card small, .assignment-workspace-card em { display:block; margin-top:4px; }
.assignment-workspace-card small { color:var(--muted); }
.assignment-workspace-card em { font-style:normal; color:var(--muted); font-size:.85rem; }
.assignment-subnav-v112 { position: sticky; top: 0; z-index: 2; display:flex; flex-wrap:wrap; gap:8px; padding:10px; border:1px solid rgba(209,194,154,.2); border-radius:16px; background:rgba(8,12,10,.92); backdrop-filter: blur(12px); }
.assignment-subnav-v112 a, .assignment-section-link, .open-assignment-primary-v112 { border:1px solid rgba(209,194,154,.28); border-radius:12px; padding:10px 14px; background:rgba(255,255,255,.05); color:var(--text); text-decoration:none; font-weight:700; }
.assignment-subnav-v112 a:hover, .assignment-section-link:hover { background:rgba(209,194,154,.12); }
.assignment-workspace-panel { border:1px solid rgba(209,194,154,.22); border-radius:18px; padding:18px; background:rgba(255,255,255,.035); }
.assignment-panel-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:14px; }
.assignment-panel-head h3 { margin:3px 0 0; font-size:1.35rem; }
.assignment-info-grid-v112 { display:grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap:12px; }
.assignment-info-grid-v112 div { border:1px solid rgba(209,194,154,.16); border-radius:14px; padding:12px; background:rgba(0,0,0,.18); }
.assignment-info-grid-v112 strong { display:block; margin-top:5px; }
.assignment-instructions-v112, .assignment-instructions-preview-v112 { margin-top:14px; border:1px solid rgba(209,194,154,.16); border-radius:14px; padding:12px; background:rgba(0,0,0,.18); }
.assignment-instructions-v112 p, .assignment-instructions-preview-v112 p { margin:6px 0 0; line-height:1.5; }
.assignment-admin-details { margin-top:14px; border:1px solid rgba(209,194,154,.18); border-radius:14px; padding:12px; }
.assignment-admin-details > summary { cursor:pointer; font-weight:800; }
.assignment-shortcut-grid { display:grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap:10px; margin-bottom:10px; }
.active-assignments-shell-v112 { max-width: 1220px; }
.active-assignment-grid-v112 { display:grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap:16px; }
.active-assignment-card-v112 { border:1px solid rgba(209,194,154,.22); border-radius:18px; padding:16px; background:rgba(255,255,255,.04); box-shadow:0 18px 45px rgba(0,0,0,.18); }
.assignment-card-top-v112 { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.assignment-card-top-v112 h3 { margin:8px 0 2px; font-size:1.35rem; }
.assignment-card-top-v112 p { margin:0; color:var(--muted); }
.active-assignment-details-v112 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:14px; }
.active-assignment-details-v112 div { border:1px solid rgba(209,194,154,.14); border-radius:12px; padding:10px; background:rgba(0,0,0,.15); }
.open-assignment-primary-v112 { display:block; width:100%; margin-top:14px; background:rgba(209,194,154,.14); }
.assignment-empty-panel .investigation-day-form, .assignment-empty-panel .multi-investigator-card { margin-top:12px; }
@media (max-width: 820px) {
  .assignment-workspace-hero { flex-direction:column; padding:14px; }
  .assignment-workspace-stats { grid-template-columns:repeat(3, 1fr); min-width:0; }
  .assignment-info-grid-v112, .assignment-shortcut-grid, .active-assignment-details-v112 { grid-template-columns:1fr; }
  .assignment-subnav-v112 { position:static; }
  .assignment-workspace-panel { padding:14px; }
  .assignment-panel-head { flex-direction:column; }
  .assignment-workspace-strip { grid-template-columns:1fr; }
}


/* 2.5.120 Investigator Assignment View + AI Restored */
.active-assignments-shell-v119 { max-width: 1180px; margin: 0 auto; }
.assignment-overview-strip-v119 { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 12px; margin: 18px 0 22px; }
.assignment-overview-strip-v119 > div { border: 1px solid rgba(202, 174, 122, 0.24); border-radius: 18px; background: rgba(255,255,255,0.055); padding: 14px 16px; }
.assignment-overview-strip-v119 span { display: block; color: rgba(255,255,255,0.68); font-size: 0.82rem; margin-bottom: 4px; }
.assignment-overview-strip-v119 strong { font-size: 1.55rem; color: #f5ead8; }
.assignment-bucket-v119 { margin: 22px 0; }
.assignment-bucket-head-v119 { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 12px; }
.assignment-bucket-head-v119 h2 { margin: 0; color: #fff6e6; font-size: 1.25rem; }
.assignment-bucket-head-v119 p { margin: 3px 0 0; color: rgba(255,255,255,0.66); }
.assignment-bucket-head-v119 > strong { min-width: 42px; height: 42px; border-radius: 999px; display: grid; place-items: center; background: rgba(202, 174, 122, 0.16); color: #f5ead8; border: 1px solid rgba(202, 174, 122, 0.28); }
.my-assignment-grid-v119 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.my-assignment-card-v119 { border: 1px solid rgba(202, 174, 122, 0.28); background: linear-gradient(180deg, rgba(26,34,31,0.96), rgba(15,22,20,0.98)); border-radius: 22px; padding: 18px; box-shadow: 0 18px 40px rgba(0,0,0,0.26); }
.my-assignment-card-top-v119 { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.my-assignment-card-top-v119 h3 { margin: 8px 0 2px; font-size: 1.16rem; color: #fff9ed; }
.my-assignment-card-top-v119 p { margin: 0; color: rgba(255,255,255,0.62); }
.my-assignment-detail-grid-v119 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.my-assignment-detail-grid-v119 div { border: 1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 10px 12px; background: rgba(255,255,255,0.045); }
.my-assignment-detail-grid-v119 span, .my-assignment-instructions-v119 span { display: block; color: rgba(255,255,255,0.58); font-size: 0.76rem; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 4px; }
.my-assignment-detail-grid-v119 strong { color: #fff4df; font-size: .94rem; }
.my-assignment-instructions-v119 { margin-top: 14px; border-left: 3px solid rgba(202,174,122,.72); padding: 10px 12px; background: rgba(202,174,122,.08); border-radius: 12px; }
.my-assignment-instructions-v119 p { margin: 0; color: rgba(255,255,255,0.86); line-height: 1.45; }
.open-my-assignment-v119 { width: 100%; margin-top: 16px; min-height: 44px; border-radius: 14px; border: 0; background: #caae7a; color: #101816; font-weight: 800; cursor: pointer; }
.assignment-subnav-v119 { position: sticky; top: 0; z-index: 3; backdrop-filter: blur(10px); }
#surveillanceDetailsPanel .surveillance-details-card-v119 { margin-top: 0; }
@media (max-width: 760px) {
  .assignment-overview-strip-v119 { grid-template-columns: repeat(2, 1fr); }
  .assignment-bucket-head-v119 { align-items: flex-start; }
  .my-assignment-grid-v119 { grid-template-columns: 1fr; }
  .my-assignment-detail-grid-v119 { grid-template-columns: 1fr; }
  .assignment-subnav-v119 { overflow-x: auto; display: flex; padding-bottom: 8px; }
  .assignment-subnav-v119 a { white-space: nowrap; min-height: 42px; display: inline-flex; align-items: center; }
}


/* V2.5.114 AI Writing Assistant */
.ai-assistant-card {
  border: 1px solid rgba(117, 139, 103, 0.28);
  border-radius: 18px;
  padding: 0.85rem 1rem;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 12px 30px rgba(30, 42, 32, 0.08);
  margin: 0.5rem 0 1rem;
}
.ai-assistant-card summary { cursor: pointer; list-style: none; }
.ai-assistant-card summary::-webkit-details-marker { display: none; }
.ai-assistant-card summary span { display: flex; flex-direction: column; gap: 0.15rem; }
.ai-assistant-card summary strong { font-size: 0.98rem; color: #243023; }
.ai-assistant-card summary small { color: #667260; font-size: 0.82rem; }
.ai-assistant-actions { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 0.85rem; }
.ai-assist-btn, .ai-output-actions button {
  border: 1px solid rgba(81, 98, 75, 0.24);
  background: #f7f5ee;
  color: #2f3a2e;
  border-radius: 999px;
  padding: 0.65rem 0.85rem;
  font-weight: 700;
  cursor: pointer;
  min-height: 42px;
}
.ai-assist-btn:hover, .ai-output-actions button:hover { background: #ebe6d8; }
.ai-assistant-output {
  margin-top: 0.85rem;
  padding: 0.85rem;
  border-radius: 14px;
  background: #fbfaf6;
  border: 1px solid rgba(81, 98, 75, 0.18);
  color: #263126;
  white-space: pre-wrap;
  line-height: 1.55;
}
@media (max-width: 720px) {
  .ai-assistant-actions { flex-direction: column; }
  .ai-assist-btn, .ai-output-actions button { width: 100%; border-radius: 14px; }
}

/* V2.5.115 AI Photo Description */
.ai-photo-panel {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(81, 98, 75, 0.16);
}
.ai-photo-panel h4 {
  margin: 0 0 0.2rem;
  color: #243023;
  font-size: 0.98rem;
}
.ai-photo-panel .muted-small {
  margin: 0 0 0.75rem;
  color: #667260;
  font-size: 0.84rem;
}
.ai-photo-panel input[type="file"] {
  width: 100%;
  border: 1px solid rgba(81,98,75,.18);
  border-radius: 12px;
  padding: .55rem;
  background: #fff;
}
@media (max-width: 720px) {
  .ai-photo-panel .secondary-action-button { width: 100%; }
}


/* V2.5.117 AI Readability Fix */
.ai-assistant-card {
  background: #11170f !important;
  border: 1px solid rgba(216, 199, 154, 0.55) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.35) !important;
  color: #f7f1e3 !important;
}
.ai-assistant-card summary strong,
.ai-photo-panel h4 {
  color: #ffffff !important;
  letter-spacing: 0.01em;
}
.ai-assistant-card summary small,
.ai-photo-panel .muted-small,
.ai-assistant-card .portal-notice {
  color: #ded6c0 !important;
}
.ai-assistant-card label,
.ai-assistant-card label span,
.ai-photo-panel label,
.ai-photo-panel label span,
.ai-assistant-card .timeline-check span {
  color: #f5eddc !important;
}
.ai-assistant-actions {
  gap: 0.7rem !important;
}
.ai-assist-btn,
.ai-output-actions button,
.ai-photo-panel .secondary-action-button,
#describeAiPhoto {
  background: #d9c795 !important;
  color: #10140f !important;
  border: 1px solid #f0e4be !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.25) !important;
}
.ai-assist-btn:hover,
.ai-output-actions button:hover,
.ai-photo-panel .secondary-action-button:hover,
#describeAiPhoto:hover {
  background: #f0dfaa !important;
  color: #070907 !important;
}
.ai-assist-btn:disabled,
.ai-output-actions button:disabled,
.ai-photo-panel .secondary-action-button:disabled,
#describeAiPhoto:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
}
.ai-assistant-output {
  background: #f9f5e8 !important;
  color: #121812 !important;
  border: 1px solid rgba(216, 199, 154, 0.8) !important;
}
.ai-photo-panel {
  border-top: 1px solid rgba(216, 199, 154, 0.35) !important;
}
.ai-photo-panel select,
.ai-photo-panel input[type="file"],
.ai-photo-panel textarea,
.ai-assistant-card textarea,
.ai-assistant-card select,
.ai-assistant-card input[type="text"],
.ai-assistant-card input[type="file"] {
  background: #fbfaf4 !important;
  color: #111711 !important;
  border: 1px solid #d9c795 !important;
  border-radius: 12px !important;
}
.ai-photo-panel input[type="checkbox"],
.ai-assistant-card input[type="checkbox"] {
  accent-color: #d9c795;
  width: 18px;
  height: 18px;
}
.ai-photo-panel input::file-selector-button {
  background: #d9c795;
  color: #10140f;
  border: 1px solid #f0e4be;
  border-radius: 8px;
  padding: 0.45rem 0.7rem;
  font-weight: 800;
  cursor: pointer;
}
@media (max-width: 720px) {
  .ai-assistant-card {
    padding: 1rem !important;
    border-radius: 16px !important;
  }
  .ai-assist-btn,
  .ai-output-actions button,
  #describeAiPhoto {
    min-height: 48px !important;
    font-size: 0.95rem !important;
  }
}


/* V2.5.118 AI Button Hotfix */
.ai-assistant-card .portal-notice {
  display: block !important;
  min-height: 1.35rem;
  margin-top: 0.85rem !important;
  font-weight: 800 !important;
}
.ai-assistant-card .portal-notice.ai-notice-error {
  color: #ffd2c7 !important;
}
.ai-assistant-output[hidden], .ai-output-actions[hidden] {
  display: none !important;
}
.ai-assist-btn:disabled, #describeAiPhoto:disabled {
  opacity: 0.72 !important;
}

/* V2.5.121 Assignment review workflow */
.assignment-submit-panel-v121,
.review-assignment-card-v121 {
  border: 1px solid rgba(220, 214, 195, 0.18);
}
.assignment-review-actions-v121 {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}
.assignment-review-actions-v121 button {
  min-height: 44px;
}
.correction-note-v121,
.portal-warning {
  margin: 1rem 0;
  padding: 0.9rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(238, 184, 72, 0.35);
  background: rgba(238, 184, 72, 0.10);
  color: #f6edd8;
}
.correction-note-v121 strong,
.portal-warning strong {
  display: block;
  margin-bottom: 0.35rem;
}
.correction-note-v121 p {
  margin: 0.35rem 0 0;
}
.correction-label-v121 {
  display: block;
  margin-top: 1rem;
}
.review-queue-shell-v121 .assignment-bucket-v119 {
  margin-bottom: 1.5rem;
}
@media (max-width: 760px) {
  .assignment-review-actions-v121 {
    flex-direction: column;
  }
  .assignment-review-actions-v121 button,
  .open-review-assignment-v121 {
    width: 100%;
  }
}

/* 2.5.123 Assignment media workflow */
.assignment-media-panel-v123 {
  border: 1px solid rgba(202, 183, 140, 0.22);
  background: rgba(18, 24, 22, 0.78);
}
.assignment-media-strip-v123 {
  margin: 12px 0 16px;
}
.assignment-media-upload-v123 {
  margin-bottom: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.035);
}
.assignment-media-list-v123 {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.assignment-media-card-v123 {
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 18px;
  padding: 14px;
  background: rgba(8, 13, 12, 0.65);
  color: #f4efe3;
}
.assignment-media-card-v123.claimant-video {
  border-color: rgba(202, 183, 140, 0.62);
  box-shadow: 0 0 0 1px rgba(202, 183, 140, 0.16) inset;
}
.assignment-media-main-v123 {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: flex-start;
}
.assignment-media-main-v123 h4 {
  margin: 8px 0 4px;
  color: #fff8ea;
}
.assignment-media-main-v123 p {
  color: rgba(244,239,227,0.78);
  margin: 4px 0;
}
.assignment-media-actions-v123 {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.assignment-media-shortcuts-v123 {
  margin-top: 18px;
}
@media (max-width: 720px) {
  .assignment-media-main-v123 {
    display: block;
  }
  .assignment-media-actions-v123 {
    justify-content: stretch;
    margin-top: 12px;
  }
  .assignment-media-actions-v123 a,
  .assignment-media-actions-v123 button {
    width: 100%;
    text-align: center;
  }
}


/* 2.5.124 Report Review & Delivery */
.report-delivery-panel-v124 {
  border: 1px solid rgba(212, 186, 138, 0.28);
  border-radius: 22px;
  padding: 18px;
  margin: 0 0 18px;
  background: linear-gradient(135deg, rgba(16, 31, 27, 0.96), rgba(9, 19, 18, 0.94));
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
}
.report-readiness-strip-v124 { margin: 14px 0; }
.report-readiness-checks-v124 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.report-readiness-checks-v124 > div {
  border-radius: 16px;
  padding: 12px;
  min-height: 92px;
}
.report-readiness-checks-v124 small {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,0.68);
  line-height: 1.35;
}
.approved-assignment-list-v124 {
  margin-top: 14px;
}
.approved-assignment-list-v124 h4 {
  margin: 0 0 10px;
  color: #f6ead0;
}
.report-assignment-row-v124 {
  display: grid;
  grid-template-columns: minmax(180px, 1.3fr) auto auto auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  margin-bottom: 8px;
  background: rgba(255,255,255,0.045);
  color: rgba(255,255,255,0.84);
}
.report-assignment-row-v124 div span {
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,0.62);
  font-size: 0.86rem;
}
.portal-success {
  border: 1px solid rgba(101, 214, 158, 0.36);
  color: #bff4d2;
  background: rgba(31, 129, 75, 0.16);
  border-radius: 14px;
  padding: 11px 12px;
  margin: 10px 0;
}
@media (max-width: 760px) {
  .report-assignment-row-v124 {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
}

/* V2.5.125 Client Delivery Portal */
.client-delivery-panel-v125 { border: 1px solid rgba(214,189,144,.28); }
.client-delivery-form-v125 { margin-top: 1rem; }
.delivery-file-picker-v125 { grid-column: 1 / -1; display: grid; gap: .6rem; padding: .85rem; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.035); }
.delivery-file-choice { display: flex; align-items: flex-start; gap: .65rem; padding: .65rem; border: 1px solid rgba(255,255,255,.10); border-radius: 12px; background: rgba(0,0,0,.14); cursor: pointer; }
.delivery-file-choice input { margin-top: .2rem; min-width: 18px; min-height: 18px; }
.delivery-file-choice span { display: grid; gap: .2rem; }
.delivery-file-choice small { color: rgba(255,255,255,.72); }
.client-delivery-link-item-v125 input { width: min(100%, 620px); }
.client-delivery-body .secure-share-card, .client-delivery-card { max-width: 920px; }
.client-delivery-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: .5rem .9rem; margin: 1rem 0; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.04); text-align: left; }
.client-delivery-meta p { margin: 0; }
.client-delivery-files { display: grid; gap: .85rem; margin-top: 1.2rem; }
.client-delivery-file { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.045); text-align: left; }
.client-delivery-file div:first-child { display: grid; gap: .25rem; }
.client-delivery-file span { color: rgba(255,255,255,.72); }
.client-delivery-file p { margin: .2rem 0 0; color: rgba(255,255,255,.72); }
.share-button.secondary { opacity: .85; }
@media (max-width: 720px) {
  .client-delivery-file { align-items: stretch; flex-direction: column; }
  .client-delivery-file .share-actions { display: grid; grid-template-columns: 1fr; }
}

/* 2.5.126 Billing & Payment Tracking */
.billing-period-row { display:flex; gap:10px; flex-wrap:wrap; margin: 12px 0 18px; }
.billing-period-button.active { background:#d7c29a; color:#111; border-color:#d7c29a; }
.billing-summary-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.billing-table-wrap td span { display:block; color: var(--muted, #9aa0a6); font-size: .82rem; margin-top: 3px; }
.invoice-billing-tracking-panel { margin-top: 18px; padding: 18px; border: 1px solid rgba(215,194,154,.28); border-radius: 18px; background: rgba(255,255,255,.035); }
.compact-head { align-items: flex-start; gap: 14px; }
.billing-mini-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px; margin: 14px 0; }
.billing-mini-grid > div { border: 1px solid rgba(255,255,255,.10); border-radius: 14px; padding: 12px; background: rgba(0,0,0,.18); }
.billing-mini-grid span { display:block; color: var(--muted, #9aa0a6); font-size:.82rem; margin-bottom:4px; }
.billing-mini-grid strong { font-size:1.08rem; }
.invoice-billing-form .checkbox-line { display:flex; align-items:center; gap:10px; min-height: 44px; }
.invoice-billing-form .checkbox-line input { width:auto; }
.status-danger { background: rgba(180, 55, 55, .22); color: #ffd8d8; border-color: rgba(255,130,130,.35); }
.status-muted { background: rgba(160,160,160,.15); color:#ddd; border-color: rgba(255,255,255,.18); }
@media (max-width: 760px) {
  .invoice-billing-tracking-panel { padding: 14px; }
  .billing-mini-grid { grid-template-columns: 1fr; }
}


/* V2.5.127 Admin Operations Dashboard */
.operations-dashboard-v127 .portal-summary-card strong { font-size: 1.65rem; }
.operations-page-head-v127 { align-items: center; }
.operations-card-v127 { margin-top: 18px; }
.operations-attention-list-v127 { display: grid; gap: 12px; }
.operations-attention-item-v127 { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.045); }
.operations-attention-item-v127 h3 { margin: 8px 0 4px; color: #fff; }
.operations-attention-item-v127 p { margin: 0; color: rgba(255,255,255,.72); }
.operations-workload-wrap-v127 table td span { display: block; color: rgba(255,255,255,.55); font-size: .82rem; margin-top: 4px; }
@media (max-width: 760px) {
  .operations-attention-item-v127 { align-items: stretch; flex-direction: column; }
  .operations-attention-item-v127 .small-button { width: 100%; min-height: 44px; }
  .operations-summary-grid-v127 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* 2.5.130 Mobile Investigator Polish */
.mobile-assignment-action-bar-v130 {
  display: none;
}

@media (max-width: 820px) {
  html { scroll-behavior: smooth; }
  body.portal-body { overflow-x: hidden; }

  .portal-layout {
    max-width: 100% !important;
    padding: 12px 10px 92px !important;
  }

  .portal-topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    gap: 10px !important;
    padding: 10px !important;
    background: rgba(8, 13, 12, 0.96) !important;
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(215,194,154,.18);
  }

  .portal-topbar nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100%;
    gap: 8px !important;
    overflow: visible !important;
  }

  .portal-topbar nav button,
  .portal-topbar nav span {
    min-height: 44px !important;
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .portal-topbar nav span {
    grid-column: 1 / -1;
    display: block;
    min-height: 0 !important;
    padding: 2px 0;
    color: rgba(255,255,255,.68);
    font-size: .82rem;
  }

  .portal-page-head,
  .polished-page-head,
  .case-title-row,
  .polished-case-header,
  .workspace-card-head,
  .assignment-panel-head,
  .assignment-workspace-hero,
  .operations-page-head-v127,
  .compact-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .case-title-row h1,
  .portal-page-head h1,
  .assignment-workspace-hero h2 {
    font-size: clamp(1.35rem, 7vw, 2rem) !important;
    line-height: 1.08 !important;
    overflow-wrap: anywhere;
  }

  .case-quick-summary,
  .polished-case-summary,
  .portal-summary-grid,
  .assignment-overview-strip-v119,
  .assignment-workspace-stats,
  .assignment-info-grid-v112,
  .my-assignment-detail-grid-v119,
  .billing-mini-grid,
  .operations-summary-grid-v127,
  .kpi-summary-grid {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  .case-quick-summary > div,
  .portal-summary-card,
  .assignment-workspace-stats > div,
  .assignment-info-grid-v112 > div,
  .my-assignment-detail-grid-v119 > div,
  .billing-mini-grid > div {
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }

  .mobile-workspace-switch {
    display: block !important;
    position: sticky;
    top: 72px;
    z-index: 30;
    margin: 10px 0 12px !important;
    padding: 10px !important;
    border: 1px solid rgba(215,194,154,.24) !important;
    border-radius: 16px !important;
    background: rgba(13, 20, 18, 0.98) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.28);
  }

  .mobile-workspace-switch label,
  .mobile-workspace-switch select {
    width: 100% !important;
  }

  .workspace-tabs { display: none !important; }

  .assignment-workspace-strip,
  .my-assignment-grid-v119,
  .assignment-bucket-v119,
  .assignment-media-list-v123,
  .operations-attention-list-v127,
  .user-profile-list {
    grid-template-columns: 1fr !important;
  }

  .my-assignment-card-v119,
  .assignment-workspace-card,
  .assignment-workspace-panel,
  .workspace-card,
  .action-step-card,
  .portal-card-form,
  .invoice-billing-tracking-panel,
  .report-delivery-panel-v124,
  .client-delivery-panel-v125 {
    border-radius: 18px !important;
    padding: 14px !important;
  }

  .my-assignment-card-top-v119,
  .assignment-media-main-v123,
  .operations-attention-item-v127,
  .client-delivery-file,
  .user-profile-actions,
  .assignment-review-actions-v121,
  .report-entry-actions,
  .action-save-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  .my-assignment-card-v119 .open-my-assignment-v119,
  .open-assignment-primary-v112,
  .primary-row-action,
  .small-button,
  .secondary-action-button,
  .danger-button,
  .assignment-section-link,
  .assignment-subnav-v112 a,
  .ai-assist-btn,
  .quick-narrative-btn,
  button[type="submit"],
  .portal-form button,
  .share-button {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    text-align: center !important;
    justify-content: center !important;
    white-space: normal !important;
    font-size: .95rem !important;
  }

  .assignment-subnav-v112 {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .mobile-assignment-action-bar-v130 {
    position: sticky;
    bottom: 0;
    z-index: 50;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin: 8px -10px 10px;
    padding: 9px 8px calc(9px + env(safe-area-inset-bottom));
    background: rgba(6, 11, 10, .97);
    border-top: 1px solid rgba(215,194,154,.24);
    box-shadow: 0 -10px 28px rgba(0,0,0,.35);
  }

  .mobile-assignment-action-bar-v130 a {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(215,194,154,.28);
    border-radius: 12px;
    background: rgba(215,194,154,.12);
    color: #fff8ea;
    text-decoration: none;
    font-weight: 800;
    font-size: .82rem;
    text-align: center;
  }

  .portal-form,
  .portal-form.compact,
  .media-upload-grid,
  .action-overhaul-grid,
  .action-overhaul-topline,
  .timekeeping-grid,
  .invoice-billing-form,
  .client-delivery-form-v125,
  .assignment-results-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .portal-form label,
  .portal-form label.wide,
  .media-upload-grid label,
  .action-overhaul-grid label,
  .invoice-billing-form label {
    width: 100% !important;
    min-width: 0 !important;
  }

  .portal-form input,
  .portal-form select,
  .portal-form textarea,
  input,
  select,
  textarea {
    min-height: 46px !important;
    font-size: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  textarea#entryNarrative,
  textarea[name="narrative"] {
    min-height: 190px !important;
  }

  .quick-narrative-strip,
  .ai-assistant-actions,
  .action-helper-buttons,
  .assignment-media-actions-v123 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .action-indicator-row,
  .assignment-results-row,
  .mobile-surveillance-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .timeline-check,
  .phase2-timeline-check,
  .checkbox-line,
  .delivery-file-choice {
    min-height: 48px !important;
    padding: 11px !important;
    border-radius: 14px !important;
    align-items: flex-start !important;
  }

  .timeline-check input,
  .phase2-timeline-check input,
  .checkbox-line input,
  .delivery-file-choice input {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    min-height: 22px !important;
    margin-top: 1px !important;
  }

  .ai-assistant-card,
  .ai-photo-panel {
    border-radius: 18px !important;
    padding: 13px !important;
  }

  .ai-assistant-card > summary {
    min-height: 52px !important;
    align-items: center !important;
  }

  .ai-assistant-output {
    max-height: 320px;
    overflow-y: auto;
    font-size: .96rem;
    line-height: 1.5;
  }

  .portal-table-wrap,
  .polished-table-wrap,
  .table-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    border-radius: 16px !important;
  }

  .portal-table,
  .polished-case-table {
    min-width: 680px !important;
  }
}

@media (max-width: 480px) {
  .portal-topbar nav {
    grid-template-columns: 1fr !important;
  }

  .assignment-subnav-v112,
  .mobile-assignment-action-bar-v130 {
    grid-template-columns: 1fr 1fr !important;
  }

  .assignment-overview-strip-v119 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .portal-logo img {
    width: min(230px, 82vw) !important;
  }
}

/* 2.5.132 - audio statements and photo viewing polish */
.photo-preview-card {
  margin: 0.7rem 0;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(255,255,255,0.04);
  max-width: 420px;
}
.photo-preview-card img {
  display: block;
  width: 100%;
  max-height: 280px;
  object-fit: contain;
  background: rgba(0,0,0,0.25);
}
.portal-audio-player {
  display: block;
  width: min(100%, 520px);
  margin-top: 0.65rem;
}
#caseAudioUploadForm {
  margin-top: 1rem;
  border-top: 1px solid rgba(255,255,255,0.1);
  padding-top: 1rem;
}
@media (max-width: 720px) {
  .photo-preview-card { max-width: 100%; }
  .photo-preview-card img { max-height: 220px; }
  .portal-audio-player { width: 100%; }
}

/* 2.5.132 - client audio delivery and release controls */
.delivery-file-choice-v132 {
  align-items: flex-start;
  gap: 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  padding: 12px;
  background: rgba(255,255,255,.045);
}
.delivery-file-choice-v132 span {
  display: grid;
  gap: 4px;
}
.delivery-file-choice-v132 em {
  display: inline-flex;
  width: fit-content;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  padding: 2px 8px;
  color: #f1eadf;
  font-style: normal;
  font-size: .75rem;
  background: rgba(184, 147, 96, .16);
}
.delivery-audio-choice-v132 {
  border-color: rgba(184, 147, 96, .42);
}
.client-delivery-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}
.client-delivery-summary span {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(255,255,255,.06);
  color: #f5efe6;
  font-size: .86rem;
}
.client-delivery-file-main {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.client-delivery-audio,
.client-delivery-video {
  width: min(100%, 680px);
  margin-top: 6px;
}
.client-delivery-video {
  max-height: 420px;
  border-radius: 14px;
  background: #000;
}
.client-delivery-photo {
  display: block;
  width: min(100%, 520px);
  max-height: 360px;
  object-fit: contain;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.25);
  margin-top: 6px;
}
.client-delivery-file-audio {
  border-color: rgba(184,147,96,.36);
}
@media (max-width: 720px) {
  .client-delivery-file {
    grid-template-columns: 1fr;
  }
  .client-delivery-photo,
  .client-delivery-video,
  .client-delivery-audio {
    width: 100%;
  }
}


/* V2.5.138 Admin case lock popup */
.case-lock-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  backdrop-filter: blur(4px);
}
.case-lock-modal {
  width: min(680px, 100%);
  background: #101410;
  color: #f4f0df;
  border: 1px solid rgba(218, 199, 146, 0.45);
  box-shadow: 0 24px 80px rgba(0,0,0,0.55);
  border-radius: 22px;
  padding: 26px;
}
.case-lock-badge {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(218, 199, 146, 0.16);
  color: #dac792;
  border: 1px solid rgba(218, 199, 146, 0.35);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 800;
  margin-bottom: 12px;
}
.case-lock-modal h2 {
  margin: 0 0 10px;
  font-size: clamp(24px, 4vw, 34px);
  line-height: 1.08;
}
.case-lock-message, .case-lock-note {
  color: rgba(244, 240, 223, 0.82);
  line-height: 1.55;
}
.case-lock-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.case-lock-grid div {
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.045);
  border-radius: 14px;
  padding: 12px;
}
.case-lock-grid span {
  display: block;
  color: rgba(244, 240, 223, 0.58);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 5px;
}
.case-lock-grid strong { display: block; color: #fff7d7; }
.case-lock-actions { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; margin-top: 18px; }
.case-lock-actions button {
  min-height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(218,199,146,.45);
  padding: 0 18px;
  font-weight: 800;
  cursor: pointer;
}
#caseLockBackBtn { background: #dac792; color: #0b0d0b; }
#caseLockCloseBtn { background: transparent; color: #f4f0df; }
@media (max-width: 640px) {
  .case-lock-overlay { align-items: flex-end; padding: 12px; }
  .case-lock-modal { border-radius: 20px 20px 14px 14px; padding: 20px; max-height: 88vh; overflow: auto; }
  .case-lock-grid { grid-template-columns: 1fr; }
  .case-lock-actions { justify-content: stretch; }
  .case-lock-actions button { flex: 1 1 100%; }
}
