:root{--line:rgba(116,190,255,.2);--line2:rgba(116,190,255,.36);--text:#edf6ff;--muted:#9cafc2;--blue:#13a5ff;--gold:#bda36a;--danger:#ff7070;--success:#6ee7b7;--radius:22px;--shadow:0 24px 80px rgba(0,0,0,.42)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 18% 0%,rgba(19,165,255,.14),transparent 32rem),linear-gradient(180deg,#030508,#07101a 48%,#030508);color:var(--text);font-family:"IBM Plex Sans",Arial,sans-serif}button,input,select,textarea{font:inherit}.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;padding:20px;border-right:1px solid var(--line);background:rgba(3,7,12,.88);backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:22px}.portal-brand img{width:220px}.sidebar nav{display:grid;gap:8px}.nav-btn,.logout{border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);border-radius:16px;padding:13px 14px;text-align:left;font-weight:800;cursor:pointer;text-decoration:none}.nav-btn.active,.nav-btn:hover,.logout:hover{color:var(--text);border-color:var(--line2);background:rgba(19,165,255,.10)}.logout{margin-top:auto}.main{margin-left:280px;padding:30px;width:calc(100% - 280px)}.portal-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.eyebrow{margin:0 0 8px;color:var(--blue);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:900}h1{font-size:42px;margin:0;letter-spacing:-.05em}h2{font-size:26px;margin:0 0 16px;letter-spacing:-.03em}p{margin-top:0}.muted{color:var(--muted)}.header-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.045);color:var(--text);font-weight:900;cursor:pointer;text-decoration:none}.btn.primary{border:0;background:linear-gradient(135deg,#7bd4ff,var(--blue),#0369b5);color:#03111d}.btn.ghost{background:transparent}.btn.small{min-height:34px;font-size:13px}.status-bar{margin:0 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035);color:var(--muted)}.status-bar.good{color:var(--success)}.status-bar.bad{color:var(--danger)}.view{display:none}.view.active{display:block}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metric-card,.panel,.tool-grid article{border:1px solid var(--line);background:rgba(8,15,25,.82);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{padding:22px}.metric-card span{display:block;font-size:38px;font-weight:900;letter-spacing:-.05em}.metric-card p{color:var(--muted);margin:0}.panel{padding:22px;margin-bottom:18px}.panel-head,.detail-top,.case-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.case-toolbar input{flex:1;min-width:260px}.case-list{display:grid;gap:12px}.case-card{display:grid;grid-template-columns:1fr auto;gap:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);cursor:pointer}.case-card:hover{border-color:var(--line2);background:rgba(19,165,255,.08)}.case-title{font-weight:900;font-size:18px}.case-meta{color:var(--muted);font-size:14px}.badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line2);border-radius:999px;padding:6px 10px;color:var(--text);font-size:12px;font-weight:900;background:rgba(19,165,255,.09)}.portal-form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}label{display:grid;gap:7px;color:var(--muted);font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:900}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.045);color:var(--text);padding:12px;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:rgba(19,165,255,.7);box-shadow:0 0 0 4px rgba(19,165,255,.1)}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tab{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);color:var(--muted);padding:10px 14px;font-weight:900;cursor:pointer}.tab.active{color:#03111d;background:linear-gradient(135deg,#7bd4ff,var(--blue),#0369b5);border-color:transparent}.tab-panel{display:none}.tab-panel.active{display:block}.data-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.entry{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.035);padding:14px;margin:10px 0}.entry strong{display:block}.entry small{color:var(--muted)}.inline-form{display:grid;gap:12px;margin-bottom:18px}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.tool-grid article{padding:18px}.file-row{display:flex;justify-content:space-between;gap:14px;align-items:center}.file-row a{color:var(--blue);font-weight:800}@media(max-width:900px){.sidebar{position:static;width:auto}.main{margin-left:0;width:auto;padding:18px}.metric-grid,.form-grid,.tool-grid{grid-template-columns:1fr}.portal-header{display:block}.header-actions{margin-top:14px}.case-card{grid-template-columns:1fr}}

/* Portal V1.1 fixes */
select option {
  background: #101a28;
  color: #edf6ff;
}

select:focus option,
select option:checked {
  background: #0b2943;
  color: #edf6ff;
}

.btn.danger {
  border-color: rgba(255,112,112,.55);
  background: rgba(255,112,112,.11);
  color: #ff9a9a;
}

.btn.danger:hover {
  background: rgba(255,112,112,.20);
}

.tool-grid article {
  cursor: pointer;
}

.tool-grid article:hover {
  border-color: var(--line2);
  background: rgba(19,165,255,.08);
}

.activity-helper {
  color: var(--muted);
  margin-top: -4px;
}

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


/* Portal V1.4 cleanup */
.tool-grid article {
  cursor: pointer;
  transition: .16s ease;
}

.tool-grid article:hover {
  transform: translateY(-1px);
  border-color: var(--line2);
  background: rgba(19,165,255,.09);
}

/* Portal V2 user/assignment system */
.user-chip {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px 14px;
  color: var(--muted);
  background: rgba(255,255,255,.035);
  font-weight: 800;
  font-size: 13px;
}

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

.user-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  padding: 16px;
}

.inline-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

select option {
  background: #101a28;
  color: #edf6ff;
}

select:disabled,
input:disabled,
textarea:disabled {
  opacity: .72;
  cursor: not-allowed;
}

.btn.danger {
  border-color: rgba(255,112,112,.55);
  background: rgba(255,112,112,.11);
  color: #ff9a9a;
}

.btn.danger:hover {
  background: rgba(255,112,112,.20);
}

.tool-grid article {
  cursor: pointer;
  transition: .16s ease;
}

.tool-grid article:hover {
  transform: translateY(-1px);
  border-color: var(--line2);
  background: rgba(19,165,255,.09);
}

.activity-helper {
  color: var(--muted);
  margin-top: -4px;
}

/* Portal V2.1 Word report builder */
.report-card {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.035);
  padding: 18px;
}

.report-card h3 {
  margin-top: 20px;
}

.small-note {
  margin-top: 12px;
  font-size: 13px;
}

/* Portal V2.2 Actions + Approval Workflow */
.action-section {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.03);
  padding: 18px;
  margin-bottom: 18px;
}

.action-section h2 {
  margin-bottom: 14px;
}

.approval-section {
  border-color: rgba(19,165,255,.42);
  background: rgba(19,165,255,.06);
}

.btn.danger {
  border-color: rgba(255,112,112,.55);
  background: rgba(255,112,112,.11);
  color: #ff9a9a;
}

.btn.danger:hover {
  background: rgba(255,112,112,.20);
}

.btn:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  opacity: .62;
  cursor: not-allowed;
}

.inline-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.small-note {
  margin-top: 10px;
  font-size: 13px;
}

select option {
  background: #101a28;
  color: #edf6ff;
}

/* Portal V2.3 cleanup */
.tabs {
  flex-wrap: wrap;
}

/* Portal V2.7 approval dashboard and report preview */
.queue-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.queue-grid section {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 14px;
  background: rgba(255,255,255,.025);
}

.queue-grid h3 {
  margin: 0 0 10px;
  font-size: 17px;
}

.case-list.compact {
  gap: 8px;
}

.queue-card {
  padding: 12px;
}

.report-preview {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
  background: rgba(255,255,255,.03);
  margin: 16px 0;
}

.report-preview h3,
.report-preview h4 {
  margin-bottom: 10px;
}

.status-bar.good {
  color: var(--success);
}

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

