/*
  SymCol Clinical Learning theme v0.1
  Presentation-only overrides. The original Clinical Formal CSS remains intact.
*/
:root {
  --navy:#073b67;
  --blue:#0875b5;
  --green:#439b28;
  --gold:#d99a28;
  --ink:#18344c;
  --canvas:#f4f3ee;
  --soft-blue:#eaf4fa;
  --soft-green:#edf6e9;
  --soft-gold:#fff4d6;
  --line:#d3dedf;
}

html,body {
  color:var(--ink);
  background:var(--canvas);
}

body {
  background:
    radial-gradient(circle at 8% 2%,rgba(8,117,181,.055),transparent 28%),
    radial-gradient(circle at 94% 14%,rgba(67,155,40,.05),transparent 24%),
    var(--canvas);
}

button {
  border-color:#9fb6c5;
  border-radius:8px;
  transition:background-color .14s ease,border-color .14s ease,
             box-shadow .14s ease,transform .14s ease;
}
button:hover {
  background:#f2f8fb;
  border-color:#6f9bb8;
}
button:active {
  transform:translateY(1px);
}

.product-header {
  background:linear-gradient(105deg,#ffffff 0%,#fbfdfb 64%,#f2f8ef 100%);
  border-bottom-color:#cfdbd5;
  box-shadow:0 2px 12px rgba(25,58,76,.06);
}

.product-header h1 {
  color:#082f53;
  letter-spacing:-.25px;
}

.authority {
  color:#557367;
}
.authority i.is-ready {
  background:#37a95b;
  box-shadow:0 0 0 5px #dff2e3;
}

.real-workspace {
  background:var(--canvas);
}

.tree-column {
  border-right-color:#cbd9d7;
  background:#fffefa;
}

.workspace-bar {
  background:linear-gradient(90deg,#f8fbfc 0%,#f0f7f3 100%);
  border-bottom-color:#cedbd8;
  box-shadow:0 2px 8px rgba(24,52,76,.04);
}

.pin-current,
.workspace-view-switch .is-current,
.mode-button.is-current,
#medical-tree-filter-apply,
#medical-tree-filter-clear {
  background:var(--navy);
  border-color:var(--navy);
  color:white;
  box-shadow:0 2px 5px rgba(7,59,103,.14);
}

.pin-current:hover,
.workspace-view-switch .is-current:hover,
.mode-button.is-current:hover,
#medical-tree-filter-apply:hover,
#medical-tree-filter-clear:hover {
  background:var(--blue);
  border-color:var(--blue);
}

.pinned-concept {
  border-color:#b7cbd5;
  border-radius:9px;
  background:#fff;
}
.pinned-concept.is-active {
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(8,117,181,.14);
}

.view-controls {
  background:#fffefa;
  border-bottom-color:#d6dfdc;
}

.concept-stage {
  background:#fffefa;
}

.association-stage {
  background:
    linear-gradient(180deg,rgba(234,244,250,.34),transparent 170px),
    var(--canvas);
}

.association-header {
  border-bottom-color:var(--blue);
}
.association-header h2 {
  color:#073b67;
}
.definition-status {
  background:#e4f3e3;
  color:#236d31;
  box-shadow:inset 0 0 0 1px #cfe8ce;
}

