/* Prime Lab Admin v0.68 — reference-safe refinements. */

/* The selected Clinic deliberately repeats the active Invoice account language. */
.clinic.active {
  border-color: rgba(215, 181, 109, .46) !important;
  background: linear-gradient(105deg, rgba(215, 181, 109, .15), rgba(10, 11, 13, .10)) !important;
  box-shadow: inset 3px 0 0 rgba(215, 181, 109, .58) !important;
  opacity: 1 !important;
}
.clinic.active .ci {
  border: 1px solid rgba(215, 181, 109, .34) !important;
  background: rgba(215, 181, 109, .10) !important;
  color: #e3c77f !important;
}
.clinic.active .cn strong {
  color: #f1dfb4 !important;
  text-shadow: none !important;
}
body[data-theme="light"] .clinic.active {
  border-color: #d7bf91 !important;
  background: linear-gradient(105deg, #f7eedb, #fff) !important;
  box-shadow: inset 2px 0 0 #c99b4d !important;
}
body[data-theme="light"] .clinic.active .ci {
  border-color: #d8c39a !important;
  background: #f2e4c8 !important;
  color: #765827 !important;
}
body[data-theme="light"] .clinic.active .cn strong { color: #3a2d1d !important; }

/* Local, Shipping and Case labels are peers, so there is no visual primary among them. */
.label-actions #shippingLabel,
.label-actions #localLabel,
.label-actions #caseLabel {
  min-width: 0 !important;
  height: 41px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(215, 181, 109, .56) !important;
  border-radius: 10px !important;
  background: rgba(215, 181, 109, .12) !important;
  color: #e8cd8c !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 10px !important;
  font-weight: 820 !important;
  letter-spacing: .015em !important;
  line-height: 1 !important;
  text-align: center !important;
}
.label-actions #shippingLabel:hover,
.label-actions #localLabel:hover,
.label-actions #caseLabel:hover {
  border-color: rgba(215, 181, 109, .78) !important;
  background: rgba(215, 181, 109, .18) !important;
}
body[data-theme="light"] .label-actions #shippingLabel,
body[data-theme="light"] .label-actions #localLabel,
body[data-theme="light"] .label-actions #caseLabel {
  border-color: #cdb47e !important;
  background: #f6f0e3 !important;
  color: #765827 !important;
}