/* Portal V2.11 Manager Summary and Case Instructions */
.manager-summary-section {
  border-color: rgba(19,165,255,.35);
  background: rgba(19,165,255,.045);
}

.case-instructions-section {
  border-color: rgba(47,128,183,.45);
  background: rgba(47,128,183,.045);
}

/* Portal V2.12 Subject + Reopen Workflow */
.subject-card,
.case-instructions-highlight,
.admin-review-note {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(19,165,255,.045);
  padding: 18px;
  margin-bottom: 18px;
}

.admin-review-note {
  border-color: rgba(255,112,112,.55);
  background: rgba(255,112,112,.08);
}

.section-title {
  grid-column: 1 / -1;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--text);
  font-weight: 900;
  font-size: 16px;
}

/* Portal V2.13 Case Screen Cleanup */
#managerSummaryTab .manager-summary-section {
  min-height: 260px;
}

.manager-summary-section textarea {
  min-height: 220px;
}

/* Portal V2.14.7 Restore Case Opening */
.case-list {
  min-height: 40px;
}


/* V2.14.18 New Portal Brand Logo System */
.portal-new-brand-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 8px 0 22px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.portal-new-brand-img {
  display: block !important;
  height: 58px !important;
  width: auto !important;
  max-width: 250px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.42)) !important;
  opacity: 1 !important;
}

.portal-text-brand,
.logo-plate,
.strong-logo-plate,
.portal-actual-logo-wrap,
.portal-logo-brand,
.portal-original-logo-wrap,
.portal-exact-logo-wrap {
  display: none !important;
}

.portal-header-logo,
.web-header-logo,
.original-header-logo,
.exact-header-logo,
img[src*="logo-insight"] {
  display: none !important;
}

.portal-new-brand-logo .portal-new-brand-img {
  display: block !important;
}


/* V2.14.19 Purge Old Logo Assets - authoritative portal logo styles only */
.portal-new-brand-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 8px 0 22px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.portal-new-brand-img {
  display: block !important;
  height: 58px !important;
  width: auto !important;
  max-width: 250px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.42)) !important;
  opacity: 1 !important;
}

.portal-text-brand,
.logo-plate,
.strong-logo-plate,
.portal-actual-logo-wrap,
.portal-logo-brand,
.portal-original-logo-wrap,
.portal-exact-logo-wrap {
  display: none !important;
}

.portal-header-logo,
.web-header-logo,
.original-header-logo,
.exact-header-logo,
img[src*="logo-insight"] {
  display: none !important;
}

.portal-new-brand-logo .portal-new-brand-img {
  display: block !important;
}


/* V2.14.22 Portal Dropdown Readability Fix */
select,
select option,
form select,
form select option {
  background-color: #0f1b28 !important;
  color: #f5fbff !important;
  color-scheme: dark !important;
}

select:focus,
form select:focus {
  outline: 2px solid rgba(19,165,255,.55) !important;
  outline-offset: 2px !important;
  border-color: rgba(19,165,255,.8) !important;
}

select option:checked,
select option:hover,
form select option:checked,
form select option:hover {
  background-color: #17344d !important;
  color: #ffffff !important;
}


/* V2.14.25 Assignment Intake Backend */
.nav-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  margin-left: 6px;
  border-radius: 999px;
  background: #d9534f;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.hidden {
  display: none !important;
}

.intake-notice {
  margin-bottom: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(19,165,255,.35);
  border-radius: 16px;
  background: rgba(19,165,255,.10);
  color: var(--text);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.intake-entry .entry-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

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

button[disabled] {
  opacity: .55;
  cursor: not-allowed;
}


/* V2.14.26 Intake Workflow Cleanup */
.intake-details {
  margin-top: 12px;
}

.intake-details summary {
  cursor: pointer;
  font-weight: 900;
  color: var(--text);
  margin-bottom: 12px;
}

.intake-edit-form {
  display: grid;
  gap: 12px;
}

.intake-edit-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-weight: 800;
}

.intake-edit-form input,
.intake-edit-form select,
.intake-edit-form textarea {
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.06);
  color: var(--text);
  padding: 10px 12px;
  font: inherit;
}

.status-new {
  background: rgba(19,165,255,.16) !important;
  color: #bfe6ff !important;
}

.status-reviewed {
  background: rgba(201,163,92,.16) !important;
  color: #ffe2a6 !important;
}

.status-converted {
  background: rgba(92,201,139,.16) !important;
  color: #b8f2cf !important;
}

.status-archived {
  background: rgba(255,255,255,.10) !important;
  color: #c8d1da !important;
}


/* V2.14.28 Simplified Intake Notifications */
.intake-notice {
  margin-bottom: 18px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(19,165,255,.48) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(19,165,255,.18), rgba(201,163,92,.10)),
    rgba(255,255,255,.045) !important;
  color: var(--text) !important;
  box-shadow: 0 20px 55px rgba(0,0,0,.20) !important;
}

.intake-notice strong {
  display: block;
  font-size: 17px;
  margin-bottom: 4px;
}

.intake-notice span {
  display: block;
  color: var(--muted);
  line-height: 1.45;
}

.nav-badge {
  background: linear-gradient(135deg, #d9534f, #ff7b72) !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.10), 0 8px 18px rgba(217,83,79,.25);
}

.intake-entry[data-intake-card] {
  border-left: 4px solid rgba(19,165,255,.65);
}

.intake-entry .entry-head strong {
  font-size: 16px;
}

.status-new {
  border: 1px solid rgba(19,165,255,.32) !important;
}


/* V2.14.29 Intake File Uploads */
.intake-files {
  margin-top: 12px;
  display: grid;
  gap: 8px;
}

.intake-files strong {
  color: var(--text);
}

.file-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  text-decoration: none;
  color: var(--text);
  border: 1px solid rgba(159,198,221,.22);
  background: rgba(255,255,255,.055);
  border-radius: 12px;
  padding: 10px 12px;
}

.file-pill:hover {
  border-color: rgba(19,165,255,.50);
  background: rgba(19,165,255,.08);
}

.file-pill span {
  color: var(--muted);
  font-size: 12px;
}


/* V2.14.31 Assignment Scheduling Fields */
.scheduling-section {
  border: 1px solid rgba(19,165,255,.22);
  background: rgba(19,165,255,.055);
}

.scheduling-readonly {
  border-left: 4px solid rgba(19,165,255,.65);
}

.scheduling-readonly h3 {
  margin: 0 0 10px;
}

.scheduling-readonly p {
  margin: 5px 0;
}

.schedule-line {
  color: #bfe6ff !important;
  font-weight: 800;
}


/* V2.14.32 Assignment Schedule Display Fix */
.schedule-summary-card {
  border: 1px solid rgba(19,165,255,.25);
  background: linear-gradient(135deg, rgba(19,165,255,.10), rgba(255,255,255,.035));
  border-radius: 18px;
  padding: 18px;
  margin-bottom: 18px;
  box-shadow: 0 18px 45px rgba(0,0,0,.16);
}

.schedule-summary-card h3 {
  margin: 0 0 12px;
}

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

.schedule-summary-grid div {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  border-radius: 14px;
  padding: 12px;
}

.schedule-summary-grid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 5px;
}

.schedule-summary-grid strong {
  color: var(--text);
}

@media (max-width: 760px) {
  .schedule-summary-grid {
    grid-template-columns: 1fr;
  }
}


/* V2.14.33 Editable Assignment Schedule Fix */
.form-section-label {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(19,165,255,.10);
  border: 1px solid rgba(19,165,255,.22);
  color: var(--text);
  font-weight: 900;
  letter-spacing: .02em;
}

