/* ════════════════════════════════════════════════════════════════════
   MERIDIAN · AI PRICE ACTION WORKSPACE — styles
   Institutional: muted palette, gold accents, hairline dividers.
   ════════════════════════════════════════════════════════════════════ */

.pfpa { margin: 0 0 14px; }

.pa { border: 1px solid var(--hairline); background: var(--ink-2); display: flex; flex-direction: column; }
.pa.pa-full { position: fixed; inset: 8px; z-index: 300; box-shadow: 0 30px 80px rgba(0,0,0,.6); }
body.pa-noscroll { overflow: hidden; }

/* header */
.pa-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 14px; border-bottom: 1px solid var(--hairline); flex-wrap: wrap; }
.pa-title { font-family: var(--mono); font-size: 12px; letter-spacing: .12em; font-weight: 600; color: var(--fg); display: flex; align-items: center; gap: 8px; }
.pa-title-ic { color: var(--amber-bright); }
.pa-title-sub { font-size: 10px; color: var(--muted-ink); letter-spacing: .04em; margin-left: 4px; }
.pa-top-right { display: flex; align-items: center; gap: 10px; }
.pa-tf { display: flex; border: 1px solid var(--hairline); }
.pa-tf button { background: none; border: 0; border-right: 1px solid var(--hairline); color: var(--muted); font-family: var(--mono); font-size: 10.5px; padding: 5px 9px; cursor: pointer; }
.pa-tf button:last-child { border-right: 0; }
.pa-tf button:hover { color: var(--fg); }
.pa-tf button.on { background: var(--ink-3); color: var(--amber-bright); }
.pa-fs { background: none; border: 1px solid var(--hairline); color: var(--muted); width: 27px; height: 27px; cursor: pointer; font-size: 13px; line-height: 1; }
.pa-fs:hover { color: var(--amber-bright); border-color: var(--amber); }

/* 3-pane body: navigator 18% · chart 60% · insights 22% */
.pa-body { display: grid; grid-template-columns: 18% 60% 22%; height: 620px; min-height: 540px; }
.pa.pa-full .pa-body { height: calc(100vh - 62px); }

