/* Provenian write path — Actions tab styles.
   Mobile-first, dark theme, uses the CSS vars from styles.css.
   Reuses styles.css's .form, .navbtn, .tile, .hist, .kv, .ghost, .wtable base. */
#view-actions {
  padding: .7rem .9rem 4rem;
}
@media (min-width: 800px) {
  #view-actions { max-width: 46rem; margin: 0 auto; }
}

/* sub-nav: Sell | Buy | Trade | Close the day */
#a-subnav {
  display: flex; gap: .35rem; margin-bottom: .8rem;
  overflow-x: auto; padding-bottom: .1rem;
}
#a-subnav .navbtn { flex: 1 0 auto; padding: .6rem .8rem; font-size: .95rem; }

/* cards (styles.css scopes .card under detail views; Actions has its own) */
.wcard {
  background: var(--panel); border-radius: var(--radius);
  padding: 1rem; margin-bottom: .7rem;
}
.wcard h3 {
  margin: 0 0 .5rem; font-size: .8rem; color: var(--muted);
  text-transform: uppercase; letter-spacing: .05em;
}
.wcard p { font-size: .92rem; }

.wmuted { color: var(--muted); }
.wloading { color: var(--muted); font-size: .85rem; padding: .4rem 0; }

/* action button rows — big phone-sized targets */
.rowbtns { display: flex; gap: .5rem; margin: .7rem 0; flex-wrap: wrap; }
.rowbtns button { flex: 1; padding: .8rem .6rem; font-size: 1rem; }
.rowbtns button:disabled { opacity: .45; cursor: not-allowed; }