#caseUpdateForm input[name="assignment_date"],
#caseUpdateForm input[name="assignment_start_time"],
#caseUpdateForm input[name="assignment_end_time"],
#caseUpdateForm input[name="appointment_time"] {
  border-color: rgba(19,165,255,.35) !important;
  background: rgba(19,165,255,.055) !important;
}


/* V2.14.34 Schedule Page */
.schedule-head {
  align-items: center;
  gap: 18px;
}

.schedule-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

#scheduleMonthLabel {
  min-width: 150px;
  text-align: center;
  color: var(--text);
}

.schedule-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
}

.schedule-weekday {
  color: var(--muted);
  font-weight: 900;
  text-align: center;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 8px;
}

.schedule-day {
  min-height: 132px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  border-radius: 16px;
  padding: 10px;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 8px;
}

.schedule-day.today {
  border-color: rgba(19,165,255,.50);
  box-shadow: 0 0 0 1px rgba(19,165,255,.16) inset;
}

.muted-day {
  opacity: .35;
}

.schedule-day-num {
  color: var(--text);
  font-weight: 900;
}

.schedule-items {
  display: grid;
  gap: 7px;
  align-content: start;
}

.schedule-item,
.schedule-list-item {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(19,165,255,.22);
  background: rgba(19,165,255,.08);
  color: var(--text);
  border-radius: 12px;
  padding: 8px;
  cursor: pointer;
}

.schedule-item:hover,
.schedule-list-item:hover {
  border-color: rgba(19,165,255,.55);
  background: rgba(19,165,255,.13);
}

.schedule-item span,
.schedule-list-item span {
  display: block;
  color: #bfe6ff;
  font-size: 11px;
  font-weight: 900;
  margin-bottom: 3px;
}

.schedule-item strong,
.schedule-list-item strong {
  display: block;
  font-size: 12px;
  line-height: 1.25;
}

.schedule-item em {
  display: block;
  color: var(--muted);
  font-style: normal;
  font-size: 11px;
  margin-top: 3px;
}

.schedule-list {
  display: none;
}

.schedule-list-day {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  border-radius: 16px;
  padding: 14px;
  margin-top: 12px;
}

.schedule-list-day h3 {
  margin: 0 0 10px;
}

.schedule-list-item {
  margin-top: 8px;
}

.schedule-list-item small {
  display: block;
  color: var(--muted);
  margin-top: 3px;
}

@media (max-width: 900px) {
  .schedule-grid {
    display: none;
  }

  .schedule-weekday {
    display: none;
  }

  .schedule-list {
    display: block;
    margin-top: 14px;
  }

  .schedule-head {
    align-items: flex-start;
  }

  .schedule-controls {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .schedule-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  #scheduleMonthLabel {
    grid-column: 1 / -1;
    order: -1;
    text-align: left;
  }
}


/* V2.14.35 Schedule Unscheduled Assignments Fix */
.schedule-unscheduled {
  margin-top: 22px;
  border-top: 1px solid rgba(255,255,255,.10);
  padding-top: 18px;
}

.unscheduled-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.unscheduled-head h2 {
  margin: 0 0 4px;
}

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

.unscheduled-item {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(201,163,92,.28);
  background: rgba(201,163,92,.08);
  color: var(--text);
  border-radius: 14px;
  padding: 12px;
  cursor: pointer;
}

.unscheduled-item:hover {
  border-color: rgba(201,163,92,.55);
  background: rgba(201,163,92,.13);
}

.unscheduled-item strong,
.unscheduled-item span,
.unscheduled-item em {
  display: block;
}

.unscheduled-item span {
  color: var(--muted);
  margin-top: 4px;
}

.unscheduled-item em {
  color: #ffe2a6;
  font-style: normal;
  font-size: 12px;
  margin-top: 4px;
}

@media (max-width: 680px) {
  .unscheduled-head {
    display: grid;
  }
}


/* V2.14.36 Investigator Workflow Streamline */
.workflow-dashboard {
  margin-top: 4px;
}

.workflow-dashboard-head {
  margin-bottom: 14px;
}

.workflow-dashboard-head h1 {
  margin: 0 0 6px;
}

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

.workflow-section {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  border-radius: 18px;
  padding: 16px;
}

.workflow-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.workflow-section-head h2 {
  margin: 0 0 4px;
  font-size: 18px;
}

.workflow-section-head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.4;
}

.workflow-mini-list {
  display: grid;
  gap: 8px;
}

.workflow-mini-case {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(19,165,255,.20);
  background: rgba(19,165,255,.065);
  border-radius: 14px;
  color: var(--text);
  padding: 11px 12px;
  cursor: pointer;
}

.workflow-mini-case:hover {
  border-color: rgba(19,165,255,.52);
  background: rgba(19,165,255,.12);
}

.workflow-mini-case strong,
.workflow-mini-case span,
.workflow-mini-case em {
  display: block;
}

.workflow-mini-case span {
  color: var(--muted);
  margin-top: 4px;
  font-size: 12px;
}

.workflow-mini-case em {
  color: #bfe6ff;
  margin-top: 4px;
  font-style: normal;
  font-weight: 800;
  font-size: 12px;
}

.quick-entry-toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 12px;
  border: 1px solid rgba(19,165,255,.22);
  background: rgba(19,165,255,.07);
  border-radius: 14px;
  margin-bottom: 12px;
}

.time-quick-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.btn.tiny {
  min-height: 36px;
  padding: 7px 10px;
  font-size: 12px;
}

@media (max-width: 920px) {
  .workflow-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .quick-entry-toolbar {
    display: grid;
    grid-template-columns: 1fr;
  }

  .time-quick-field {
    grid-template-columns: 1fr;
  }
}


/* V2.14.39 Case Status / Due Date Alerts */
.case-alerts-dashboard {
  margin-bottom: 18px;
}

.alerts-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.alerts-head h1 {
  margin: 0 0 6px;
}

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

.alert-case-row {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: var(--text);
  border-radius: 16px;
  padding: 13px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  cursor: pointer;
}

.alert-case-row:hover {
  border-color: rgba(19,165,255,.46);
  background: rgba(19,165,255,.08);
}

.alert-case-row strong,
.alert-case-row span {
  display: block;
}

.alert-case-row span {
  color: var(--muted);
  margin-top: 4px;
  font-size: 12px;
}

.case-alert-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.alert-case-row > .case-alert-badges {
  justify-content: flex-end;
  margin-top: 0;
}

.case-alert-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
  border: 1px solid rgba(255,255,255,.12);
}

.case-alert-badge.danger {
  background: rgba(217,83,79,.18);
  color: #ffb4b4;
  border-color: rgba(217,83,79,.35);
}

.case-alert-badge.warning {
  background: rgba(201,163,92,.18);
  color: #ffe2a6;
  border-color: rgba(201,163,92,.38);
}

.case-alert-badge.notice {
  background: rgba(19,165,255,.16);
  color: #bfe6ff;
  border-color: rgba(19,165,255,.35);
}

.case-alert-badge.neutral {
  background: rgba(255,255,255,.09);
  color: #c8d1da;
}

.case-info-alerts {
  margin-bottom: 10px;
}

.schedule-item-alerts .case-alert-badges {
  margin-top: 6px;
}

@media (max-width: 760px) {
  .alert-case-row {
    grid-template-columns: 1fr;
  }

  .alert-case-row > .case-alert-badges {
    justify-content: flex-start;
  }
}


/* V2.14.40 Invoice System Foundation - PDF */
.invoice-list {
  display: grid;
  gap: 10px;
}

.invoice-row {
  width: 100%;
  text-align: left;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  color: var(--text);
  border-radius: 16px;
  padding: 14px;
  cursor: pointer;
}