/* Analytics v0.68 */
.analytics-open .modal {
  width: min(1460px, calc(100vw - 34px)) !important;
  height: min(920px, calc(100vh - 34px)) !important;
  max-height: calc(100vh - 34px) !important;
}
.analytics-open .modal-body { padding: 18px 20px 24px !important; }
.analytics-v68 { display: grid; gap: 15px; min-height: 0; }
.analytics-filter-card {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid rgba(215, 181, 109, .22);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(42, 45, 50, .88), rgba(30, 33, 38, .92));
}
.analytics-filter-primary {
  display: grid;
  grid-template-columns: minmax(320px, 1.55fr) minmax(230px, .8fr) auto;
  gap: 12px;
  align-items: end;
}
.analytics-filter-secondary {
  display: grid;
  grid-template-columns: minmax(350px, 1fr) minmax(190px, .55fr) minmax(190px, .55fr);
  gap: 12px;
  align-items: end;
}
.analytics-v68 .field > label {
  margin-bottom: 6px;
  color: #8e949c;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.analytics-v68 .control { height: 41px; }
.analytics-actions { display: flex; gap: 8px; align-items: center; }
.analytics-actions button {
  height: 41px;
  padding: 0 18px;
  border: 1px solid rgba(215, 181, 109, .56);
  border-radius: 10px;
  background: rgba(215, 181, 109, .12);
  color: #ead18f;
  font: 820 10px/1 inherit;
  white-space: nowrap;
}
.analytics-actions button:first-child { min-width: 150px; }
.analytics-actions button[hidden] { display: none !important; }
.analytics-period-switch-v68 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.analytics-period-switch-v68 button {
  height: 41px;
  border: 1px solid #474b52;
  border-radius: 10px;
  background: #171a1e;
  color: #b9bec5;
  font: 780 9px/1 inherit;
  letter-spacing: .025em;
}
.analytics-period-switch-v68 button.on {
  border-color: rgba(215, 181, 109, .68);
  background: linear-gradient(105deg, rgba(215, 181, 109, .18), rgba(215, 181, 109, .07));
  color: #efd89f;
  box-shadow: inset 2px 0 0 rgba(215, 181, 109, .58);
}
.analytics-date-shell { position: relative; }
.analytics-date-shell::after {
  position: absolute;
  right: 13px;
  bottom: 12px;
  color: #d7b56d;
  content: "▣";
  font-size: 13px;
  pointer-events: none;
}
.analytics-date-shell .control { padding-right: 36px; }
.analytics-result-band {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 2px 3px;
  color: #8e949c;
  font-size: 9px;
}
.analytics-result-band strong { color: #e3c77f; font-size: 10px; }
.analytics-v68 .analytics-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px;
}
.analytics-v68 .metric {
  min-height: 88px;
  padding: 15px;
  border: 1px solid rgba(215, 181, 109, .18);
  border-radius: 12px;
  background: rgba(34, 37, 42, .88);
}
.analytics-v68 .metric small { color: #8d939b; letter-spacing: .07em; text-transform: uppercase; }
.analytics-v68 .metric strong { display: block; margin-top: 8px; color: #e2c46f; font-size: 24px; }
.analytics-v68 .analytics-section { margin-top: 0; }
.analytics-v68 .analytics-statement-actions { display: none !important; }
.analytics-category-note {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(215, 181, 109, .16);
  border-radius: 9px;
  color: #969ba2;
  font-size: 9px;
}
body[data-theme="light"] .analytics-filter-card {
  border-color: #d9c8a5;
  background: linear-gradient(145deg, #fbfaf7, #f0ede6);
}
body[data-theme="light"] .analytics-period-switch-v68 button { border-color: #d6d1c8; background: #fff; color: #555a60; }
body[data-theme="light"] .analytics-period-switch-v68 button.on {
  border-color: #cdb47e;
  background: linear-gradient(105deg, #f5ead2, #fff);
  color: #62491f;
  box-shadow: inset 2px 0 0 #c99b4d;
}
body[data-theme="light"] .analytics-actions button { border-color: #cdb47e; background: #f6f0e3; color: #765827; }
body[data-theme="light"] .analytics-v68 .metric { border-color: #ded8cc; background: #fff; }
body[data-theme="light"] .analytics-v68 .metric strong { color: #8b6428; }

/* Settings v0.68 */
.modal-backdrop.settings-open .modal {
  width: min(1260px, calc(100vw - 38px)) !important;
  height: min(820px, calc(100vh - 38px)) !important;
  max-height: calc(100vh - 38px) !important;
}
.modal-backdrop.settings-open .modal-body {
  min-height: 0;
  padding: 0 !important;
  overflow: hidden !important;
}
.settings-v68 {
  display: grid;
  height: 100%;
  min-height: 0;
  grid-template-columns: 230px minmax(0, 1fr);
  background: #1a1d21;
}
.settings-nav {
  display: flex;
  min-height: 0;
  flex-direction: column;
  gap: 7px;
  padding: 16px;
  border-right: 1px solid rgba(255, 255, 255, .08);
  background: #15181c;
}
.settings-nav-title { margin: 2px 5px 10px; color: #747b84; font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.settings-nav button {
  display: grid;
  min-height: 48px;
  grid-template-columns: 27px 1fr;
  gap: 9px;
  align-items: center;
  padding: 8px 11px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: #aeb3ba;
  font: 760 10px/1.2 inherit;
  text-align: left;
}
.settings-nav button span:first-child { color: #c3a45f; font-size: 15px; text-align: center; }
.settings-nav button small { display: block; margin-top: 3px; color: #6f767f; font-size: 8px; font-weight: 500; }
.settings-nav button.on {
  border-color: rgba(215, 181, 109, .42);
  background: linear-gradient(105deg, rgba(215, 181, 109, .14), rgba(215, 181, 109, .035));
  color: #f0d99f;
  box-shadow: inset 2px 0 0 rgba(215, 181, 109, .62);
}
.settings-nav-foot { margin-top: auto; padding: 10px 6px 2px; color: #626972; font-size: 8px; line-height: 1.5; }
.settings-workspace { display: flex; min-width: 0; min-height: 0; flex-direction: column; }
.settings-panel-scroll { min-height: 0; flex: 1; overflow: auto; padding: 18px 20px; }
.settings-panel[hidden] { display: none !important; }
.settings-panel-head { margin-bottom: 14px; }
.settings-panel-head h3 { margin: 0; color: #f2f2ef; font-size: 17px; }
.settings-panel-head p { margin: 5px 0 0; color: #838a93; font-size: 9px; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.settings-card {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 12px;
  background: #202329;
}
.settings-card.wide { grid-column: 1 / -1; }
.settings-card h4 { margin: 0 0 4px; color: #e4c77f; font-size: 10px; letter-spacing: .035em; text-transform: uppercase; }
.settings-card > p { margin: 0 0 13px; color: #777f88; font-size: 8px; line-height: 1.45; }
.settings-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.settings-form-grid .wide { grid-column: 1 / -1; }
.settings-v68 .field > label { margin-bottom: 5px; color: #858c95; font-size: 8px; font-weight: 750; letter-spacing: .065em; text-transform: uppercase; }
.settings-v68 .control { height: 39px; }
.settings-v68 textarea.control { min-height: 66px; height: 66px; resize: vertical; }
.settings-choice-v68 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.settings-choice-v68 button {
  height: 39px;
  border: 1px solid #444951;
  border-radius: 9px;
  background: #15181c;
  color: #aeb3b9;
  font: 760 9px/1 inherit;
}
.settings-choice-v68 button.on {
  border-color: rgba(215, 181, 109, .58);
  background: rgba(215, 181, 109, .13);
  color: #efd89f;
}
.settings-checks { display: grid; gap: 8px; }
.settings-checks.inline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-checks label { display: flex; gap: 8px; align-items: center; color: #b6bbc1; font-size: 9px; }
.settings-checks input { accent-color: #d7b56d; }
.settings-logo-row { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: center; }
.settings-logo-preview { display: grid; width: 68px; height: 68px; place-items: center; overflow: hidden; border: 1px solid rgba(215, 181, 109, .36); border-radius: 12px; background: #111317; }
.settings-logo-preview img { max-width: 52px; max-height: 52px; }
.settings-secondary-button {
  height: 37px;
  padding: 0 13px;
  border: 1px solid rgba(215, 181, 109, .42);
  border-radius: 9px;
  background: rgba(215, 181, 109, .08);
  color: #dec482;
  font: 780 9px/1 inherit;
}
.settings-status { margin-top: 8px; color: #78808a; font-size: 8px; line-height: 1.45; }
.settings-footer {
  display: flex;
  flex: 0 0 auto;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 11px 20px;
  border-top: 1px solid rgba(255, 255, 255, .08);
  background: #181b1f;
}
.settings-footer span { color: #777e87; font-size: 8px; }
.settings-footer button {
  min-width: 190px;
  height: 42px;
  border: 1px solid rgba(215, 181, 109, .60);
  border-radius: 10px;
  background: rgba(215, 181, 109, .13);
  color: #ecd395;
  font: 850 10px/1 inherit;
}
.settings-storage-path { padding: 10px 12px; border: 1px solid #3d4249; border-radius: 9px; background: #15181c; color: #aeb4bc; font: 9px/1.45 monospace; overflow-wrap: anywhere; }
body[data-theme="light"] .settings-v68 { background: #f4f2ed; }
body[data-theme="light"] .settings-nav { border-color: #dcd7cd; background: #ece9e2; }
body[data-theme="light"] .settings-nav button { color: #55595f; }
body[data-theme="light"] .settings-nav button.on { border-color: #cdb47e; background: linear-gradient(105deg, #f4e8cf, #f8f6f1); color: #60471e; box-shadow: inset 2px 0 0 #c99b4d; }
body[data-theme="light"] .settings-panel-head h3 { color: #282b30; }
body[data-theme="light"] .settings-card { border-color: #dbd7cf; background: #fff; }
body[data-theme="light"] .settings-choice-v68 button { border-color: #d7d2c9; background: #f6f4ef; color: #555a60; }
body[data-theme="light"] .settings-choice-v68 button.on { border-color: #cdb47e; background: #f5ead2; color: #62491f; }
body[data-theme="light"] .settings-checks label { color: #4d5157; }
body[data-theme="light"] .settings-footer { border-color: #dcd7cd; background: #ebe8e1; }
body[data-theme="light"] .settings-footer button { border-color: #c5a96f; background: #f5ead2; color: #60471e; }
body[data-theme="light"] .settings-storage-path { border-color: #d8d3ca; background: #f7f5f0; color: #555a60; }

@media (max-width: 1050px) {
  .analytics-filter-primary, .analytics-filter-secondary { grid-template-columns: 1fr 1fr; }
  .analytics-actions { grid-column: 1 / -1; }
  .settings-v68 { grid-template-columns: 190px minmax(0, 1fr); }
  .settings-grid { grid-template-columns: 1fr; }
  .settings-card.wide { grid-column: auto; }
}