/* inline errors + acknowledgment banners */
.werr { color: var(--red); margin-top: .5rem; font-size: .9rem; min-height: 1.2em; }
.wbanner {
  border-radius: var(--radius); padding: .9rem 1rem;
  margin: .7rem 0; font-size: .95rem; line-height: 1.45;
  overflow-wrap: anywhere;
}
.wbanner.ok { background: #1f4433; border: 1px solid var(--green); }
.wbanner.err { background: #4d2222; border: 1px solid var(--red); }
.wbanner .witemnum { font-size: 1.35rem; font-weight: 700; margin: .3rem 0 .5rem; }

/* sale gain preview */
.wpreview { margin-top: .6rem; }
.wpreview-row {
  display: flex; justify-content: space-between; gap: .6rem;
  padding: .35rem 0; border-top: 1px solid var(--panel2); font-size: .95rem;
}
.wpos { color: var(--green); }
.wneg { color: var(--red); }

/* ---------- pickers (items + contacts) ---------- */
.wpick-results { margin-top: .4rem; }
.wpick-item {
  background: var(--panel2); border-radius: var(--radius);
  padding: .6rem .8rem; margin-bottom: .4rem; cursor: pointer;
}
.wpick-item:active { outline: 2px solid var(--accent); }
.wpick-name { font-weight: 600; display: block; }
.wpick-meta { color: var(--muted); font-size: .82rem; }
.wsel {
  background: var(--panel2); border: 1px solid var(--blue);
  border-radius: var(--radius); padding: .6rem .8rem;
  display: flex; gap: .6rem; align-items: center; margin-bottom: .4rem;
}
.wsel-name { font-weight: 600; flex: 1; }
.wsel-id { color: var(--muted); font-size: .8rem; }
.wcpick input[type=search], .wipick input[type=search],
.wtrow input, .wformlabel input {
  font-size: .95rem; padding: .55rem .7rem; border-radius: var(--radius);
  border: 1px solid var(--panel2); background: var(--panel2); color: var(--text);
}
.wcpick input[type=search], .wipick input[type=search] { width: 100%; }
.wcnew, .wtrow .wt-rm { margin-top: .5rem; }
.wcnewform { margin-top: .6rem; }

/* collapsed trade-row cards: one-line summary, tap to edit in a modal */
.wtcard {
  border: 1px solid var(--panel2); border-radius: var(--radius);
  padding: .7rem .8rem; margin-bottom: .5rem; cursor: pointer;
  background: var(--panel);
}
.wtcard:active { outline: 2px solid var(--accent); }

/* trade-card trash can: top-right, removes the row without opening the modal */
.wtcard { position: relative; padding-right: 2.4rem; }
.wtcard-x {
  position: absolute; top: .45rem; right: .45rem;
  width: 1.7rem; height: 1.7rem; padding: 0; line-height: 1;
  font-size: .95rem; cursor: pointer;
  border: 1px solid var(--panel2); border-radius: .4rem;
  background: transparent; color: var(--muted);
}
.wtcard-x:hover, .wtcard-x:focus-visible { color: var(--text); border-color: var(--accent); }
.wtcard-title { font-weight: 600; }
.wtcard-meta { color: var(--muted); font-size: .82rem; margin-top: .15rem; }

/* trade rows + standalone write-path form labels */
.wtrow {
  border: 1px solid var(--panel2); border-radius: var(--radius);
  padding: .7rem; margin-bottom: .5rem;
}
.wformlabel {
  display: grid; gap: .25rem; font-size: .78rem; color: var(--muted);
  margin-top: .5rem;
}
.wformlabel input, .wformlabel select, .wformlabel textarea { width: 100%; }

/* ---------- live trade balance bar ---------- */
.wbal {
  display: flex; gap: .8rem; align-items: center; flex-wrap: wrap;
  background: var(--panel); border-radius: var(--radius);
  padding: .9rem 1rem; margin: .7rem 0; border: 2px solid transparent;
}
.wbal.ok { border-color: var(--green); }
.wbal.bad { border-color: var(--red); }
.wbal span {
  display: block; font-size: .72rem; color: var(--muted);
  text-transform: uppercase; letter-spacing: .04em;
}
.wbal strong { font-size: 1.25rem; }
.wbal .weq { font-size: 1.3rem; color: var(--muted); }
.wbal .wdiff { margin-left: auto; font-weight: 700; }
.wbal.ok .wdiff { color: var(--green); }
.wbal.bad .wdiff { color: var(--red); }

/* ---------- closing ---------- */
#wc-tiles { display: flex; gap: .6rem; overflow-x: auto; margin-bottom: .7rem; }
.wtable { width: 100%; border-collapse: collapse; font-size: .88rem; }
.wtable th {
  text-align: left; color: var(--muted); font-size: .72rem;
  text-transform: uppercase; letter-spacing: .04em;
  padding: .4rem .5rem; border-bottom: 1px solid var(--panel2);
}
.wtable td { padding: .55rem .5rem; border-bottom: 1px solid var(--panel2); vertical-align: top; }
.wtable tr.wrow-click { cursor: pointer; }
.wtable tr.wrow-click:active td { background: var(--panel2); }
.wchk { width: 1.4rem; height: 1.4rem; accent-color: var(--accent); }

/* ---------- trade builder extras ---------- */
.wt-itemmeta { font-size: .85rem; margin: .1rem 0 .4rem; }
.wlink {
  background: none; border: none; padding: 0; cursor: pointer;
  color: var(--accent); text-decoration: underline; font-size: inherit;
}
.wdupe {
  display: flex; align-items: center; gap: .5rem; padding: .4rem 0;
  border-top: 1px solid var(--panel2); font-size: .9rem;
}
.wdupe .wpick-name { font-weight: 600; }
.wdupe .wpick-meta { color: var(--muted); font-size: .8rem; }
.wdupe button { margin-left: auto; }
.wmodal-ov {
  position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 60;
  display: flex; align-items: center; justify-content: center; padding: 1rem;
}
.wmodal {
  background: var(--panel); border: 1px solid var(--panel2);
  border-radius: var(--radius); padding: 1rem 1.2rem;
  max-width: 26rem; width: 100%; max-height: 85vh; overflow-y: auto;
}
.wmodal h3 { margin-top: 0; }

/* Creatable combobox: text input with a type-to-filter suggestion list. */
.wcombo { position: relative; }
.wcombo-list {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 70;
  background: var(--panel); border: 1px solid var(--panel2);
  border-radius: var(--radius); max-height: 12rem; overflow-y: auto;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .45); margin-top: 2px;
}
.wcombo-item { padding: .5rem .7rem; cursor: pointer; }
.wcombo-item:hover { background: var(--panel2); }
.wcombo-new { color: var(--accent); }
.wcombo-empty { padding: .5rem .7rem; color: var(--muted); font-size: .85rem; }

/* Trade grouping: the two legs of a trade render as one unit. */
.wbadge {
  display: inline-block; padding: .1rem .55rem; border-radius: 999px;
  background: var(--accent); color: #fff; font-size: .72rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; vertical-align: middle;
}
.wtrade-side {
  display: flex; gap: .6rem; align-items: baseline; padding: .18rem 0;
}
.wtrade-side .wside { color: var(--muted); flex: 0 0 6.4rem; }
.wtrade-side .wamt { margin-left: auto; font-weight: 600; white-space: nowrap; }