.invoice-row:hover {
  border-color: rgba(19,165,255,.45);
  background: rgba(19,165,255,.08);
}

.invoice-row strong,
.invoice-row span,
.invoice-row small {
  display: block;
}

.invoice-row span {
  color: var(--muted);
  margin-top: 4px;
}

.invoice-row small {
  color: #bfe6ff;
  margin-top: 4px;
  font-weight: 800;
}

.invoice-row-meta {
  display: flex;
  gap: 12px;
  align-items: center;
}

.invoice-items-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
}

.invoice-items-head h2 {
  margin: 0;
}

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

.invoice-item-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 100px 120px 120px auto;
  gap: 10px;
  align-items: end;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  border-radius: 14px;
  padding: 12px;
}

.invoice-total-line {
  text-align: right;
  font-size: 20px;
  margin: 16px 0;
}

.admin-only-inline {
  display: inline-flex;
}

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

  .invoice-row-meta {
    justify-content: space-between;
  }

  .invoice-item-row {
    grid-template-columns: 1fr 1fr;
  }

  .invoice-item-row label:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 540px) {
  .invoice-item-row {
    grid-template-columns: 1fr;
  }
}


/* V2.14.41 Create Invoice Button Fix */
.case-info-top-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-bottom: 12px;
}

.case-info-top-actions .btn {
  min-width: 150px;
}

@media (max-width: 680px) {
  .case-info-top-actions {
    justify-content: stretch;
  }

  .case-info-top-actions .btn {
    width: 100%;
  }
}


/* V2.14.42 Create Invoice Action Repair */
#createInvoiceFromCaseBtn[disabled] {
  opacity: .7;
  cursor: wait;
}


/* V2.14.44 Invoice Draft Then Generate PDF */
#generateInvoicePdfBtn[disabled] {
  opacity: .7;
  cursor: wait;
}


/* V2.14.45 Prevent Duplicate Case Invoices */
.active-invoice-note {
  color: #ffe2a6 !important;
  margin-top: 6px !important;
}

.invoice-row .badge {
  text-transform: uppercase;
}


/* V2.14.46 Final Invoice Creation Workflow */
#topCreateInvoiceBtn {
  margin-left: 8px;
}

#generateInvoicePdfBtn {
  font-weight: 900;
}

#generateInvoicePdfBtn[disabled] {
  opacity: .55;
  cursor: not-allowed;
}


/* V2.14.47 Invoice Button Visibility Fix */
.case-top-action-bar {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 0 0 14px;
  padding: 10px 0;
}

.invoice-visible-btn,
#topCreateInvoiceBtn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  margin-left: 8px;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 680px) {
  .case-top-action-bar {
    justify-content: stretch;
  }

  .invoice-visible-btn,
  #topCreateInvoiceBtn {
    width: 100%;
    margin-left: 0;
  }
}


/* V2.14.48 Static Case Header Invoice Button */
.case-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.case-header-actions .btn {
  white-space: nowrap;
}

#topCreateInvoiceBtn,
#topGenerateReportBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 760px) {
  .case-header-actions {
    justify-content: stretch;
  }

  .case-header-actions .btn {
    width: 100%;
  }
}


/* V2.14.49 Case Invoice Tab */
.invoice-case-panel {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  border-radius: 18px;
  padding: 18px;
}

.invoice-case-status {
  margin-top: 10px;
}

#caseInvoiceOpenBtn[disabled] {
  opacity: .7;
  cursor: wait;
}


/* V2.14.50 Proper Case Invoice Tab Fix */
.invoice-case-panel {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  border-radius: 18px;
  padding: 18px;
}

.invoice-case-status {
  margin-top: 10px;
}

#caseInvoiceOpenBtn[disabled] {
  opacity: .7;
  cursor: wait;
}


/* V2.14.51 Invoice Void / Delete Controls */
.btn.warning {
  border-color: rgba(201,163,92,.55);
  background: rgba(201,163,92,.14);
  color: #ffe2a6;
}

.btn.warning:hover {
  background: rgba(201,163,92,.22);
}

.btn.danger {
  border-color: rgba(217,83,79,.55);
  background: rgba(217,83,79,.14);
  color: #ffb4b4;
}

.btn.danger:hover {
  background: rgba(217,83,79,.22);
}

#voidInvoiceBtn[disabled],
#deleteInvoiceBtn[disabled] {
  opacity: .45;
  cursor: not-allowed;
}


/* V2.15.0 Portal Speed / Stability Cleanup */
.loading-soft {
  opacity: .72;
  pointer-events: none;
}

.portal-loading-note {
  font-size: 12px;
  color: rgba(255,255,255,.68);
  margin-top: 6px;
}

.status.good {
  border-color: rgba(67, 181, 129, .35);
}

.status.bad {
  border-color: rgba(217, 83, 79, .45);
}


/* V2.15.1 Investigator Workflow Cleanup */
.workflow-tools-card {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  border-radius: 18px;
  padding: 16px;
  margin: 0 0 16px;
}

.workflow-tools-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.workflow-tools-head h3 {
  margin: 0 0 4px;
  font-size: 16px;
}

.workflow-tool-group {
  margin-top: 12px;
}

.workflow-label {
  font-size: 12px;
  color: rgba(255,255,255,.70);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.workflow-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.workflow-chip {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.07);
  color: #f7f2e8;
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 12px;
  cursor: pointer;
}

.workflow-chip:hover {
  background: rgba(201,163,92,.16);
  border-color: rgba(201,163,92,.45);
}

.workflow-chip.secondary {
  background: rgba(0, 142, 255, .10);
  border-color: rgba(0, 142, 255, .28);
}

.workflow-chip.secondary:hover {
  background: rgba(0, 142, 255, .18);
}

@media (max-width: 720px) {
  .workflow-chip-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .workflow-chip {
    width: 100%;
    text-align: left;
  }
}



/* V2.15.3 Billing Presets / Invoice Line Item Cleanup */
.billing-presets-card {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  border-radius: 18px;
  padding: 16px;
  margin: 16px 0;
}

.billing-presets-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 12px;
}

.billing-presets-head h3 {
  margin: 0 0 4px;
  font-size: 16px;
}

.billing-presets-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.billing-preset-btn {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.07);
  color: #f7f2e8;
  border-radius: 999px;
  padding: 8px 11px;
  font-size: 12px;
  cursor: pointer;
}

.billing-preset-btn:hover {
  background: rgba(201,163,92,.16);
  border-color: rgba(201,163,92,.45);
}

.billing-preset-btn.custom {
  background: rgba(0,142,255,.10);
  border-color: rgba(0,142,255,.28);
}

.billing-preset-generated {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 90px 90px 100px auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
}

.billing-preset-generated input {
  width: 100%;
}

@media (max-width: 720px) {
  .billing-presets-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .billing-preset-btn {
    width: 100%;
    text-align: left;
  }

  .billing-preset-generated {
    grid-template-columns: 1fr;
  }
}





/* V2.15.6 Remove Redundant Case Navigation */
.v2156-simple-usability .v2156-clean-card {
  scroll-margin-top: 18px;
}

.v2156-simple-usability .admin-tools-softened {
  opacity: .88;
}

.v2156-simple-usability .admin-tools-softened:hover,
.v2156-simple-usability .admin-tools-softened:focus-within {
  opacity: 1;
}

.v2156-simple-usability .tab-panel {
  padding-top: 12px;
}

.v2156-simple-usability .btn,
.v2156-simple-usability button {
  min-height: 36px;
}