/* ── navigator ── */
.pa-nav { border-right: 1px solid var(--hairline); display: flex; flex-direction: column; min-width: 0; }
.pa-nav-search { padding: 9px 10px; border-bottom: 1px solid var(--hairline); }
.pa-nav-search input { width: 100%; background: var(--ink); border: 1px solid var(--hairline); color: var(--fg); font-family: var(--mono); font-size: 11px; padding: 6px 9px; }
.pa-nav-search input:focus { outline: none; border-color: var(--amber); }
.pa-nav-list { overflow-y: auto; max-height: 560px; flex: 1; }
.pa-co { display: grid; grid-template-columns: auto minmax(0,1fr) auto; grid-template-rows: auto auto; align-items: center; column-gap: 9px; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid color-mix(in srgb, var(--hairline) 55%, transparent); border-left: 2px solid transparent; padding: 8px 10px; cursor: pointer; }
.pa-co:hover { background: var(--ink-3); }
.pa-co.on { background: var(--ink-3); border-left-color: var(--amber-bright); }
.pa-co .pfs-logo { grid-row: 1 / span 2; width: 24px; height: 24px; font-size: 11px; border-radius: 5px; }
.pa-co-main { display: flex; flex-direction: column; min-width: 0; }
.pa-co-main b { font-family: var(--mono); font-size: 11px; color: var(--fg); font-weight: 600; }
.pa-co-main small { font-family: var(--sans); font-size: 10px; color: var(--muted-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pa-co-px { display: flex; flex-direction: column; align-items: flex-end; }
.pa-co-px b { font-size: 11px; color: var(--fg); font-weight: 600; }
.pa-co-px small { font-size: 10px; }
.pa-co-meta { grid-column: 2 / span 2; display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 2px; }
.pa-co-meta i { font-style: normal; font-size: 9px; }
.pa-co-meta em { font-style: normal; font-family: var(--mono); font-size: 9px; color: var(--muted-ink); letter-spacing: .04em; }
.pa-co-meta .up, .pa-co-px .up, .pa-cur-tx .up, .pa-mini .up, .pa-d-badge.up, .pa-hist-row .up { color: var(--up); }
.pa-co-meta .down, .pa-co-px .down, .pa-cur-tx .down, .pa-mini .down, .pa-d-badge.down, .pa-hist-row .down { color: var(--down); }
.pa-co-meta .flat, .pa-cur-tx .flat, .pa-mini .flat, .pa-d-badge.flat, .pa-hist-row .flat { color: var(--muted); }

/* ── chart column ── */
.pa-main { display: flex; flex-direction: column; min-width: 0; min-height: 0; border-right: 1px solid var(--hairline); height: 100%; }
.pa-head { display: flex; align-items: baseline; gap: 16px; padding: 9px 14px 7px; border-bottom: 1px solid var(--hairline); flex-wrap: wrap; flex-shrink: 0; }
.pa-head-id { display: flex; align-items: baseline; gap: 9px; min-width: 0; }
.pa-head-id b { font-family: var(--sans); font-size: 13px; font-weight: 700; color: var(--fg); letter-spacing: .02em; white-space: nowrap; }
.pa-head-id .mono { font-size: 10px; color: var(--muted-ink); }
.pa-head-px b { font-size: 15px; font-weight: 700; }
.pa-head-px small { font-size: 10.5px; margin-left: 6px; }
.pa-head-ohlc { font-size: 10px; color: var(--muted); margin-left: auto; }
.pa-head .up { color: var(--up); } .pa-head .down { color: var(--down); }

.pa-canvas-wrap { position: relative; flex: 1 1 auto; min-height: 260px; }
.pa-canvas-wrap canvas { display: block; position: absolute; inset: 0; width: 100%; height: 100%; }

.pa-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 12px; border-top: 1px solid var(--hairline); flex-wrap: wrap; flex-shrink: 0; }
.pa-tool-grp { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; }
.pa-tools label { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; color: var(--muted); cursor: pointer; white-space: nowrap; }
.pa-tools input[type="checkbox"] { accent-color: var(--amber-bright); width: 12px; height: 12px; }
.pa-tools select { background: var(--ink); border: 1px solid var(--hairline); color: var(--fg); font-family: var(--mono); font-size: 10px; padding: 4px 6px; }
.pa-draw { background: none; border: 1px solid var(--hairline); color: var(--muted); width: 25px; height: 23px; cursor: pointer; font-size: 11px; line-height: 1; }
.pa-draw:hover { color: var(--fg); }
.pa-draw.on { color: var(--amber-bright); border-color: var(--amber); background: var(--ink-3); }

.pa-timeline-wrap { border-top: 1px solid var(--hairline); padding: 7px 12px 9px; flex-shrink: 0; }
.pa-timeline-label { font-size: 9.5px; letter-spacing: .12em; color: var(--muted-ink); margin-bottom: 6px; }
.pa-timeline { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 3px; }
.pa-tl-item { display: flex; align-items: center; gap: 7px; background: var(--ink); border: 1px solid var(--hairline); padding: 5px 10px; cursor: pointer; white-space: nowrap; flex-shrink: 0; }
.pa-tl-item:hover { border-color: var(--muted-ink); }
.pa-tl-item.on { border-color: var(--amber); background: var(--ink-3); }
.pa-tl-d { font-size: 9px; color: var(--muted-ink); }
.pa-tl-n { font-family: var(--sans); font-size: 10.5px; color: var(--fg); }
.pa-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.pa-dot.up { background: var(--up); } .pa-dot.down { background: var(--down); } .pa-dot.flat { background: var(--amber-bright); }

/* ── insights panel ── */
.pa-side { padding: 12px 14px; overflow-y: auto; max-height: 640px; }
.pa-side-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em; color: var(--fg); font-weight: 600; margin-bottom: 12px; }
.pa-bias { font-size: 9px; letter-spacing: .05em; padding: 3px 8px; border: 1px solid; border-radius: 3px; white-space: nowrap; }
.pa-bias.up { color: #4ecb8d; border-color: color-mix(in srgb, var(--up) 45%, transparent); background: color-mix(in srgb, var(--up) 10%, transparent); }
.pa-bias.down { color: #e07d6f; border-color: color-mix(in srgb, var(--down) 45%, transparent); background: color-mix(in srgb, var(--down) 10%, transparent); }
.pa-bias.flat { color: var(--amber-bright); border-color: color-mix(in srgb, var(--amber) 45%, transparent); }

.pa-cur-l { font-size: 9.5px; letter-spacing: .1em; color: var(--muted-ink); text-transform: uppercase; margin-bottom: 7px; }
.pa-cur-row { display: flex; align-items: center; gap: 10px; }
.pa-cur-tx { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.pa-cur-tx b { font-family: var(--sans); font-size: 13px; font-weight: 700; }
.pa-cur-tx span { font-size: 10.5px; }
.pa-cur-tx small { font-size: 9px; color: var(--muted-ink); }
.pa-conf { text-align: center; border: 1px solid var(--hairline); padding: 4px 8px; }
.pa-conf b { display: block; font-size: 15px; color: var(--fg); font-weight: 700; }
.pa-conf small { font-size: 8px; color: var(--muted-ink); letter-spacing: .08em; }
.pa-strength { height: 4px; background: var(--ink-3); margin-top: 9px; border-radius: 2px; overflow: hidden; }
.pa-strength i { display: block; height: 100%; border-radius: 2px; transition: width .5s ease; }
.pa-cur { padding-bottom: 13px; border-bottom: 1px solid var(--hairline); margin-bottom: 12px; }

.pa-recent { padding-bottom: 12px; border-bottom: 1px solid var(--hairline); margin-bottom: 12px; }
.pa-rec { display: flex; align-items: center; gap: 7px; width: 100%; text-align: left; background: none; border: 0; padding: 5px 2px; cursor: pointer; border-radius: 3px; }
.pa-rec:hover { background: var(--ink-3); }
.pa-rec.on b { color: var(--amber-bright); }
.pa-rec b { font-family: var(--sans); font-size: 11px; color: var(--fg); font-weight: 600; white-space: nowrap; }
.pa-rec em { font-style: normal; font-size: 9px; color: var(--muted-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; }
.pa-rec .mono { font-size: 9px; color: var(--muted-ink); margin-left: auto; white-space: nowrap; }

.pa-insight { padding-bottom: 12px; border-bottom: 1px solid var(--hairline); margin-bottom: 12px; }
.pa-insight p { font-family: var(--sans); font-size: 11px; color: var(--muted); line-height: 1.55; margin: 0; }

.pa-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; padding-bottom: 12px; border-bottom: 1px solid var(--hairline); margin-bottom: 12px; }
.pa-mini small { display: block; font-family: var(--sans); font-size: 9.5px; color: var(--muted-ink); }
.pa-mini b { font-family: var(--sans); font-size: 12px; font-weight: 600; }

.pa-levels { padding-bottom: 12px; }
.pa-lv { display: flex; justify-content: space-between; align-items: center; padding: 4.5px 0; border-bottom: 1px solid color-mix(in srgb, var(--hairline) 45%, transparent); }
.pa-lv span { font-family: var(--sans); font-size: 10.5px; color: var(--muted); }
.pa-lv b { font-size: 11px; color: var(--fg); font-weight: 600; }

.pa-full-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; background: none; border: 1px solid var(--amber); color: var(--amber-bright); font-family: var(--mono); font-size: 11px; letter-spacing: .06em; padding: 9px; cursor: pointer; transition: background .2s; }
.pa-full-btn:hover { background: color-mix(in srgb, var(--amber) 12%, transparent); }

.pa-empty { color: var(--muted-ink); font-size: 10.5px; padding: 10px 4px; }
.pa-glyph { flex-shrink: 0; }

/* ── full-analysis drawer ── */
.pa-drawer-veil { position: fixed; inset: 0; background: rgba(4,6,9,.55); z-index: 340; }
.pa-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(680px, 94vw); background: var(--ink-2); border-left: 1px solid var(--hairline); z-index: 350; transform: translateX(102%); transition: transform .24s cubic-bezier(.2,.7,.2,1); display: flex; flex-direction: column; }
.pa-drawer.open { transform: translateX(0); }
.pa-d-head { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-bottom: 1px solid var(--hairline); }
.pa-d-title { flex: 1; min-width: 0; }
.pa-d-title b { display: block; font-family: var(--serif); font-size: 19px; color: var(--fg); font-weight: 700; }
.pa-d-badge { display: inline-block; font-family: var(--mono); font-size: 9px; padding: 2px 8px; border: 1px solid; border-radius: 3px; margin: 4px 0; }
.pa-d-title small { display: block; font-size: 9.5px; color: var(--muted-ink); }
.pa-d-close { background: none; border: 1px solid var(--hairline); color: var(--muted); width: 28px; height: 28px; cursor: pointer; flex-shrink: 0; }
.pa-d-close:hover { color: var(--fg); border-color: var(--muted-ink); }
.pa-d-body { flex: 1; display: grid; grid-template-columns: 190px 1fr; min-height: 0; }
.pa-d-nav { border-right: 1px solid var(--hairline); overflow-y: auto; padding: 8px 0; }
.pa-d-nav button { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; background: none; border: 0; border-left: 2px solid transparent; color: var(--muted); font-family: var(--sans); font-size: 11px; padding: 8px 12px; cursor: pointer; }
.pa-d-nav button .mono { font-size: 9px; color: var(--muted-ink); }
.pa-d-nav button:hover { color: var(--fg); }
.pa-d-nav button.on { color: var(--amber-bright); border-left-color: var(--amber-bright); background: var(--ink-3); }
.pa-d-content { overflow-y: auto; padding: 16px 20px 30px; }
.pa-d-sec { margin-bottom: 24px; }
.pa-d-sec h4 { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; color: var(--amber-bright); text-transform: uppercase; margin: 0 0 10px; }
.pa-d-sec p { font-family: var(--sans); font-size: 12px; color: var(--muted); line-height: 1.65; margin: 0 0 9px; }
.pa-d-sec p b { color: var(--fg); }
.pa-d-note { font-size: 10px; color: var(--muted-ink); border-left: 2px solid var(--hairline); padding-left: 10px; line-height: 1.5; margin-top: 8px; }
.pa-d-quick { font-family: var(--sans); font-size: 12px; color: var(--muted); line-height: 1.6; border: 1px solid var(--hairline); background: var(--ink); padding: 11px 13px; margin-top: 12px; }
.pa-d-quick b { color: var(--fg); }

.pa-ov { display: flex; gap: 18px; align-items: stretch; flex-wrap: wrap; }
.pa-ov-diagram { border: 1px solid var(--hairline); background: var(--ink); padding: 12px 18px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.pa-ov-dl { font-size: 9px; color: var(--muted-ink); letter-spacing: .06em; }
.pa-ov-facts { flex: 1; min-width: 240px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px 18px; align-content: center; }
.pa-ov-facts > div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid color-mix(in srgb, var(--hairline) 45%, transparent); padding-bottom: 5px; }
.pa-ov-facts span { font-family: var(--sans); font-size: 10.5px; color: var(--muted-ink); }
.pa-ov-facts b { font-family: var(--sans); font-size: 11px; color: var(--fg); font-weight: 600; text-align: right; }
.pa-ov-facts b.up { color: var(--up); } .pa-ov-facts b.down { color: var(--down); }

.pa-check { display: flex; flex-direction: column; gap: 6px; }
.pa-chk { display: flex; gap: 9px; align-items: flex-start; font-family: var(--sans); font-size: 11.5px; color: var(--muted); line-height: 1.5; background: var(--ink); border-left: 2px solid var(--hairline); padding: 7px 11px; }
.pa-chk i { font-style: normal; font-weight: 700; flex-shrink: 0; }
.pa-chk.ok { border-left-color: var(--up); } .pa-chk.ok i { color: var(--up); }
.pa-chk.no { border-left-color: var(--down); } .pa-chk.no i { color: var(--down); }

.pa-scen { margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.pa-scen-i { font-family: var(--sans); font-size: 11.5px; color: var(--muted); line-height: 1.5; }

.pa-hist { display: flex; flex-direction: column; }
.pa-hist-row { display: grid; grid-template-columns: auto auto 1fr auto; gap: 12px; align-items: center; padding: 6px 0; border-bottom: 1px solid color-mix(in srgb, var(--hairline) 45%, transparent); font-size: 10.5px; }
.pa-hist-row span { color: var(--muted-ink); }
.pa-hist-row b { text-align: right; }
.pa-hist-row i { font-style: normal; font-family: var(--mono); font-size: 9px; letter-spacing: .05em; }

/* ── responsive ── */
@media (max-width: 1160px) {
  .pa-body { grid-template-columns: 220px 1fr; height: 640px; }
  .pa-side { grid-column: 1 / -1; border-top: 1px solid var(--hairline); max-height: none; height: auto; }
  .pa.pa-full .pa-body { height: calc(100vh - 62px); }
}
@media (max-width: 760px) {
  .pa-top { gap: 8px; padding: 8px 10px; }
  .pa-title { font-size: 11px; }
  .pa-tf { overflow-x: auto; scrollbar-width: thin; }
  .pa-tf button { padding: 5px 8px; font-size: 10px; }
  .pa-body { grid-template-columns: 1fr; height: auto; min-height: 0; }
  .pa.pa-full .pa-body { height: auto; }
  .pa-nav { border-right: 0; border-bottom: 1px solid var(--hairline); }
  .pa-nav-search { padding: 7px 8px; }
  .pa-nav-list { max-height: 220px; overflow-y: auto; overflow-x: hidden; display: block; }
  .pa-co { min-width: 0; border-right: 0; border-bottom: 1px solid color-mix(in srgb, var(--hairline) 55%, transparent); padding: 8px 10px; }
  .pa-main { border-right: 0; }
  .pa-head { gap: 10px 14px; padding: 8px 10px; }
  .pa-head-id b { font-size: 12px; }
  .pa-head-px b { font-size: 14px; }
  .pa-head-ohlc { display: none; }
  .pa-canvas-wrap { min-height: 320px; height: 340px; flex: 0 0 340px; }
  .pa-tools { padding: 6px 8px; gap: 8px; }
  .pa-tools label { font-size: 9.5px; }
  .pa-timeline-label { font-size: 9px; }
  .pa-tl-item { padding: 4px 8px; }
  .pa-tl-n { font-size: 10px; }
  .pa-side { padding: 10px 12px; max-height: none; }
  .pa-side-h { font-size: 10px; }
  .pa-mini { grid-template-columns: repeat(4, 1fr); gap: 6px 8px; }
  .pa-mini b { font-size: 11px; }
  .pa-drawer { width: 100vw; }
  .pa-d-body { grid-template-columns: 1fr; }
  .pa-d-nav { display: flex; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--hairline); padding: 0; }
  .pa-d-nav button { width: auto; white-space: nowrap; border-left: 0; border-bottom: 2px solid transparent; padding: 8px 10px; }
  .pa-d-nav button.on { border-bottom-color: var(--amber-bright); }
  .pa-d-content { padding: 12px 14px 26px; }
  .pa-d-title b { font-size: 16px; }
  .pa-ov { gap: 12px; }
  .pa-ov-facts { grid-template-columns: 1fr; min-width: 0; }
}
@media (max-width: 480px) {
  .pa-canvas-wrap { height: 300px; flex-basis: 300px; }
  .pa-mini { grid-template-columns: repeat(2, 1fr); }
  .pa-lv span, .pa-lv b { font-size: 10.5px; }
  .pa-cur-tx b { font-size: 12px; }
  .pa-conf b { font-size: 14px; }
}

/* ── UI refinement addendum ── */
.pa-nav-search input { border-radius: var(--r-sm, 4px); font-size: 12px; }
.pa-tools select { border-radius: var(--r-sm, 4px); font-size: 11px; }
.pa-tools label { font-size: 10.5px; font-weight: 500; }
.pa-rec b { font-size: 12px; }
.pa-rec em { font-size: 10px; }
.pa-rec .mono { font-size: 10px; }
.pa-side-h { font-size: 11px; }
.pa-bias { font-size: 10px; font-weight: 600; }
.pa-cur-l { font-size: 10px; font-weight: 600; }
.pa-d-title b { letter-spacing: -0.015em; }
.pa-ov-facts span { font-size: 11px; }
.pa-ov-facts b { font-size: 12px; }