.association-group {
  border-color:#d3deda;
  border-left:4px solid var(--gold);
  border-radius:11px;
  background:#fffefa;
  box-shadow:0 4px 14px rgba(24,52,76,.065);
  overflow:hidden;
}
.association-group.parents {
  border-left-color:var(--blue);
  border-color:#c5dce9;
  background:linear-gradient(135deg,#f7fbfe 0%,var(--soft-blue) 100%);
}
.association-group:nth-of-type(odd):not(.parents) {
  background:#fffdf8;
}
.association-group:nth-of-type(even):not(.parents) {
  background:#fbfdf9;
}
.association-group h3,
.association-group summary {
  color:#0a4e7d;
}
.association-group summary {
  background:linear-gradient(90deg,rgba(234,244,250,.6),rgba(255,255,255,.2));
  border-bottom-color:#dde7e3;
}

.association-edge {
  border-bottom-color:#e7ece9;
}
.association-type {
  color:#496a7e;
}
.association-arrow {
  color:var(--gold);
}
.association-destination {
  border-color:#bed2dc;
  border-radius:8px;
  background:#fff;
  color:#073b67;
}
.association-destination:hover {
  background:var(--soft-green);
  border-color:#9fc695;
}

.dictionary-inspector,
.concept-inspector {
  background:
    linear-gradient(155deg,var(--soft-green) 0%,#f8fbf6 175px,#fffefa 100%);
  border-left:1px solid #ccdbd0;
}
.dictionary-tabs {
  border-bottom-color:var(--green);
}
.dictionary-tabs button {
  background:#fffefa;
  border-color:#abc6a3;
}
.dictionary-tabs button.is-current {
  background:var(--green);
  border-color:var(--green);
  color:white;
}
.dictionary-page h2 {
  color:#174f2b;
}
.dictionary-page h3 {
  color:#276a37;
}
.dictionary-page p {
  color:#294236;
}
.dictionary-page .dictionary-note {
  color:#6b806f;
}

.command-footer {
  background:#123952;
  border-top:1px solid #31556a;
}

.medical-tree-row {
  border-bottom-color:#e8eeeb;
}
.medical-tree-row:hover {
  background:#eff7f2;
}
.medical-tree-row:focus {
  box-shadow:inset 0 0 0 2px var(--blue);
}
.medical-tree-row.is-selected {
  background:var(--soft-blue);
  border-left-color:var(--blue);
}
.medical-tree-row.is-match .medical-tree-caption {
  color:#075a8d;
}
.medical-tree-row.is-primitive .medical-tree-toggle {
  border-color:var(--gold);
  background:#fffaf0;
}
.medical-tree-row.is-defined .medical-tree-toggle {
  border-color:#6b9fbd;
  background:#f5fbfe;
}

.concept-stage,
.association-stage,
.dictionary-page {
  scrollbar-color:#8da9a0 transparent;
}

#authority-shield {
  background:rgba(17,45,61,.32);
  backdrop-filter:blur(2px) saturate(.9);
}
/* Clinical learning theme v0.2: quieter search actions and explicit pin removal. */
#medical-tree-filter-apply,
#medical-tree-filter-clear {
  background:#e5eff6;
  border-color:#7d9fb7;
  color:var(--navy);
  box-shadow:0 1px 3px rgba(17,62,91,.08);
}
#medical-tree-filter-apply:hover,
#medical-tree-filter-clear:hover {
  background:#d6e7f1;
  border-color:var(--blue);
  color:var(--navy);
}
.clear-pinned {
  flex:0 0 auto;
  padding:7px 10px;
  background:#fff;
  border-color:#b8c8d3;
  color:#6b4050;
  font-size:12px;
}
.clear-pinned:hover {background:#f8eef1;border-color:#b78694;color:#7b263b}
.clear-pinned[hidden] {display:none}
.pinned-close {
  width:30px;
  padding:0;
  opacity:1;
  color:#8a2635;
  border-left:1px solid #d9e2e8!important;
}
/* Clinical learning theme v0.3: orderly pin shelf and compact association model. */
.workspace-bar {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  align-items:center;
  gap:7px 12px;
  padding:8px 13px;
}
.pin-current {grid-column:1;grid-row:1}
.clear-pinned {grid-column:2;grid-row:1;justify-self:start}
.workspace-view-switch {grid-column:3;grid-row:1}
.pinned-concepts {
  grid-column:1 / -1;
  grid-row:2;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  overflow:visible;
  padding:0;
}
.pinned-concepts[data-empty="true"] {min-height:0}
.pinned-concepts[data-empty="true"]:after {padding:2px 3px 1px}
.pinned-concept {max-width:min(330px,100%)}
.pinned-activate {max-width:285px}

.association-stage {padding:14px 20px 18px}
.association-header {padding-bottom:10px}
.association-header h2 {font-size:22px}
.association-group {margin-top:10px}
.association-parent-header {padding:9px 12px 7px}
.association-parent-list {gap:6px;padding:9px 12px}
.association-group h3,
.association-group summary {padding:8px 12px}
.association-edge {
  grid-template-columns:minmax(145px,32%) 22px minmax(0,1fr);
  gap:6px;
  padding:7px 12px;
}
.association-destination {min-width:0;padding:7px 10px;line-height:1.25}
.association-level-note {margin-top:3px}

@media(max-width:760px) {
  .workspace-bar {grid-template-columns:auto 1fr}
  .workspace-view-switch {grid-column:1 / -1;grid-row:3;justify-self:end}
  .pinned-concepts {grid-column:1 / -1}
  .association-edge {grid-template-columns:1fr 20px 1.25fr}
}