.v2156-simple-usability input,
.v2156-simple-usability textarea,
.v2156-simple-usability select {
  min-height: 38px;
}

.v2156-simple-usability textarea {
  line-height: 1.45;
}


/* V2.15.7 Case Detail Layout Cleanup */
.v2157-case-detail-cleanup .case-summary-strip,
.case-summary-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 14px;
}

.case-summary-item {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.045);
  border-radius: 14px;
  padding: 10px 12px;
  min-width: 0;
}

.case-summary-item span {
  display: block;
  font-size: 10px;
  line-height: 1.2;
  color: rgba(255,255,255,.58);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 5px;
}

.case-summary-item strong {
  display: block;
  font-size: 13px;
  line-height: 1.25;
  color: #f7f2e8;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.case-summary-item.emphasis {
  border-color: rgba(201,163,92,.40);
  background: rgba(201,163,92,.08);
}

.v2157-case-detail-cleanup .case-detail h1,
.v2157-case-detail-cleanup .case-detail h2,
.v2157-case-detail-cleanup #caseDetailView h1,
.v2157-case-detail-cleanup #caseDetailView h2 {
  margin-bottom: 6px;
}

.v2157-case-detail-cleanup .tabs,
.v2157-case-detail-cleanup .case-tabs {
  margin-top: 10px;
  margin-bottom: 12px;
}

.v2157-case-detail-cleanup .tab-panel {
  padding-top: 10px;
}

.v2157-case-detail-cleanup .assignment-schedule,
.v2157-case-detail-cleanup [class*="schedule"] {
  border-radius: 18px;
}

.v2157-case-detail-cleanup .form-grid,
.v2157-case-detail-cleanup .grid {
  gap: 12px;
}

.v2157-case-detail-cleanup label {
  margin-bottom: 4px;
}

.v2157-case-detail-cleanup input,
.v2157-case-detail-cleanup select,
.v2157-case-detail-cleanup textarea {
  border-radius: 12px;
}

.v2157-case-detail-cleanup .btn-row,
.v2157-case-detail-cleanup .actions-row,
.v2157-case-detail-cleanup .button-row {
  gap: 8px;
  flex-wrap: wrap;
}

@media (max-width: 1200px) {
  .v2157-case-detail-cleanup .case-summary-strip,
  .case-summary-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .v2157-case-detail-cleanup .case-summary-strip,
  .case-summary-strip {
    grid-template-columns: 1fr;
  }

  .case-summary-item strong {
    white-space: normal;
  }
}







/* V2.15.11 Remove Case File Badges */
.v21511-case-files-simple .case-files-list-clean {
  display: grid;
  gap: 10px;
}

.v21511-case-files-simple .case-file-card-clean {
  padding: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  border-radius: 16px;
}

.v21511-case-files-simple .case-file-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.v21511-case-files-simple .case-file-card-head strong {
  display: block;
  margin-bottom: 3px;
}

.v21511-case-files-simple .case-file-card-head small {
  color: rgba(255,255,255,.62);
}

.v21511-case-files-simple .case-file-name {
  margin: 8px 0;
  font-weight: 650;
  word-break: break-word;
}

.v21511-case-files-simple .case-file-notes {
  color: rgba(255,255,255,.72);
  margin-top: 4px;
}

.v21511-case-files-simple .case-file-actions {
  margin-top: 10px;
}


/* V2.15.12 Case Notes / Action Entry Polish */
.v21512-action-polish .action-entry-heading,
.action-entry-heading,
.v21512-action-polish .action-history-heading,
.action-history-heading {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  border-radius: 16px;
  padding: 12px 14px;
  margin: 14px 0 12px;
}

.action-entry-heading h3,
.action-history-heading h3 {
  margin: 0 0 4px;
  font-size: 16px;
}

.v21512-action-polish .action-notes-polished {
  min-height: 140px !important;
  line-height: 1.5;
  resize: vertical;
}

.v21512-action-polish #investigatorWorkflowTools,
.v21512-action-polish .workflow-tools-card {
  padding: 14px;
  margin-bottom: 14px;
}

.v21512-action-polish .workflow-tools-head h3 {
  font-size: 15px;
}

.v21512-action-polish .workflow-chip-row {
  gap: 7px;
}

.v21512-action-polish .workflow-chip {
  padding: 7px 10px;
  font-size: 12px;
}

.v21512-action-polish .action-history-card-polished {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 10px;
}

.v21512-action-polish .action-date-polished {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 3px 8px;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.70);
  font-size: 11px;
  margin-bottom: 6px;
}

@media (max-width: 720px) {
  .v21512-action-polish .action-notes-polished {
    min-height: 160px !important;
  }

  .v21512-action-polish .workflow-chip-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .v21512-action-polish .workflow-chip {
    width: 100%;
    text-align: left;
  }
}


/* V2.15.13 Visible Actions Polish Fix */
.v21513-visible-actions-polish .action-entry-heading,
.v21513-visible-actions-polish .action-history-heading,
#v21513NewActionHeading,
#v21513ActionHistoryHeading {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  border-radius: 16px;
  padding: 12px 14px;
  margin: 14px 0 12px;
}

#v21513NewActionHeading h3,
#v21513ActionHistoryHeading h3 {
  margin: 0 0 4px;
  font-size: 16px;
}

.v21513-visible-actions-polish .v21513-action-textarea,
.v21513-visible-actions-polish .action-notes-polished {
  min-height: 150px !important;
  line-height: 1.5 !important;
  resize: vertical !important;
}

.v21513-visible-actions-polish .v21513-action-card {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 10px;
}

.v21513-visible-actions-polish #investigatorWorkflowTools,
.v21513-visible-actions-polish .workflow-tools-card {
  padding: 14px;
  margin-bottom: 14px;
}

.v21513-visible-actions-polish .workflow-chip {
  padding: 7px 10px;
  font-size: 12px;
}

@media (max-width: 720px) {
  .v21513-visible-actions-polish .v21513-action-textarea,
  .v21513-visible-actions-polish .action-notes-polished {
    min-height: 165px !important;
  }
}





/* V2.15.15 Remove Redundant Case Filter Panel */
.v21515-case-filter-cleanup-note {
  display: none;
}

/* V2.15.18 Exact Logo Class Fix - Portal
   Target confirmed in portal.html:
   <img class="portal-new-brand-img" src="/assets/insight-brand-portal.png">
*/
.portal-brand {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 88px !important;
  overflow: visible !important;
}

.portal-new-brand-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 78px !important;
  margin: 8px 0 20px !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}

.portal-new-brand-logo .portal-new-brand-img,
img.portal-new-brand-img {
  display: block !important;
  height: 66px !important;
  width: auto !important;
  max-width: 240px !important;
  max-height: none !important;
  object-fit: contain !important;
  opacity: 1 !important;
  transform: none !important;
  filter: drop-shadow(0 10px 22px rgba(0,0,0,.42)) !important;
}

.sidebar {
  padding-top: 18px !important;
}

@media (max-width: 900px) {
  .portal-brand {
    min-height: 76px !important;
  }

  .portal-new-brand-logo {
    min-height: 68px !important;
  }

  .portal-new-brand-logo .portal-new-brand-img,
  img.portal-new-brand-img {
    height: 58px !important;
    max-width: 210px !important;
  }
}



/* V2.15.19 Dashboard Simplification / Priority View */
.dashboard-metrics-clean {
  margin-bottom: 16px;
}

.dashboard-priority-panel,
.dashboard-recent-panel,
.dashboard-admin-panel {
  margin-bottom: 16px;
}

.today-priority-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.today-priority-head h2 {
  margin: 0 0 4px;
}

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

