/* Shared task-oriented UI, layered over the existing CT brand. */
:root { --muted-2: #91a39b; }
[data-theme="light"] { --muted-2: #506258; }
.panel-help,.context-note,.kpi-card small,.client-metrics dt { font-size: .84rem; line-height: 1.55; }
button:focus-visible,summary:focus-visible,a:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
textarea { font: inherit; line-height: 1.6; }
.active-filter-context { margin: 0; align-self: start; font-size: .8rem; color: var(--muted); }
.inline-filters,.work-filters form,.billing-controls,.inline-range { display:flex; gap:1rem; flex-wrap:wrap; align-items:end; }
.inline-filters { padding:1rem 1.5rem; border-bottom:1px solid var(--border); }
.inline-filters label,.work-filters label,.billing-controls label,.inline-range label { display:grid; gap:.4rem; font-size:.85rem; color:var(--muted); }
.inline-filters input,.inline-filters select,.work-filters input,.work-filters select,.billing-controls input,.billing-controls select { min-width:150px; padding:.75rem; border:1px solid var(--border); border-radius:10px; color:var(--text); background:var(--surface); }
.inline-filters input:focus,.work-filters input:focus,.billing-controls input:focus { outline:2px solid var(--green); }
.advanced-filters { align-self:end; min-width:150px; }
.advanced-filters summary,.technical-details summary,.summary-more>summary,.patient-report>summary,.technical-export summary { cursor:pointer; color:var(--text); padding:.8rem; border-radius:8px; background:var(--surface-2); font-size:.9rem; }
.advanced-filter-fields { display:flex; flex-wrap:wrap; gap:1rem; padding:1rem 0; }
.advanced-filters[open] { flex-basis:100%; }
.filters-form { display:flex; flex-wrap:wrap; align-items:end; }
.filters-form>label { min-width:160px; flex:1 1 170px; }
.select-search { display:block; width:100%; min-width:0; margin-bottom:.3rem; font-size:.8rem; padding:.45rem .6rem; background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:6px; }
.technical-export { position:relative; }
.technical-export[open] button { display:block; position:absolute; top:100%; right:0; z-index:3; min-width:160px; }
.clinic-switcher { display:grid; gap:.3rem; max-width:220px; font-size:.75rem; color:var(--muted); }
.clinic-switcher select { width:100%; padding:.55rem; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); }
.summary-more { margin:.7rem 0 1rem; }
.summary-more>.panel,.summary-more>.kpi-grid { padding:1.25rem; margin:.3rem 0 0; }
.evolution-strip { margin:0 0 .6rem; padding:0; }
.evolution-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.evolution-metric { display:flex; flex-direction:column; align-items:center; text-align:center; min-width:0; padding:.75rem 1rem; border:1px solid var(--border-soft); border-radius:12px; background:rgba(17,23,28,.65); }
html[data-theme="light"] .evolution-metric { background:rgba(255,255,255,.78); }
.evolution-label,.evolution-before { color:var(--muted); font-size:.8rem; }
.evolution-value { margin:.3rem 0; font-size:1.7rem; line-height:1.25; font-variant-numeric:tabular-nums; }
.evolution-change { margin-top:.3rem; font-size:.8rem; }
.evolution-change.positive { color:var(--green); }
.evolution-change.negative { color:var(--coral); }
.evolution-footer { position:relative; display:flex; align-items:center; justify-content:center; gap:.7rem; margin-top:1.2rem; color:var(--muted); font-size:.75rem; }
.comparison-help { flex-shrink:0; }
.comparison-help>summary { display:grid; place-items:center; height:25px; width:25px; border:1px solid var(--border); border-radius:50%; background:var(--surface); color:var(--muted); cursor:pointer; list-style:none; font-size:.8rem; }
.comparison-help>summary::-webkit-details-marker { display:none; }
.comparison-help[open]>summary,.comparison-help>summary:hover { border-color:var(--green); color:var(--green); }
.comparison-help-content { position:absolute; z-index:12; top:calc(100% + .5rem); left:50%; transform:translateX(-50%); width:min(38rem,100%); max-height:60vh; overflow-y:auto; padding:1.1rem; border:1px solid var(--border); border-radius:12px; background:var(--surface); box-shadow:var(--shadow); color:var(--text); font-size:.82rem; line-height:1.55; }
.comparison-help-content h4 { margin:0 0 .7rem; font-size:.9rem; }
.comparison-help-content p { margin:.7rem 0; color:var(--muted); }
.comparison-help-content dl { margin:0; }
.comparison-help-content dt { font-weight:700; margin:.7rem 0 .15rem; }
.comparison-help-content dd { margin:0; color:var(--muted); }
@media(max-width:950px) {
  .evolution-label { min-height:2.5em; }
}
@media(max-width:600px) {
  .evolution-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(pointer:coarse) { .comparison-help>summary { height:44px; width:44px; } }
.metric-drill { border:0; background:none; padding:.5rem 0 0; text-align:left; font-size:.8rem; color:var(--green); cursor:pointer; }
#kpi-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
#kpi-grid .kpi-card { display:flex; flex-direction:column; }
#kpi-grid .metric-drill { margin-top:auto; padding-top:.6rem; }
.result-badge.eva-consultation_resolved { background:rgba(77,190,230,.17); color:#7cdbff; }
[data-theme="light"] .result-badge.eva-consultation_resolved { background:#d9f0fb; color:#075b79; }
#eva-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
#eva-costs { max-width:70ch; }
.work-filters { padding:1.2rem; margin-bottom:0; }
#patient-work-summary { margin:.35rem 0; }
.work-filters form>label { flex:1 1 145px; }
.work-filters input,.work-filters select { width:100%; min-width:0; }
.patient-report { margin-bottom:1rem; }
.patient-report .patient-kpis { margin-top:0; }
.patients-table { min-width:1260px; }
.patients-table td { vertical-align:middle; }
.patients-table .patient-comment { width:100%; min-width:190px; max-width:280px; }
.patients-table .patient-actions { gap:.4rem; }
.patient-work-actions { margin-top:.5rem; flex-wrap:wrap; }
.patient-owner,.retry-note,.repeat-note { display:block; font-size:.8rem; color:var(--muted); margin-top:.4rem; }
.retry-note.due { color:var(--amber); font-weight:600; }
.repeat-note { color:var(--blue); }
.retry-form { display:flex; flex-wrap:wrap; align-items:end; gap:.5rem; margin-top:1rem; }
.retry-form label { display:grid; gap:.4rem; }
.retry-form input { background:var(--surface); color:var(--text); padding:.65rem; border:1px solid var(--border); border-radius:8px; }
.patient-work-detail>.patient-owner { font-size:1rem; color:var(--text); }
.detail-content .patient-comment { display:block; width:100%; min-height:140px; resize:vertical; }
.history-mini-row { display:flex; flex-wrap:wrap; gap:.65rem; justify-content:space-between; width:100%; text-align:left; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); padding:.85rem; margin-bottom:.5rem; cursor:pointer; }
.history-mini-row span { font-size:.85rem; color:var(--muted); }
.board-card .patient-actions { margin-top:.75rem; }
.section-tabs { display:flex; gap:.3rem; border-bottom:1px solid var(--border); margin:0 0 1.25rem; }
.section-tabs button { background:transparent; border:0; border-bottom:3px solid transparent; padding:1rem 1.3rem; cursor:pointer; color:var(--muted); }
.section-tabs button[aria-current="page"] { border-bottom-color:var(--green); color:var(--green); font-weight:700; }
.wa-overview { grid-template-columns:minmax(0,1fr) minmax(260px,320px); align-items:start; }
.wa-cost-card { padding:1.5rem !important; min-height:0; display:flex; flex-direction:column; gap:.8rem; }
.wa-cost-card>* { margin:0; overflow-wrap:anywhere; }
.wa-cost-card strong { font-size:1.7rem; }
#wa-metrics { grid-template-columns:repeat(3,minmax(0,1fr)); }
#wa-technical-metrics { padding:1rem 0; grid-template-columns:repeat(4,minmax(0,1fr)); }
.wa-section #wa-connection { padding:1rem 1.25rem; border:1px solid var(--border); border-left:3px solid var(--amber); border-radius:10px; background:var(--surface); color:var(--text); }
.wa-section #wa-connection[data-ready="true"] { border-left-color:var(--blue); }
.wa-workspace { margin-top:0; }
.wa-detail-header { position:sticky; top:0; z-index:2; background:var(--surface); }
.wa-owner-note { font-weight:600; color:var(--green); }
.wa-session-closed-note { border:1px solid var(--border); background:var(--surface-2); padding:.8rem; border-radius:8px; }
.admin-clinics { display:block; }
.admin-client { display:grid; grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) minmax(220px,auto); gap:1rem 1.5rem; padding:1.3rem; margin-bottom:.7rem; align-items:center; }
.admin-client>header { margin:0; }
.admin-client .client-compact-state { display:grid; gap:.4rem; }
.admin-client .client-compact-state p { margin:0; }
.admin-client .client-modules { display:flex; flex-wrap:wrap; gap:.35rem; grid-column:1/3; }
.module-chip { font-size:.75rem; padding:.25rem .5rem; border:1px solid var(--border); border-radius:6px; color:var(--muted); }
.admin-client>footer { grid-column:3; grid-row:1/3; margin:0; border:0; padding:0; display:flex; gap:.6rem; flex-wrap:wrap; justify-content:end; align-items:center; }
.client-more { grid-column:1/-1; }
.client-more>summary { cursor:pointer; color:var(--muted); font-size:.84rem; }
.client-more[open] { padding-top:1rem; border-top:1px solid var(--border); }
.client-more .client-metrics { margin-top:1rem; }
.user-access-summary { font-size:.8rem; color:var(--muted); max-width:70ch; line-height:1.6; margin:.4rem 0 0; }
.permission-templates { padding:.8rem; display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; }
.permission-templates>span { font-size:.85rem; }
.permission-templates p { flex-basis:100%; margin:0; }
.permission-picker .permission-options { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.admin-dialog.clinic-config-dialog { width:calc(100vw - 3rem); max-width:1480px; height:calc(100dvh - 3rem); max-height:calc(100dvh - 3rem); padding:0; overflow:hidden; }
.clinic-config-dialog>header { position:relative; padding:1.1rem 1.5rem; margin:0; border-bottom:1px solid var(--border); background:var(--surface); }
.clinic-config-dialog>header h2 { font-size:1.2rem; }
.clinic-config-dialog #admin-dialog-body { height:calc(100% - 78px); display:grid; grid-template-columns:200px minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; }
.config-nav { padding:1.2rem .7rem; border-right:1px solid var(--border); display:flex; flex-direction:column; gap:.35rem; overflow:auto; background:var(--surface); }
.config-nav button { background:none; border:1px solid transparent; border-radius:8px; padding:.9rem; text-align:left; color:var(--muted); cursor:pointer; }
.config-nav button[aria-current="page"] { color:var(--green); background:var(--green-soft); border-color:var(--border); }
.config-nav button.has-changes::after { content:" ●"; color:var(--amber); }
.config-content { padding:1.5rem 2rem 3rem; overflow:auto; min-width:0; }
.config-section-title { margin:0 0 1.5rem; }
.config-section .setup-instructions { margin:0 0 1.5rem; padding:1.3rem; }
.config-section .setup-instructions>h3 { display:none; }
.config-section .admin-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.config-section .admin-form>p,.config-section .admin-form>button,.config-section .admin-form>.module-switch,.config-section .admin-form>.eva-secret,.config-section .admin-form>.wa-settings-grid,.config-section .admin-form>label:has(textarea),.config-section .admin-form>.config-field:has(textarea),.config-section .admin-form>div:has(#wa-config-clinic_info) { grid-column:1/-1; }
.config-section .admin-form>button { justify-self:start; min-width:210px; }
.config-section textarea.patient-comment,.config-section textarea { display:block; width:100%; max-width:none; min-height:180px; resize:vertical; padding:1rem; font-size:.95rem; border-radius:10px; border:1px solid var(--border); background:var(--bg); color:var(--text); }
.config-section #wa-config-clinic_info { min-height:320px; }
.config-field { position:relative; min-width:0; }
.config-field>label { display:grid; gap:.5rem; width:100%; }
.config-field>label:first-child { padding-top:0; }
.config-field>label input:not([type="checkbox"]),.config-field>label select { width:100%; min-width:0; }
.config-field>.field-help { position:absolute; top:-.25rem; right:0; margin:0; }
.config-field>label { padding-right:0; }
.config-field>label::first-line { padding-right:30px; }
.field-help summary { width:23px; height:23px; line-height:21px; display:block; text-align:center; border:1px solid var(--muted); border-radius:50%; font-size:.85rem; cursor:pointer; color:var(--blue); background:var(--surface); list-style:none; }
.field-help summary::-webkit-details-marker { display:none; }
.field-help[open] { position:static; margin-top:.5rem; }
.field-help[open]>summary { position:absolute; right:0; top:-.25rem; }
.field-help .help-body { padding:.9rem; margin:.4rem 0 0; border:1px solid var(--border); border-radius:8px; background:var(--surface-3); line-height:1.6; font-size:.86rem; color:var(--text); width:auto; position:static; box-shadow:none; }
.config-footer { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.5rem; background:var(--surface); border-top:1px solid var(--border); }
.config-footer span { color:var(--muted); font-size:.85rem; }
.clinic-config-dialog #admin-dialog-error:not(:empty) { position:absolute; bottom:75px; left:215px; right:1rem; padding:.8rem; background:var(--surface); border:1px solid var(--red); border-radius:8px; z-index:4; }
.setup-guide { padding:1rem; border:1px solid var(--border); border-radius:10px; margin-bottom:1.5rem; }
.setup-guide summary { color:var(--green); font-weight:600; cursor:pointer; }
.setup-guide li { margin:.65rem 0; line-height:1.5; }
.setup-guide p { font-size:.85rem; color:var(--muted); }
.wa-settings-grid { gap:1.4rem; }
.config-field:has(.module-switch) { grid-column:1/-1; }
.config-field .module-switch { display:flex; }
.wa-setup-status { display:grid; gap:.4rem; }
@media (max-width:1100px) {
  #kpi-grid,#eva-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wa-overview { grid-template-columns:1fr; }
  .wa-cost-card { max-width:none; }
  .admin-client { grid-template-columns:1fr 1fr; }
  .admin-client>footer { grid-column:2; grid-row:2; }
  .admin-client .client-modules { grid-column:1; }
  .clinic-config-dialog #admin-dialog-body { grid-template-columns:170px minmax(0,1fr); }
  .config-content { padding:1.2rem; }
}
@media (max-width:760px) {
  .clinic-pill { display:none; }
  .clinic-switcher { max-width:160px; }
  .admin-dialog.clinic-config-dialog { width:calc(100vw - 1rem); height:calc(100dvh - 1rem); max-height:calc(100dvh - 1rem); }
  .clinic-config-dialog #admin-dialog-body { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr) auto; height:calc(100% - 78px); }
  .config-nav { flex-direction:row; overflow:auto; padding:.5rem; border-right:0; border-bottom:1px solid var(--border); }
  .config-nav button { white-space:nowrap; padding:.65rem; }
  .config-content { padding:1rem; }
  .config-section .admin-form,.wa-settings-grid { grid-template-columns:1fr; }
  .config-footer { padding:.75rem; }
  .config-footer .primary-button { min-width:0; }
  .clinic-config-dialog #admin-dialog-error:not(:empty) { left:1rem; bottom:85px; }
  .admin-client { grid-template-columns:1fr; }
  .admin-client>footer,.admin-client .client-modules { grid-column:auto; grid-row:auto; justify-content:start; }
  #wa-metrics,#wa-technical-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .billing-controls { width:100%; }
  .eva-value .panel-heading { align-items:start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; } }

.config-discard-confirm { position:absolute; z-index:10; inset:auto 1rem 1rem; padding:1.3rem; border:1px solid var(--amber); border-radius:12px; background:var(--surface-3); box-shadow:var(--shadow); }
.config-discard-confirm p { color:var(--muted); }
.config-discard-confirm>div { display:flex; gap:.7rem; flex-wrap:wrap; }

.work-history {display:grid;gap:1rem;padding-left:1.4rem}.work-history li span,.work-history li small {display:block;color:var(--muted);font-size:.8rem;margin-top:.3rem}

/* Shared action rows use equal button boxes, independent of their visual emphasis. */
:is(.attention-actions,.admin-client>footer,.report-actions,.admin-toolbar,.admin-user-actions,.config-footer,.eva-secret-controls,.wa-secret-controls,.config-discard-confirm>div) > :is(button,a),
.patient-actions > :is(button,a),.patient-actions .work-buttons>button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; margin-top:0; padding:.6rem .85rem; line-height:1.2; }
#create-user-form { align-items:start; }
#create-user-form > label { align-self:start; min-width:0; align-content:start; }
#create-user-form > label :is(input,select) { width:100%; height:44px; min-height:44px; }
#create-permissions { grid-column:1/-1; min-width:0; }
#create-user-form > button { grid-column:1/-1; justify-self:end; min-width:180px; margin:0; padding:.75rem 1.25rem; }
#patient-filter-form { display:grid; grid-template-columns:repeat(6,minmax(130px,1fr)) auto auto; align-items:end; gap:1rem; }
#patient-filter-form label { min-width:0; width:auto; align-self:start; }
#patient-filter-form :is(input,select,button) { height:44px; min-height:44px; margin:0; }
#patient-filter-form button { padding:0 1rem; }
#period-panel { align-items:center; }
@media(max-width:1350px) {
  #kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:1550px) {
  #patient-filter-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
  #kpi-grid,#patient-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #patient-filter-form button { min-width:0; }
}

/* Stable geometry for repeated controls and explicit, shared ownership cues. */
.period-selector { display:flex; flex-direction:column; align-items:flex-start; gap:.55rem; }
.period-selector .active-filter-context { padding-left:1rem; }
.nav-icon,.nav-count { flex-shrink:0; }
.nav-count { display:inline-flex; align-items:center; justify-content:center; min-width:30px; min-height:22px; padding:.15rem .5rem; line-height:1; font-variant-numeric:tabular-nums; }
.config-discard-confirm>div { align-items:center; }
.clinic-switcher { position:relative; min-width:145px; }
.clinic-switcher summary { list-style:none; cursor:pointer; }
.clinic-switcher summary::-webkit-details-marker { display:none; }
.clinic-switch-button { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:.3rem; padding:.65rem .8rem; border:1px solid var(--border); border-radius:9px; color:var(--text); background:var(--surface); }
.clinic-switch-button strong { font-size:.8rem; font-weight:600; }
.clinic-switch-options { position:absolute; top:calc(100% + .4rem); right:0; z-index:30; width:max-content; min-width:100%; max-width:min(300px,85vw); max-height:45vh; overflow-y:auto; padding:.35rem; border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow); background:var(--surface); }
.clinic-switch-options button { display:block; width:100%; text-align:left; padding:.75rem; margin:0; border:0; border-radius:7px; background:transparent; color:var(--text); cursor:pointer; }
.clinic-switch-options button:hover,.clinic-switch-options button[aria-current="true"] { background:var(--green-soft); color:var(--green); }
#kpi-grid .kpi-card { --metric-rgb:32,217,147; background:linear-gradient(145deg,rgba(var(--metric-rgb),.11),#10171a 65%); }
#kpi-grid .kpi-card:has(#kpi-unattended) { --metric-rgb:255,143,122; }
#kpi-grid .kpi-card:has(#kpi-patients) { --metric-rgb:255,189,89; }
html[data-theme="light"] #kpi-grid .kpi-card { background:linear-gradient(145deg,rgba(var(--metric-rgb),.12),#fff 68%); }
.patient-actions .work-buttons { display:contents; }
.patients-table .patient-actions { flex-wrap:nowrap; }
.patient-history-arrow { flex:0 0 28px; margin:0; }
.patient-actions>.patient-history-arrow { min-height:28px; height:28px; width:28px; padding:0; margin-left:auto; }
.patients-table td:last-child { width:46px; padding-left:.25rem; padding-right:.8rem; }
.patient-row.work-mine,.board-card.work-mine { background:#15352e; }
.patient-row.work-other,.board-card.work-other { background:#1c2e40; }
.patient-row.work-mine:hover,.board-card.work-mine:hover { background:#1a4036; }
.patient-row.work-other:hover,.board-card.work-other:hover { background:#22384e; }
.work-mine .patient-owner { color:#8be6bc; font-weight:600; }
.work-other .patient-owner { color:#abd5ff; font-weight:600; }
.patient-actions .release-assignment { color:#a8f4d1; border-color:#459c7a; background:#204e3e; font-weight:600; }
.patient-actions .release-assignment:hover { background:#2b624e; }
.work-legend { display:flex; flex-wrap:wrap; align-items:center; gap:1.3rem; color:var(--muted); font-size:.8rem; }
.work-legend .legend-mine::before,.work-legend .legend-other::before { content:""; display:inline-block; width:.7rem; height:.7rem; margin-right:.45rem; border-radius:3px; background:#8be6bc; }
.work-legend .legend-other::before { background:#abd5ff; }
#work-sync-status { margin-left:auto; }
.patient-reminder { margin-top:.4rem; font-size:.8rem; }
.patient-reminder summary { cursor:pointer; color:var(--muted); }
.patient-reminder .retry-form { margin-top:.6rem; }
.resolved-paging { display:flex; align-items:center; justify-content:center; gap:.7rem; margin-top:.7rem; }
html[data-theme="light"] .patient-row.work-mine,html[data-theme="light"] .board-card.work-mine { background:#e0f4e9; }
html[data-theme="light"] .patient-row.work-other,html[data-theme="light"] .board-card.work-other { background:#e4effb; }
html[data-theme="light"] .work-mine .patient-owner { color:#146346; }
html[data-theme="light"] .work-other .patient-owner { color:#235581; }
html[data-theme="light"] .patient-actions .release-assignment { color:#145337; border-color:#5fa788; background:#ceebdb; }

.calendar-time-controls { margin-top:.75rem; padding-top:.75rem; border-top:1px solid var(--border); }
.calendar-selected-date { display:block; font-size:.85rem; text-align:center; margin-bottom:.65rem; }
.calendar-time-fields { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.calendar-time-fields label { display:grid; gap:.3rem; font-size:.8rem; color:var(--muted); }
.calendar-time-fields input { width:100%; min-width:0; height:40px; padding:.5rem; border:1px solid var(--border); border-radius:8px; text-align:center; background:var(--surface-2); color:var(--text); font:inherit; }
.calendar-popover .calendar-apply { width:100%; margin-top:.75rem; padding:.6rem; background:var(--green); color:#04231b; font-weight:700; }
.calendar-error { color:var(--red); font-size:.8rem; margin:.5rem 0 0; }
.calendar-error:empty { display:none; }
.clinic-switcher summary { border-radius:9px; }

/* A due reminder takes priority over the ownership tint; labels retain the owner. */
.patient-row.work-due,.board-card.work-due { background:#443522; box-shadow:inset 3px 0 var(--amber); }
.patient-row.work-due:hover,.board-card.work-due:hover { background:#514029; }
html[data-theme="light"] .patient-row.work-due,html[data-theme="light"] .board-card.work-due { background:#fff0d8; }
#reminder-notifications { position:fixed; right:1.25rem; bottom:1.25rem; z-index:75; display:grid; gap:.75rem; width:min(370px,calc(100vw - 2rem)); max-height:80vh; overflow-y:auto; }
.reminder-toast { position:relative; padding:1.15rem; border:1px solid var(--amber); border-left-width:4px; border-radius:12px; background:var(--surface); color:var(--text); box-shadow:0 10px 30px #0005; animation:reminder-arrives .18s ease-out; }
.reminder-toast>strong { display:block; padding-right:1.5rem; line-height:1.45; }
.reminder-toast p { color:var(--muted); font-size:.85rem; line-height:1.5; }
.reminder-toast p span { display:block; margin-top:.35rem; }
.reminder-dismiss { position:absolute; right:.4rem; top:.4rem; width:32px; height:32px; background:transparent; color:var(--muted); border:0; border-radius:7px; font-size:1.4rem; cursor:pointer; }
.reminder-open { display:flex; align-items:center; justify-content:center; min-height:40px; width:100%; margin:0; }
@keyframes reminder-arrives { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .reminder-toast { animation:none; } }

.work-history-order { margin-top:0; margin-bottom:1.2rem; }
.work-history-timeline .timeline-step { min-height:94px; padding-bottom:1.25rem; }
.work-history-timeline .timeline-copy { min-width:0; line-height:1.55; }
.work-history-timeline .work-history-description { margin-top:.35rem; color:var(--text); font-size:.84rem; }
.work-history-timeline .work-history-target { display:block; margin-top:.55rem; padding:.5rem .65rem; border-radius:8px; background:var(--green-soft); color:var(--green); font-size:.84rem; }
.work-history-timeline .work-history-previous { margin-top:.4rem; font-size:.8rem; }
.work-history-timeline time { display:block; margin-top:.55rem; color:var(--muted); font-size:.76rem; }
.work-event-release .timeline-dot,.work-event-removed .timeline-dot { color:var(--muted); background:var(--surface-2); border-color:var(--border); }

/* Explanations stay available without occupying the summary cards. */
.cost-card { position:relative; }
.cost-card .kpi-top { padding-right:2rem; }
.cost-help { position:static; }
.cost-help summary { position:absolute; top:1rem; right:1rem; z-index:5; display:flex; align-items:center; justify-content:center; width:25px; height:25px; border:1px solid var(--muted); border-radius:50%; color:var(--blue); background:var(--surface); font-size:.85rem; line-height:1; cursor:pointer; list-style:none; }
.cost-help summary::-webkit-details-marker { display:none; }
.cost-help[open] summary { color:var(--green); border-color:var(--green); }
.cost-help>p { position:absolute; top:3rem; right:1rem; z-index:6; width:min(34rem,calc(100% - 2rem)); max-height:50vh; overflow-y:auto; margin:0; padding:1rem; border:1px solid var(--border); border-radius:10px; background:var(--surface-2); color:var(--text); box-shadow:0 12px 32px #0004; }
.patient-report-help { color:var(--muted); margin:.75rem 0 0; }
#patient-filter-form>label[hidden] { display:none; }
