/* Prime Lab Admin v0.69 — protected refinements layered over v0.68. */
:root {
  --ui-accent: #d7b56d;
  --ui-accent-rgb: 215,181,109;
  --ui-accent-soft: rgba(215,181,109,.13);
  --ui-accent-line: rgba(215,181,109,.46);
  --ui-accent-text: #f3dca4;
}

body[data-accent="orange"] { --ui-accent:#d7b56d;--ui-accent-rgb:215,181,109;--ui-accent-text:#f3dca4; }
body[data-accent="blue"] { --ui-accent:#74aee8;--ui-accent-rgb:116,174,232;--ui-accent-text:#bddcff; }
body[data-accent="mint"] { --ui-accent:#69c7ae;--ui-accent-rgb:105,199,174;--ui-accent-text:#b9f0df; }
body[data-accent="purple"] { --ui-accent:#a78ae0;--ui-accent-rgb:167,138,224;--ui-accent-text:#d7c8f5; }

body {
  --ui-accent-soft: rgba(var(--ui-accent-rgb),.13);
  --ui-accent-line: rgba(var(--ui-accent-rgb),.46);
}

.toast.info { border-left-color:var(--ui-accent)!important; }
.invoice-document-actions button:disabled { opacity:.4;cursor:not-allowed;filter:none!important; }

/* Readability changes requested in the v0.69 revision notes. */
.case-title-line h2,
.summary-toolbar h2 { font-size:16px!important;line-height:1.2!important;letter-spacing:.015em!important; }
.case-number,
#invoiceNoLabel { font-size:11px!important; }
.clinic .cn strong { font-size:12.6px!important; }
.summary-context .account-pill strong,
.invoice-patient-line strong { font-size:13.2px!important; }
.field>label,
.service-field>label,
.case-notes label>span:first-child { font-size:10.4px!important; }

/* Work, implant and shade now speak one visual language. */
#workToggle,
#implantToggle,
#shadeSelection {
  min-height:42px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:10px!important;
  background:#111419!important;
  color:#9298a1!important;
  font-size:12px!important;
  font-weight:650!important;
  box-shadow:none!important;
}
#workToggle:hover,
#implantToggle:hover,
#shadeSelection:hover,
#workToggle:focus-visible,
#implantToggle:focus-visible,
#shadeSelection:focus-visible,
#workToggle[aria-expanded="true"],
#implantToggle[aria-expanded="true"],
#shadeSelection[aria-expanded="true"] {
  border-color:var(--ui-accent-line)!important;
  box-shadow:0 0 0 2px rgba(var(--ui-accent-rgb),.10)!important;
  color:var(--ui-accent-text)!important;
  outline:none!important;
}
#workToggle.has-value,
#implantToggle.has-value,
#shadeSelection.has-value { color:#f3f3f1!important;font-weight:760!important; }
body[data-theme="light"] #workToggle,
body[data-theme="light"] #implantToggle,
body[data-theme="light"] #shadeSelection { background:#fff!important;border-color:#d5d0c7!important;color:#8a8d92!important; }
body[data-theme="light"] #workToggle.has-value,
body[data-theme="light"] #implantToggle.has-value,
body[data-theme="light"] #shadeSelection.has-value { color:#292b2f!important; }

/* The semantic dental colors remain fixed and do not follow the accent picker. */
.tooth.work-standard,.slip-chart-cell.kind-standard { --semantic:#d7b56d;--semantic-rgb:215,181,109; }
.tooth.work-implant,.slip-chart-cell.kind-implant { --semantic:#c95c57;--semantic-rgb:201,92,87; }
.tooth.work-ceramic,.slip-chart-cell.kind-ceramic { --semantic:#9d6ac4;--semantic-rgb:157,106,196; }
.tooth.work-metal,.slip-chart-cell.kind-metal { --semantic:#8a929c;--semantic-rgb:138,146,156; }

/* Softer, rounded work marker — it fades into the card instead of drawing a bracket. */
.work-item::before {
  width:5px!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,transparent 0%,var(--work-color,#d7b56d) 22%,var(--work-color,#d7b56d) 70%,transparent 100%)!important;
  opacity:.9!important;
}

/* Invoice workflow: explicit Save / Open / Send actions. */
.invoice-document-actions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px; }
.invoice-document-actions button,
.document-open-button,
.statement-delivery-actions button {
  min-height:40px;border:1px solid var(--ui-accent-line);border-radius:10px;
  background:linear-gradient(180deg,rgba(var(--ui-accent-rgb),.055),rgba(var(--ui-accent-rgb),.16));
  color:var(--ui-accent-text);font-size:10.5px;font-weight:850;letter-spacing:.025em;
}
.invoice-document-actions button:hover,
.document-open-button:hover,
.statement-delivery-actions button:hover { border-color:rgba(var(--ui-accent-rgb),.72);filter:brightness(1.07); }
body[data-theme="light"] .invoice-document-actions button,
body[data-theme="light"] .document-open-button,
body[data-theme="light"] .statement-delivery-actions button { background:linear-gradient(180deg,#fffdf8,#f1e5ce);color:#654a22;border-color:#cdb27e; }
.invoice-payment-badge { display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase; }
.invoice-payment-badge.paid { border:1px solid rgba(215,181,109,.55);background:rgba(215,181,109,.16);color:#efd797; }
.invoice-payment-badge.unpaid { border:1px solid rgba(210,91,84,.38);background:rgba(180,66,60,.07);color:#d9908c; }
body[data-theme="light"] .invoice-payment-badge.paid { color:#715523;background:rgba(215,181,109,.18); }
body[data-theme="light"] .invoice-payment-badge.unpaid { color:#a64f49;background:rgba(193,76,68,.04); }

/* Send Invoice / Statement dialog. */
.delivery-composer { display:grid;gap:13px; }
.delivery-attachment { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#1c1f24; }
.delivery-attachment strong { display:block;font-size:12px; }
.delivery-attachment small { color:var(--muted); }
.delivery-payment-link { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:11px 13px;border:1px solid rgba(var(--ui-accent-rgb),.28);border-radius:12px;background:rgba(var(--ui-accent-rgb),.05); }
.delivery-actions { display:flex;justify-content:flex-end;gap:8px; }

/* Numbered lab-slip chart. */
.slip-number-chart { display:grid;gap:6px;margin:12px 0 14px;padding:9px;border:1px solid #cfd2d5;border-radius:10px;background:#f7f8f9; }
.slip-chart-row { display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px; }
.slip-chart-cell { position:relative;display:grid;place-items:center;min-height:34px;border:1px solid #cdd1d5;border-radius:7px;background:#fff;color:#25282c;font-size:9px;font-weight:800;overflow:hidden; }
.slip-chart-cell b { font-size:9px;line-height:1;color:inherit; }
.slip-chart-cell small { font-size:7px;line-height:1;margin-top:2px;color:#6c7279; }
.slip-chart-cell.assigned { border-color:rgba(var(--semantic-rgb),.72);background:rgba(var(--semantic-rgb),.13);color:#4e4430;box-shadow:inset 0 -2px rgba(var(--semantic-rgb),.46); }
.slip-chart-cell.kind-implant { color:#8b3532; }
.slip-chart-cell.kind-ceramic { color:#684182; }
.slip-chart-cell.kind-metal { color:#4f5861; }
.slip-chart-screw { position:absolute;right:3px;top:3px;width:6px;height:12px;border:1px solid #b64e49;border-radius:3px 3px 5px 5px;background:repeating-linear-gradient(180deg,#fff 0 2px,#c75853 2px 3px); }

/* Per-tooth implant selector inside the position parameters modal. */
.position-implant-card { grid-column:1/-1;border-color:rgba(199,78,72,.42)!important;background:linear-gradient(135deg,rgba(175,60,55,.08),rgba(34,37,42,.1))!important; }
.position-implant-row { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end; }
.position-implant-row .field { min-width:0; }
.position-implant-row button { height:40px;padding:0 13px;border:1px solid rgba(215,181,109,.4);border-radius:9px;background:#15181c;color:#dfc17d;font-weight:800; }
.position-implant-note { margin-top:7px;color:var(--muted);font-size:10px; }

/* Analytics: clean pre-result state, centered report heading, financial cards. */
.analytics-v69 .analytics-filter-card { gap:13px; }
.analytics-v69 .analytics-filter-primary { grid-template-columns:minmax(280px,1.25fr) minmax(210px,.9fr) 170px!important; }
.analytics-v69 .analytics-filter-secondary { grid-template-columns:minmax(250px,.8fr) 185px 185px 165px!important; }
.analytics-v69 .analytics-date-shell { position:relative; }
.analytics-v69 .analytics-date-shell input { padding-right:35px!important; }
.analytics-v69 .analytics-date-icon { pointer-events:none;position:absolute;right:11px;bottom:12px;color:var(--ui-accent);font-size:12px; }
.analytics-v69 .analytics-payment-filter { min-width:0; }
.analytics-v69 .analytics-result-placeholder { display:grid;place-items:center;min-height:260px;border:1px dashed rgba(255,255,255,.12);border-radius:14px;color:var(--muted);text-align:center; }
.analytics-v69 .analytics-result-placeholder strong { display:block;margin-bottom:5px;color:#d9dce0;font-size:14px; }
.analytics-v69 .analytics-section-head { justify-content:center!important;text-align:center!important; }
.analytics-v69 .analytics-section-head>small { position:absolute;right:16px; }
.analytics-v69 .analytics-section-head h3 { text-transform:none;letter-spacing:.02em; }
.analytics-v69 .analytics-invoice-row { font-size:1.04em; }
.analytics-financial-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.analytics-financial-grid .metric.paid strong { color:#dfc77f; }
.analytics-financial-grid .metric.outstanding strong { color:#d98b86; }
.statement-delivery-actions { display:flex;gap:8px;justify-content:flex-end;margin:12px 0 2px; }

/* Settings additions and compact replacement menus. */
.settings-v69-badge { color:var(--ui-accent)!important; }
.settings-accent-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:8px; }
.settings-accent-choice { display:grid;place-items:center;gap:5px;min-height:52px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:#191c20;color:#aeb2b8;font-size:9px;font-weight:750; }
.settings-accent-choice i { width:18px;height:18px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 3px rgba(255,255,255,.04); }
.settings-accent-choice.on { border-color:var(--ui-accent-line);background:rgba(var(--ui-accent-rgb),.09);color:var(--ui-accent-text); }
.settings-custom-accent { display:flex;align-items:center;gap:9px;margin-top:9px; }
.settings-custom-accent input[type="color"] { width:46px;height:34px;padding:2px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#15171a; }
.settings-custom-accent button { height:34px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#1b1e22;color:#c8cbd0; }
.settings-compact-select { position:relative; }
.settings-compact-trigger { display:flex;align-items:center;justify-content:space-between;width:100%;height:42px;padding:0 11px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#111419;color:#f1f1ef;text-align:left; }
.settings-compact-trigger[aria-expanded="true"] { border-color:var(--ui-accent-line);box-shadow:0 0 0 2px rgba(var(--ui-accent-rgb),.10); }
.settings-compact-menu { position:absolute;z-index:70;left:0;right:0;top:calc(100% + 5px);max-height:206px;overflow:auto;padding:5px;border:1px solid var(--ui-accent-line);border-radius:10px;background:#171a1f;box-shadow:0 16px 36px rgba(0,0,0,.38); }
.settings-compact-menu button { display:block;width:100%;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:#d8dade;text-align:left; }
.settings-compact-menu button:hover,.settings-compact-menu button.on { background:rgba(var(--ui-accent-rgb),.13);color:var(--ui-accent-text); }
.settings-native-select-hidden { position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important; }
.settings-payment-presets { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:7px; }
.settings-payment-presets button { min-height:36px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:#181b1f;color:#b9bdc3;font-size:10px;font-weight:760; }
.settings-payment-presets button.on { border-color:var(--ui-accent-line);background:rgba(var(--ui-accent-rgb),.1);color:var(--ui-accent-text); }
body[data-theme="light"] .settings-compact-trigger { background:#fff;color:#292b2f;border-color:#d4d0c8; }
body[data-theme="light"] .settings-compact-menu { background:#fff;color:#292b2f;box-shadow:0 15px 32px rgba(70,60,40,.18); }
body[data-theme="light"] .settings-compact-menu button { color:#35383c; }
body[data-theme="light"] .settings-accent-choice,body[data-theme="light"] .settings-payment-presets button { background:#fff;color:#565b61;border-color:#d9d5cc; }

/* History payment status and audit timestamps. */
.history-payment-cell { display:flex;align-items:center;gap:6px; }
.history-payment-action { padding:5px 8px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#191c20;color:#bfc3c9;font-size:9px;font-weight:800; }
.history-payment-action:hover { border-color:var(--ui-accent-line);color:var(--ui-accent-text); }
.invoice-audit-line { margin-top:4px;color:var(--muted);font-size:9px; }
.history-row.history-row-v69 { grid-template-columns:96px 86px minmax(165px,1.25fr) minmax(110px,.82fr) 82px minmax(155px,1fr) 142px!important; }
.history-row.history-row-v69>span { min-width:0;overflow-wrap:anywhere; }
.history-row.history-row-v69>span>small { display:block;margin-top:3px;color:var(--muted); }
.analytics-v69 .analytics-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }

@media (max-width:1450px) {
  .invoice-document-actions { grid-template-columns:1fr; }
  .analytics-v69 .analytics-filter-primary,.analytics-v69 .analytics-filter-secondary { grid-template-columns:1fr 1fr!important; }
  .history-row.history-row-v69 { grid-template-columns:84px 76px minmax(130px,1fr) minmax(100px,.8fr) 76px minmax(125px,1fr) 122px!important; }
}