.priority-section {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  border-radius: 16px;
  padding: 12px;
  min-height: 150px;
}

.priority-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.priority-section-head h3 {
  margin: 0;
  font-size: 14px;
}

.priority-mini-list {
  display: grid;
  gap: 8px;
}

.priority-mini-case {
  width: 100%;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(0,0,0,.14);
  color: inherit;
  border-radius: 13px;
  padding: 9px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  text-align: left;
  cursor: pointer;
}

.priority-mini-case:hover {
  border-color: rgba(201,163,92,.42);
  background: rgba(201,163,92,.08);
}

.priority-mini-case span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.priority-mini-case strong {
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.priority-mini-case small {
  color: rgba(255,255,255,.64);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.priority-mini-case em {
  font-style: normal;
  white-space: nowrap;
  border-radius: 999px;
  padding: 4px 8px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.75);
  font-size: 11px;
  font-weight: 700;
}

.dashboard-recent-list .case-card {
  padding: 12px;
}

.dashboard-admin-grid {
  gap: 12px;
}

.dashboard-admin-grid section {
  min-height: 120px;
}

.dashboard-admin-grid h3 {
  margin-top: 0;
  font-size: 13px;
}

@media (max-width: 920px) {
  .priority-grid {
    grid-template-columns: 1fr;
  }

  .today-priority-head {
    display: grid;
  }
}

@media (max-width: 640px) {
  .priority-mini-case {
    display: grid;
  }

  .priority-mini-case strong,
  .priority-mini-case small {
    white-space: normal;
  }

  .priority-mini-case em {
    justify-self: start;
  }
}


/* V2.15.20 Case Detail Simplification / Field Grouping */
.v21520-case-detail-simplified .case-info-grouped-layout {
  display: grid;
  gap: 14px;
}

.case-info-field-group {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  border-radius: 18px;
  padding: 14px;
}

.case-info-field-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.case-info-field-group-head h3 {
  margin: 0;
  font-size: 15px;
  color: #f7f2e8;
}

.case-info-field-group-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.case-info-field-group label {
  margin: 0;
}

.case-info-field-group input,
.case-info-field-group select,
.case-info-field-group textarea {
  width: 100%;
}

.case-info-field-group textarea {
  min-height: 96px;
}

.case-info-field-group[data-v21520-group="Loss / Assignment Details"] .case-info-field-group-grid,
.case-info-field-group[data-v21520-group="Additional Details"] .case-info-field-group-grid {
  grid-template-columns: 1fr;
}

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

/* V2.15.21 Responsive Usability Cleanup
   CSS-only update. No workflow, route, database, invoice, report, or dashboard logic changes.
*/

/* Consistent desktop breathing room */
.view {
  scroll-margin-top: 16px;
}

.panel,
.card,
.metric-card,
.queue-grid section,
.case-info-field-group,
.dashboard-priority-panel,
.dashboard-recent-panel,
.dashboard-admin-panel,
.workflow-tools-card,
.billing-presets-card {
  border-radius: 18px;
}

.panel,
.card {
  margin-bottom: 16px;
}

.panel-head {
  gap: 14px;
}

/* Make buttons easier to use on desktop and in the field */
.btn,
button,
input[type="button"],
input[type="submit"] {
  min-height: 38px;
  touch-action: manipulation;
}

.btn.small,
button.small {
  min-height: 34px;
}

/* Keep primary workflow controls clear without adding new buttons */
.btn.primary {
  font-weight: 750;
}

/* Form spacing */
.form-grid {
  gap: 14px;
}

label {
  line-height: 1.35;
}

input,
select,
textarea {
  min-height: 40px;
}

textarea {
  line-height: 1.5;
}

/* Tabs: easier to tap, less cramped */
.tabs,
.case-tabs,
.tab-row {
  gap: 8px;
  flex-wrap: wrap;
}

.tabs button,
.case-tabs button,
.tab-row button,
[data-tab] {
  min-height: 40px;
  padding: 9px 12px;
}

/* Case lists and dashboard rows */
.case-list,
.entry-list,
.priority-mini-list {
  gap: 10px;
}

.case-card,
.entry,
.priority-mini-case,
.dashboard-case-row {
  border-radius: 14px;
}

/* Keep admin tools available but less visually dominant */
.admin-only,
[data-admin-only],
.admin-tools,
#adminTools,
.dashboard-admin-panel {
  opacity: .92;
}

.admin-only:hover,
[data-admin-only]:hover,
.admin-tools:hover,
#adminTools:hover,
.dashboard-admin-panel:hover,
.admin-only:focus-within,
[data-admin-only]:focus-within,
.admin-tools:focus-within,
#adminTools:focus-within,
.dashboard-admin-panel:focus-within {
  opacity: 1;
}

/* Tablet layout */
@media (max-width: 1100px) {
  .metric-grid,
  .dashboard-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .queue-grid,
  .dashboard-admin-grid,
  .priority-grid {
    grid-template-columns: 1fr;
  }

  .panel-head {
    align-items: flex-start;
  }
}

/* Field-use layout for tablets and phones */
@media (max-width: 820px) {
  body {
    -webkit-text-size-adjust: 100%;
  }

  .view {
    padding-left: 12px;
    padding-right: 12px;
  }

  .panel,
  .card,
  .metric-card,
  .case-info-field-group,
  .workflow-tools-card,
  .billing-presets-card {
    padding: 14px;
  }

  .panel-head,
  .today-priority-head,
  .case-filter-head,
  .billing-presets-head,
  .workflow-tools-head,
  .case-file-card-head {
    display: grid;
    grid-template-columns: 1fr;
  }

  .form-grid,
  .case-info-field-group-grid,
  .billing-preset-generated {
    grid-template-columns: 1fr !important;
  }

  .tabs,
  .case-tabs,
  .tab-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tabs button,
  .case-tabs button,
  .tab-row button,
  [data-tab] {
    width: 100%;
    justify-content: center;
  }

  .btn,
  button,
  input[type="button"],
  input[type="submit"] {
    min-height: 42px;
  }

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

  .priority-mini-case,
  .dashboard-case-row {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
  }

  .priority-mini-case em,
  .due-label {
    justify-self: start;
  }
}

/* Phone layout */
@media (max-width: 560px) {
  .metric-grid,
  .dashboard-metrics-clean,
  .dashboard-status-grid {
    grid-template-columns: 1fr;
  }

  .tabs,
  .case-tabs,
  .tab-row {
    grid-template-columns: 1fr;
  }

  .panel,
  .card,
  .metric-card,
  .case-info-field-group,
  .workflow-tools-card,
  .billing-presets-card {
    border-radius: 16px;
    padding: 12px;
  }

  .btn-row,
  .actions-row,
  .button-row,
  .workflow-chip-row,
  .billing-presets-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .btn-row .btn,
  .actions-row .btn,
  .button-row .btn,
  .workflow-chip,
  .billing-preset-btn {
    width: 100%;
    text-align: center;
  }

  .case-summary-strip {
    grid-template-columns: 1fr !important;
  }

  .case-summary-item strong {
    white-space: normal;
  }

  .priority-mini-case strong,
  .priority-mini-case small,
  .dashboard-case-main strong,
  .dashboard-case-main small {
    white-space: normal;
  }
}

/* V2.15.22 Admin Tools Cleanup / Role-Based Clarity
   CSS-only update. Admin tools remain available. No workflow, route, database, or logic changes.
*/

/* Make admin-only areas visually distinct but not overpowering */
.admin-only,
[data-admin-only],
.admin-tools,
#adminTools,
.dashboard-admin-panel,
#adminQueuesPanel,
.queue-grid section,
.dashboard-admin-grid section {
  border-color: rgba(201, 163, 92, .16) !important;
}

/* Admin panels should read as secondary management tools, not primary investigator workflow */
.dashboard-admin-panel,
#adminQueuesPanel,
.admin-tools,
#adminTools {
  background: linear-gradient(180deg, rgba(201,163,92,.045), rgba(255,255,255,.025)) !important;
  box-shadow: none !important;
}

/* Subtle admin section headers */
.dashboard-admin-panel .panel-head h2,
#adminQueuesPanel .panel-head h2,
.admin-tools h2,
.admin-tools h3,
#adminTools h2,
#adminTools h3 {
  letter-spacing: .01em;
}

/* Add a quiet Admin label feel without adding new DOM elements */
.dashboard-admin-panel .panel-head h2::after,
#adminQueuesPanel .panel-head h2::after,
.admin-tools h2::after,
#adminTools h2::after {
  content: "Admin";
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 3px 7px;
  border-radius: 999px;
  border: 1px solid rgba(201,163,92,.28);
  background: rgba(201,163,92,.10);
  color: rgba(255,226,166,.92);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  vertical-align: middle;
}

/* Admin queue cards: compact and scannable */
.dashboard-admin-grid,
.queue-grid {
  align-items: start;
}

.dashboard-admin-grid section,
.queue-grid section {
  padding: 12px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.032) !important;
}

.dashboard-admin-grid section h3,
.queue-grid section h3 {
  margin: 0 0 8px !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.82) !important;
}

/* Keep investigator/action areas more visually prominent than admin areas */
#investigatorWorkflowTools,
.workflow-tools-card,
.today-priority-dashboard,
.dashboard-priority-panel,
.case-info-field-group {
  opacity: 1;
}

/* Admin-only buttons should remain available but secondary */
.admin-only .btn:not(.primary),
[data-admin-only] .btn:not(.primary),
.admin-tools .btn:not(.primary),
#adminTools .btn:not(.primary),
.dashboard-admin-panel .btn:not(.primary),
#adminQueuesPanel .btn:not(.primary) {
  opacity: .88;
}

.admin-only .btn:not(.primary):hover,
[data-admin-only] .btn:not(.primary):hover,
.admin-tools .btn:not(.primary):hover,
#adminTools .btn:not(.primary):hover,
.dashboard-admin-panel .btn:not(.primary):hover,
#adminQueuesPanel .btn:not(.primary):hover {
  opacity: 1;
}

/* Better role clarity on mobile/tablet: admin blocks stack cleanly and stay readable */
@media (max-width: 900px) {
  .dashboard-admin-panel,
  #adminQueuesPanel,
  .admin-tools,
  #adminTools {
    margin-top: 14px;
  }

  .dashboard-admin-grid,
  .queue-grid {
    grid-template-columns: 1fr !important;
  }

  .dashboard-admin-grid section,
  .queue-grid section {
    min-height: auto !important;
  }
}

@media (max-width: 560px) {
  .dashboard-admin-panel .panel-head h2::after,
  #adminQueuesPanel .panel-head h2::after,
  .admin-tools h2::after,
  #adminTools h2::after {
    display: table;
    margin-left: 0;
    margin-top: 6px;
  }
}

/* V2.15.23 Case List Cleanup / Active Case View
   CSS-only update. Existing search/filter/open-case behavior remains unchanged.
*/

/* Make the cases screen read more like a clean active case list */
#casesView .case-list,
#casesView .entry-list,
#casesView [class*="case-list"] {
  display: grid;
  gap: 10px;
}

/* Case cards/rows */
#casesView .case-card,
#casesView .case-row,
#casesView .case-item,
#casesView .assignment-card,
#casesView .entry[data-case-id],
#casesView [data-case-id] {
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.035) !important;
  padding: 13px 14px !important;
  transition: border-color .14s ease, background .14s ease, transform .14s ease;
}

#casesView .case-card:hover,
#casesView .case-row:hover,
#casesView .case-item:hover,
#casesView .assignment-card:hover,
#casesView .entry[data-case-id]:hover,
#casesView [data-case-id]:hover {
  border-color: rgba(201,163,92,.38) !important;
  background: rgba(201,163,92,.07) !important;
  transform: translateY(-1px);
}

/* Make important case identifiers stand out */
#casesView .case-card strong,
#casesView .case-row strong,
#casesView .case-item strong,
#casesView .assignment-card strong,
#casesView [data-case-id] strong {
  color: #f7f2e8 !important;
  font-size: 14px !important;
  letter-spacing: .01em;
}

/* Make secondary details easier to scan */
#casesView .case-card small,
#casesView .case-row small,
#casesView .case-item small,
#casesView .assignment-card small,
#casesView [data-case-id] small,
#casesView .muted {
  color: rgba(255,255,255,.66) !important;
  line-height: 1.4;
}

/* Buttons inside case rows should be secondary unless primary */
#casesView .case-card .btn:not(.primary),
#casesView .case-row .btn:not(.primary),
#casesView .case-item .btn:not(.primary),
#casesView .assignment-card .btn:not(.primary),
#casesView [data-case-id] .btn:not(.primary) {
  min-height: 34px;
  padding: 7px 10px;
  opacity: .92;
}

/* Existing search/filter controls remain, just cleaner spacing */
#casesView input[type="search"],
#casesView input[placeholder*="Search" i],
#casesView select {
  min-height: 42px;
}

#casesView .filters,
#casesView .filter-row,
#casesView .toolbar,
#casesView .case-toolbar,
#casesView .panel-head {
  gap: 10px;
  flex-wrap: wrap;
}

/* Status/due labels or badges if already present */
#casesView .badge,
#casesView .pill,
#casesView .status,
#casesView [class*="status"],
#casesView [class*="badge"],
#casesView [class*="pill"] {
  border-radius: 999px;
}

/* Active/open cases should have a subtle left-edge cue where status classes exist */
#casesView .case-card:has(.status),
#casesView .case-row:has(.status),
#casesView .case-item:has(.status),
#casesView .assignment-card:has(.status) {
  position: relative;
}

/* Tablet/field cleanup */
@media (max-width: 900px) {
  #casesView .panel-head,
  #casesView .filters,
  #casesView .filter-row,
  #casesView .toolbar,
  #casesView .case-toolbar {
    display: grid;
    grid-template-columns: 1fr;
  }

  #casesView .case-card,
  #casesView .case-row,
  #casesView .case-item,
  #casesView .assignment-card,
  #casesView [data-case-id] {
    padding: 12px !important;
  }
}

/* Phone layout */
@media (max-width: 560px) {
  #casesView .case-card,
  #casesView .case-row,
  #casesView .case-item,
  #casesView .assignment-card,
  #casesView [data-case-id] {
    border-radius: 14px !important;
  }

  #casesView .case-card .btn,
  #casesView .case-row .btn,
  #casesView .case-item .btn,
  #casesView .assignment-card .btn,
  #casesView [data-case-id] .btn {
    width: 100%;
    margin-top: 6px;
  }

  #casesView input,
  #casesView select,
  #casesView button,
  #casesView .btn {
    width: 100%;
  }
}

/* V2.15.24 Case Info Grouping Correction */
.v21524-case-info-grouping-corrected .case-info-field-group[data-v21520-group="Adjuster / Client Information"] {
  border-color: rgba(0,142,255,.22);
}

.v21524-case-info-grouping-corrected .case-info-field-group[data-v21520-group="Subject / Insured Information"] {
  border-color: rgba(255,255,255,.12);
}

.v21524-case-info-grouping-corrected .case-info-field-group[data-v21520-group="Assignment / Scheduling"] {
  border-color: rgba(201,163,92,.26);
}

.v21524-case-info-grouping-corrected .case-info-field-group[data-v21520-group="Loss / Investigation Details"] .case-info-field-group-grid,
.v21524-case-info-grouping-corrected .case-info-field-group[data-v21520-group="Additional Case Details"] .case-info-field-group-grid {
  grid-template-columns: 1fr;
}

.manager-summary-duplicate-hidden,
.manager-summary-duplicate-hidden-wrap {
  display: none !important;
}

/* V2.15.25 Case Info Client / Claimant Separation */
.v21525-client-claimant-separated .case-info-field-group[data-v21520-group="Client / Carrier / Adjuster Information"] {
  border-color: rgba(0,142,255,.24);
}

.v21525-client-claimant-separated .case-info-field-group[data-v21520-group="Claimant / Subject / Insured Information"] {
  border-color: rgba(255,255,255,.16);
}

.v21525-client-claimant-separated .case-info-field-group[data-v21520-group="Assignment / Scheduling"] {
  border-color: rgba(201,163,92,.26);
}

.v21525-client-claimant-separated .case-info-field-group[data-v21520-group="Loss / Investigation Details"] .case-info-field-group-grid,
.v21525-client-claimant-separated .case-info-field-group[data-v21520-group="Additional Case Details"] .case-info-field-group-grid {
  grid-template-columns: 1fr;
}

.manager-summary-duplicate-hidden,
.manager-summary-duplicate-hidden-wrap {
  display: none !important;
}

/* V2.15.26 Assignment Instructions / Objectives Cleanup */
.v21526-assignment-instructions-cleanup .case-info-field-group[data-v21520-group="Assignment Instructions / Objectives"] {
  border-color: rgba(201,163,92,.34);
  background: linear-gradient(180deg, rgba(201,163,92,.07), rgba(255,255,255,.025));
}

.v21526-assignment-instructions-cleanup .case-info-field-group[data-v21520-group="Assignment Instructions / Objectives"] .case-info-field-group-head h3::after {
  content: "Investigator Focus";
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 3px 7px;
  border-radius: 999px;
  border: 1px solid rgba(201,163,92,.28);
  background: rgba(201,163,92,.10);
  color: rgba(255,226,166,.92);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  vertical-align: middle;
}

.v21526-assignment-instructions-cleanup .case-info-field-group[data-v21520-group="Assignment Instructions / Objectives"] .case-info-field-group-grid,
.v21526-assignment-instructions-cleanup .case-info-field-group[data-v21520-group="Loss / Investigation Details"] .case-info-field-group-grid,
.v21526-assignment-instructions-cleanup .case-info-field-group[data-v21520-group="Additional Case Details"] .case-info-field-group-grid {
  grid-template-columns: 1fr;
}

.v21526-assignment-instructions-cleanup .case-info-field-group[data-v21520-group="Assignment Instructions / Objectives"] textarea {
  min-height: 130px;
}

@media (max-width: 560px) {
  .v21526-assignment-instructions-cleanup .case-info-field-group[data-v21520-group="Assignment Instructions / Objectives"] .case-info-field-group-head h3::after {
    display: table;
    margin-left: 0;
    margin-top: 6px;
  }
}

/* V2.15.27 Action Upload Foundation + Simple Videos/Audio Tabs */
.action-media-upload-section {
  border-color: rgba(201,163,92,.24);
  background: linear-gradient(180deg, rgba(201,163,92,.055), rgba(255,255,255,.025));
}

.simple-media-section {
  margin-top: 0;
}

.simple-media-list {
  display: grid;
  gap: 12px;
}

.simple-media-card {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  border-radius: 18px;
  padding: 14px;
}

.simple-media-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.simple-media-head strong {
  display: block;
  color: #f7f2e8;
  margin-bottom: 3px;
  word-break: break-word;
}

.simple-media-head small {
  color: rgba(255,255,255,.62);
}

.media-badge-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.video-type-badge,
.audio-type-badge,
.audio-status-badge {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.76);
}

.video-type-badge.claimant {
  border-color: rgba(231,76,60,.40);
  background: rgba(231,76,60,.15);
  color: #ffcbc5;
}

.video-type-badge.integrity {
  border-color: rgba(201,163,92,.38);
  background: rgba(201,163,92,.12);
  color: #ffe2a6;
}

.audio-type-badge {
  border-color: rgba(155,110,255,.34);
  background: rgba(155,110,255,.13);
  color: #d7c8ff;
}

.audio-status-badge {
  border-color: rgba(67,181,129,.32);
  background: rgba(67,181,129,.12);
  color: #b9ebcf;
}

.audio-status-badge.pending {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.72);
}

.audio-status-badge.warning {
  border-color: rgba(231,76,60,.42);
  background: rgba(231,76,60,.14);
  color: #ffcbc5;
}

.case-video-player,
.case-audio-player {
  width: 100%;
  display: block;
  margin: 10px 0 12px;
  border-radius: 12px;
  background: #050505;
}

.case-video-player {
  max-height: 520px;
}

@media (max-width: 760px) {
  .simple-media-head {
    display: grid;
  }

  .media-badge-row {
    justify-content: flex-start;
  }
}

/* V2.15.28 Media Photo Tab + Report Photograph Pull */
.media-photo-section {
  border-color: rgba(201,163,92,.24);
}

.media-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.media-photo-card {
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  border-radius: 18px;
  overflow: hidden;
}

.media-photo-card img {
  width: 100%;
  height: 260px;
  object-fit: contain;
  background: rgba(0,0,0,.25);
  display: block;
}

.media-photo-meta {
  padding: 12px;
}

.media-photo-meta strong {
  display: block;
  color: #f7f2e8;
  margin-bottom: 3px;
}

.media-photo-meta small {
  display: block;
  color: rgba(255,255,255,.62);
  word-break: break-word;
}

.media-photo-meta p {
  margin: 8px 0 10px;
  color: rgba(255,255,255,.80);
}

@media (max-width: 840px) {
  .media-photo-grid {
    grid-template-columns: 1fr;
  }

  .media-photo-card img {
    height: auto;
    max-height: 420px;
  }
}

/* V2.15.29 Admin Video Still Frame Capture */
.btn.gold,
button.gold {
  border-color: rgba(201,163,92,.42) !important;
  background: rgba(201,163,92,.14) !important;
  color: #ffe2a6 !important;
}

.btn.gold:hover,
button.gold:hover {
  background: rgba(201,163,92,.22) !important;
}

.simple-media-card.video-card .inline-actions {
  gap: 8px;
  flex-wrap: wrap;
}

@media (max-width: 560px) {
  .simple-media-card.video-card .inline-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .simple-media-card.video-card .inline-actions .btn,
  .simple-media-card.video-card .inline-actions button {
    width: 100%;
  }
}

/* V2.15.31 Private Audio Client Page */
.btn.danger, button.danger { border-color: rgba(231,76,60,.42) !important; background: rgba(231,76,60,.12) !important; color: #ffcbc5 !important; }
.btn.danger:hover, button.danger:hover { background: rgba(231,76,60,.20) !important; }
.simple-media-card.audio-card .inline-actions { gap: 8px; flex-wrap: wrap; }
@media (max-width: 560px) { .simple-media-card.audio-card .inline-actions { display: grid; grid-template-columns: 1fr; } .simple-media-card.audio-card .inline-actions .btn, .simple-media-card.audio-card .inline-actions button { width: 100%; } }

