:root {
  color-scheme: dark;
  --bg: #091219;
  --surface: #101d25;
  --surface-raised: #15262f;
  --surface-hover: #1a3138;
  --border: #29434b;
  --border-strong: #3d6268;
  --text: #eaf6f3;
  --muted: #a6bbc0;
  --soft: #76949b;
  --accent: #83dfbc;
  --accent-strong: #b4f1d4;
  --warning: #f6ca8a;
  --danger: #ffaaa3;
  --shadow: 0 18px 44px #0004;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background: radial-gradient(circle at 85% -10%, #164037 0, transparent 34rem), var(--bg);
  color: var(--text);
  font: 15px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, a:focus-visible, .table-wrap:focus-visible {
  outline: 2px solid var(--accent-strong);
  outline-offset: 3px;
}
button:disabled { opacity: .46; cursor: not-allowed; }
a { color: var(--accent-strong); }
[hidden], #app[hidden], #login[hidden], .view[hidden] { display: none !important; }
#app { width: min(100%, 1450px); max-width: none; margin: 0 auto; padding: 0 28px 38px; }

/* Identity and navigation */
.top { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 23px 0 20px; border-bottom: 1px solid var(--border); }
.brand-lockup { display: flex; align-items: center; gap: 14px; min-width: 0; }
.brand-mark { display: inline-grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto; border: 1px solid #85deb9a6; border-radius: 13px; background: linear-gradient(145deg, #245f50, #12322e); color: #d9ffec; font-weight: 800; font-size: 21px; box-shadow: inset 0 1px #ffffff2a; }
.top small, .section-head small, .auth form > small { display: block; color: var(--accent); font-size: 10px; font-weight: 800; letter-spacing: .19em; }
.top h1 { margin: 2px 0 0; font-size: clamp(23px, 2.6vw, 31px); line-height: 1.15; letter-spacing: -.04em; }
.top-right { display: flex; align-items: center; gap: 18px; }
.wallet-readout { display: grid; justify-items: end; line-height: 1.25; }
.wallet-readout small { color: var(--muted); letter-spacing: .02em; font-size: 11px; }
.wallet-readout strong { font-size: clamp(18px, 2vw, 24px); font-variant-numeric: tabular-nums; white-space: nowrap; }
button, .lp-nav button, .quiet { min-height: 42px; border: 1px solid #69b49d; border-radius: 10px; padding: 9px 14px; background: #245449; color: #f1fff9; font-weight: 650; line-height: 1.25; transition: background .15s ease, border-color .15s ease, transform .15s ease; }
button:not(:disabled):hover { background: #306b5a; border-color: #92e7c5; }
button:not(:disabled):active { transform: translateY(1px); }
.quiet, .secondary-action { background: #182d35; border-color: var(--border-strong); color: var(--text); }
.quiet:not(:disabled):hover, .secondary-action:not(:disabled):hover { background: #24404a; }
.lp-nav { position: sticky; top: 0; z-index: 12; display: flex; gap: 8px; overflow-x: auto; margin: 0 0 24px; padding: 12px 0; border-bottom: 1px solid var(--border); background: #091219f2; backdrop-filter: blur(12px); scrollbar-width: thin; }
.lp-nav button { flex: 0 0 auto; min-height: 43px; border-color: transparent; background: transparent; color: var(--muted); white-space: nowrap; }
.lp-nav button:hover { color: var(--text); }
.lp-nav button[aria-current="page"] { background: var(--accent); color: #08231b; border-color: var(--accent); }
.liquidity-manager { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--border); min-width: 0; }
.manager-tabs, .manager-choices { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.manager-tabs button { flex: 1; background: transparent; }
.manager-tabs button[aria-pressed="true"] { background: var(--accent); color: #08231b; }
.manager-choices button[aria-pressed="true"] { background: #2b6656; border-color: var(--accent); color: #f1fff9; }
.manager-help { color: var(--muted); line-height: 1.65; }
.move-price-preview { min-width: 0; padding: 14px; margin: 12px 0 16px; }
.move-price-preview h4 { margin: 0 0 10px; }
.move-price-preview .chart-provenance, .move-price-preview .chart-source-note, .move-price-preview .chart-note { display: none; }
.move-price-preview .context-note { margin-bottom: 0; }
.move-range-inputs { margin-top: 12px; }
.move-range-inputs label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 700; }
.move-range-inputs input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 12px; border: 1px solid var(--border-strong); border-radius: 9px; background: #0b1a22; color: var(--text); font-variant-numeric: tabular-nums; }
.manager-editor .investment { margin-top: 16px; }
.manager-withdrawals .sol-target { max-width: none; width: 100%; }
.manager-withdrawals .liquidity-preview { margin-top: 12px; }
.manager-choices label { width: 100%; }
.manager-editor .pool-direct { display: none; }
.manager-editor .chart-provenance, .manager-editor .chart-source-note, .manager-editor .chart-note, .manager-editor #load-pool + small { display: none; }

/* Shared surfaces and typography */
.view { min-width: 0; animation: view-in .18s ease-out; }
@keyframes view-in { from { opacity: .75; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin: 4px 0 17px; }
.section-head h2 { margin: 3px 0 0; font-size: clamp(23px, 2vw, 29px); letter-spacing: -.035em; }
.data-time, #market-at { color: var(--muted); font-size: 12px; white-space: nowrap; }
.panel, .kpis article, .position-card, .position-group { min-width: 0; background: linear-gradient(150deg, #14252e, #101d25 70%); border: 1px solid var(--border); border-radius: 17px; box-shadow: var(--shadow); }
.panel { padding: 20px; margin: 0; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.panel-heading h3 { margin: 0; font-size: 16px; letter-spacing: -.02em; }
.status-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 25px; padding: 2px 9px; border: 1px solid #5b9b82; border-radius: 999px; color: var(--accent); background: #1d4439; font-size: 11px; font-weight: 700; white-space: nowrap; }
.status-pill.neutral { color: #b8d2d4; border-color: #44606a; background: #193039; }
.status-pill.warning { color: var(--warning); border-color: #8a6942; background: #493722; }
.status-pill.danger { color: var(--danger); border-color: #84514f; background: #482c2d; }
.muted, .context-note, footer { color: var(--muted); font-size: 13px; }
.context-note { margin: 16px 0 23px; max-width: 100ch; line-height: 1.65; }
.positive { color: #9ce6bd; }.negative { color: #ffb4ae; }
.notice, .operation-banner { margin: 0 0 17px; border: 1px solid #62846d; border-radius: 12px; background: #1e3b31; padding: 12px 15px; color: #e5f7e8; overflow-wrap: anywhere; }
.notice[data-tone="warning"], .operation-banner[data-tone="warning"] { border-color: #806444; background: #352d21; color: #f8dcb2; }
.notice[data-tone="danger"], .operation-banner[data-tone="danger"] { border-color: #915250; background: #3b2529; color: #ffd5d1; }
.notice button { min-height: 35px; margin: 4px 0 0 6px; font-size: 12px; }
.operation-banner { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 18px; }
.operation-banner small { display: block; color: inherit; opacity: .8; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.operation-banner strong { display: block; font-size: 16px; }
.operation-banner p { margin: 3px 0 0; font-size: 12px; }
.operation-banner button { flex: 0 0 auto; }
.state-alerts { display: grid; gap: 7px; margin-bottom: 14px; }
.state-alerts[hidden] { display: none; }
.state-alert { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 13px; border: 1px solid #726445; border-radius: 10px; background: #302b21; color: #f5ddb8; font-size: 12px; }
.state-alert[data-tone="danger"] { border-color: #915250; background: #3b2529; color: #ffd5d1; }
.state-alert[data-tone="info"] { border-color: #477164; background: #15352f; color: #def7e8; }
.state-alert button { min-height: 30px; flex: 0 0 auto; font-size: 11px; }
.state-alert-more { display: grid; gap: 7px; }
.top small, .section-head small, .auth form > small { letter-spacing: .08em; }
.invest-picks { display: grid; gap: 10px; margin-top: 14px; }
.invest-picks[hidden] { display: none; }
.invest-picks h4 { margin: 6px 0 0; color: var(--muted, #9fb3ad); font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.invest-pick-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.invest-pick { display: grid; gap: 4px; text-align: left; padding: 11px 13px; min-height: 58px; border-radius: 9px; }
.invest-pick strong { font-size: 14px; }
.invest-pick small { color: var(--muted, #9fb3ad); font-size: 11px; font-weight: 500; }
.invest-pick-more { justify-self: start; }
.state-alert-more > summary { cursor: pointer; padding: 4px 2px; color: var(--muted, #9fb3ad); font-size: 12px; font-weight: 700; }

/* Overview */
.kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 15px; }
.kpis article { padding: 17px; }
.kpis small { color: var(--muted); display: block; font-size: 12px; }
.kpis strong { display: block; margin: 8px 0 3px; font-size: clamp(19px, 2vw, 27px); line-height: 1.15; letter-spacing: -.035em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.kpis span { color: var(--soft); font-size: 11px; }
.overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.overview-panel { display: flex; flex-direction: column; align-items: start; min-height: 175px; }
.overview-panel p { color: var(--muted); margin: 0 0 auto; overflow-wrap: anywhere; }
.overview-panel button { margin-top: 18px; }

/* Market */
.filters { display: grid; grid-template-columns: 1.6fr 1.6fr 1.1fr .65fr; gap: 12px; align-items: end; margin: 0; padding: 16px; }
label { color: var(--muted); font-size: 12px; font-weight: 650; }
.filters label, .setup-panel label { display: block; min-width: 0; margin: 0; }
input, select, .filters input, .filters select, .setup-panel input, #position-filter { display: block; width: 100%; min-width: 0; margin: 6px 0 0; padding: 10px 12px; min-height: 43px; border: 1px solid #45626c; border-radius: 9px; background: #0b1a22; color: var(--text); font-size: 14px; }
input::placeholder { color: #6d8990; }
#market-count { margin: 12px 0 16px; }
.table-wrap { overflow: auto; max-width: 100%; border: 1px solid var(--border); border-radius: 15px; background: var(--surface); scrollbar-width: thin; }
table { width: 100%; min-width: 930px; border-collapse: collapse; white-space: nowrap; font-size: 13px; }
th, td { padding: 13px 12px; text-align: right; border-bottom: 1px solid #263c45; }
th { position: sticky; top: 0; z-index: 1; background: #162730; color: var(--muted); font-weight: 700; font-size: 11px; }
tr:last-child td { border-bottom: none; }
tbody tr:hover { background: #20353b; }
th:first-child, td:first-child { text-align: left; }
td small { display: block; color: var(--soft); font-size: 11px; }
td a { font-weight: 750; }
td button { min-height: 36px; padding: 6px 10px; white-space: nowrap; font-size: 12px; }

/* Investment */
.invest-head { align-items: center; }
#gmgn { font-size: 13px; white-space: nowrap; }
.flow-steps { display: flex; gap: 9px; margin: 0 0 14px; padding: 0; list-style: none; }
.flow-steps li { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid var(--border); border-radius: 9px; background: #132630; color: #b3c8ca; font-size: 12px; font-weight: 700; text-align: center; }
.investment { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(330px, .9fr); align-items: start; gap: 16px; }
.chart-panel { min-width: 0; }
#pool-facts { color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
#chart { min-width: 0; }
#chart .chart-controls { display: flex; flex-wrap: wrap; gap: 8px; }
#chart .chart-controls button, #chart .chart-controls select { width: auto; flex: 1 1 145px; min-height: 42px; margin: 0; font-size: 12px; }
#chart .chart-heading { color: var(--text); }
#chart .chart-provenance, #chart .chart-source-note, #chart .chart-note { color: var(--muted); overflow-wrap: anywhere; }
.entry-price-chart { height: 380px !important; border-color: #34575b; background: #0a171e; cursor: grab; user-select: none; overscroll-behavior: contain; }
.entry-price-chart:active { cursor: grabbing; }
.entry-price-chart .range-handle { width: 44px; height: 44px; min-height: 44px; left: 0; right: auto; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: transparent; font-size: 0; touch-action: none; cursor: ns-resize; z-index: 2; }
.entry-price-chart .range-handle.lower, .entry-price-chart .range-handle.lower.line-hit { left: auto; right: 0; width: 44px; }
.entry-price-chart .range-handle::before { content: ''; position: absolute; left: 0; top: 50%; width: 22px; height: 10px; transform: translateY(-50%); border-left: 3px solid #c6ec9b; background: transparent; }
.entry-price-chart .range-handle.lower::before { left: auto; right: 0; border-left: 0; border-right: 3px solid #85c8ff; }
.entry-price-chart .range-upper-label { position: absolute; right: 8px; transform: translateY(-115%); z-index: 1; padding: 4px 8px; border: 1px solid #a3ce7a; border-radius: 7px; background: #24351de8; color: #e7f4d8; font-size: 10px; font-weight: 750; pointer-events: none; white-space: nowrap; }
.entry-price-chart .range-handle:focus-visible { outline: 2px solid white; outline-offset: 3px; }
.setup-panel { position: sticky; top: 76px; display: grid; gap: 12px; }
.setup-panel > h3 { margin: 0; }
.setup-panel .muted { display: block; margin: -4px 0 2px; line-height: 1.5; }
#pool-address { font-size: 12px; }
#load-pool, #preview, #enter { display: block; width: 100%; margin: 0; }
#load-pool { background: #193039; border-color: #4e747b; }
.bin-inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.selection-summary { display: grid; gap: 2px; padding: 13px 14px; border: 1px solid #39736a; border-radius: 11px; background: #18382f; }
.selection-summary small { color: #9bd0bd; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
#selection { margin: 0; font-size: 15px; font-weight: 750; }
#distribution { margin: 0; font-size: 12px; color: #b5d1c4; }
.range-input-status { margin: 7px 0 0; padding-top: 8px; border-top: 1px solid #39736a; color: #b9e7d4; font-size: 12px; line-height: 1.55; }
.range-input-status[data-state="invalid"] { color: #ffb5ae; }
#lower-fdv, #upper-fdv { font-variant-numeric: tabular-nums; }
#preview { background: #245449; }
#enter { background: var(--accent); border-color: var(--accent); color: #0b261e; font-weight: 800; }
#enter:not(:disabled):hover { background: var(--accent-strong); }
#entry-guidance { margin: 0; }
#preview-result { margin: 0; overflow-wrap: anywhere; }
#preview-result:not(:empty) { padding: 12px 14px; border: 1px solid var(--border-strong); border-radius: 10px; background: #102832; font-size: 13px; }
.preview-summary { display: grid; gap: 9px; }
.preview-summary > strong { color: var(--accent-strong); font-size: 16px; }
.preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.preview-grid span { display: grid; gap: 2px; }
.preview-grid small { color: var(--muted); font-size: 10px; }
.preview-summary p { margin: 0; color: var(--muted); font-size: 12px; }

/* Position inventory */
#position-filter { width: min(170px, 36vw); margin: 0; }
#position-list { display: grid; gap: 13px; }
#position-filter[hidden] { display: none; }
#position-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 0 12px; margin-bottom: 12px; }
#position-tabs button { min-height: 44px; padding: 9px 14px; border: 1px solid var(--line); border-radius: 9px; }
#position-tabs button[aria-pressed="true"] { background: var(--accent); color: #152015; border-color: var(--accent); }
#position-list.scrollable { max-height: min(72svh, 900px); overflow: auto; overscroll-behavior: contain; padding-right: 4px; }
.withdrawal-history { margin-top: 15px; }
.withdrawal-history > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; color: var(--accent-strong); font-size: 14px; font-weight: 750; }
.withdrawal-history > summary::before { content: "▸"; }
.withdrawal-history[open] > summary::before { content: "▾"; }
.withdrawal-history[open] > summary { margin-bottom: 10px; }
.withdrawal-record { border-top: 1px solid #29414b; }
.withdrawal-record summary { display: flex; justify-content: space-between; gap: 10px; cursor: pointer; padding: 11px 0; font-size: 12px; }
.withdrawal-record summary strong { min-width: 0; margin: 0; font-size: 12px; line-height: 1.5; font-weight: 650; overflow-wrap: anywhere; }
.withdrawal-record-status { color: var(--accent); white-space: nowrap; }
.withdrawal-record-status[data-status="PARTIAL"], .withdrawal-record-status[data-status="PAUSED"], .withdrawal-record-status[data-status="UNCERTAIN"], .withdrawal-record-status[data-status="FAILED"] { color: #ffbf9d; }
.withdrawal-record-body { padding: 2px 0 13px; font-size: 12px; overflow-wrap: anywhere; }
.withdrawal-record-body p { margin: 6px 0; }
.withdrawal-actual { font-weight: 750; color: #a5e7c1; }
.withdrawal-receipts { margin: 11px 0 0; padding-left: 21px; }
.withdrawal-receipts li { padding: 7px 0; border-top: 1px solid #29414b; }
.withdrawal-receipts strong, .withdrawal-receipts small { display: block; margin: 0; font-size: 12px; }
.withdrawal-receipts small { color: var(--muted); overflow-wrap: anywhere; }
.position-card, .position-group { padding: 18px; }
.position-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(235px, 290px); gap: 22px; align-items: start; margin: 0; }
.position-card h3, .position-group h3 { margin: 0; font-size: 18px; letter-spacing: -.02em; }
.position-card p, .position-group p { margin: 9px 0; overflow-wrap: anywhere; }
.position-card > div:first-child > p:first-of-type, .position-group .group-meta { color: var(--muted); font-size: 12px; }
.position-card .positive, .position-card .negative { font-weight: 750; }
.position-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-content: start; margin: 0; }
.position-actions button { min-height: 43px; padding: 8px 10px; font-size: 12px; white-space: normal; }
.position-actions .resume-button { grid-column: 1 / -1; background: #345b49; border-color: #9ee2b8; }
.position-actions .reposition-button { grid-column: 1 / -1; background: #253e58; border-color: #79b8ed; }
.position-range { display: grid; gap: 7px; margin: 12px 0; padding: 10px 12px; border: 1px solid #335059; border-radius: 10px; background: #0c1c25; }
.range-labels { display: flex; justify-content: space-between; gap: 12px; color: #b5c9ca; font-size: 11px; }
.range-track { position: relative; height: 22px; overflow: hidden; border: 1px solid #385660; border-radius: 7px; background: repeating-linear-gradient(90deg, #10232b 0 10px, #173039 10px 11px); }
.range-band { position: absolute; top: 4px; bottom: 4px; min-width: 2px; border-radius: 5px; background: linear-gradient(90deg, #3c9882, #9de9c0); box-shadow: 0 0 12px #83dfbc44; }
.range-current { position: absolute; top: 0; bottom: 0; width: 3px; transform: translateX(-1px); background: white; box-shadow: 0 0 0 2px #ffffff35, 0 0 8px #fff; }
.range-status { color: var(--accent); font-size: 11px; }
.position-group > .group-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.group-summary { min-width: 0; width: 100%; }
.position-group > .group-head > .position-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.group-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.group-badges .status-pill { font-size: 10px; }
.group-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.group-metrics > div { min-width: 0; padding: 11px 12px; border: 1px solid #335059; border-radius: 10px; background: #0c1c25; }
.group-metrics small { display: block; color: var(--muted); font-size: 11px; }
.group-metrics strong { display: block; margin-top: 4px; font-size: clamp(13px, 1.8vw, 17px); overflow-wrap: anywhere; }
.group-metrics .positive { color: #94e7be; }
.group-metrics .negative { color: #f3a8a8; }
.group-inventory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px 0; border-top: 1px solid #335059; }
.group-inventory[hidden] { display: none; }
.group-inventory > div { min-width: 0; }
.group-inventory small { display: block; color: var(--muted); font-size: 11px; }
.group-inventory strong { display: block; margin-top: 3px; font-size: 14px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.group-inventory-note { grid-column: 1 / -1; line-height: 1.5; }
.position-group .withdraw-button { grid-column: auto; border-color: #78c5a7; background: #204437; }
.position-group .reposition-button { grid-column: auto; }
.group-details { margin-top: 14px; border-top: 1px solid var(--border); padding-top: 12px; }
.group-details summary { cursor: pointer; color: var(--accent-strong); font-weight: 700; padding: 6px 0; }
.group-details[open] summary { margin-bottom: 12px; }
.group-member-list { max-height: min(62vh, 560px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.group-member { display: block; padding: 14px 0; border-top: 1px solid #29414b; }
.group-member:first-of-type { border-top: 0; }
.lp-member-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 9px 0; }
.lp-member-metrics > div { min-width: 0; padding: 9px; border: 1px solid #335059; border-radius: 9px; background: #0c1c25; }
.lp-member-metrics small, .lp-member-metrics strong { display: block; overflow-wrap: anywhere; }
.lp-member-metrics small { color: var(--muted); font-size: 11px; }
.lp-member-metrics strong { margin-top: 4px; font-size: 13px; font-variant-numeric: tabular-nums; }
.lp-member-metrics .positive { color: #94e7be; }
.lp-member-metrics .negative { color: #f3a8a8; }
.group-member .lp-member-note { color: #b6c9ca; }
.lp-recovery[hidden] { display: none !important; }
.group-member .lp-withdraw { width: 100%; min-height: 42px; margin-top: 8px; border-color: #78c5a7; background: #204437; }
.token-sale-control { display: grid; gap: 10px; margin-top: 12px; padding: 12px; border: 1px solid #42675c; border-radius: 12px; background: #102b24; }
.token-sale-control h5 { margin: 0; font-size: 13px; }
.token-sale-control button { width: 100%; min-height: 44px; }
.token-sale-control p { overflow-wrap: anywhere; }
.lp-recovery { margin: 9px 0 4px; padding: 10px; border: 1px solid #335059; border-radius: 10px; background: #0c1c25; }
.lp-recovery summary { cursor: pointer; color: var(--accent); font-size: 12px; font-weight: 750; }
.lp-recovery[open] { display: grid; gap: 8px; }
.sol-target { grid-column: 1 / -1; margin: 9px 0 4px; padding: 10px; border: 1px solid #477164; border-radius: 10px; background: #0e2826; min-width: 0; }
.sol-target summary { cursor: pointer; color: var(--accent-strong); font-size: 13px; font-weight: 750; }
.sol-target[open] { display: grid; gap: 9px; }
.sol-target label { display: block; }
.sol-target input { max-width: 180px; }
.sol-target button { width: 100%; }
.sol-target-result { margin: 0 !important; color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
.sol-target-integrated { margin: 0; padding: 0; border: 0; background: transparent; }
.sol-target-integrated > summary { display: flex; align-items: center; justify-content: center; min-height: 43px; padding: 8px 12px; border: 1px solid #477164; border-radius: 10px; background: #0e2826; list-style: none; }
.sol-target-integrated > summary::-webkit-details-marker { display: none; }
.sol-target-integrated > summary::before { content: '▸'; margin-right: 8px; }
.sol-target-integrated[open] { grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 9px 14px; padding: 10px; border: 1px solid #477164; border-radius: 10px; background: #0e2826; }
.sol-target-integrated[open] > summary { grid-column: 1 / -1; border: 0; }
.sol-target-integrated[open] > summary::before { content: '▾'; }
.sol-target-integrated label { margin: 0; font-size: 12px; }
.sol-target-integrated input { display: block; width: 100%; max-width: 260px; margin-top: 5px; }
.sol-target-integrated button { width: auto; min-height: 42px; }
.sol-target-integrated[hidden] { display: none; }
.liquidity-preview { margin-top: 16px; padding: 16px; border: 1px solid #477164; border-radius: 12px; background: #0c2224; }
.liquidity-preview h4 { margin: 0 0 12px; font-size: 15px; }
.liquidity-preview-legend { margin: 0 0 12px !important; color: #afdcc8; font-size: 11px; }
.liquidity-preview-row { min-width: 0; max-width: 100%; padding: 10px 0; border-top: 1px solid #29414b; }
.liquidity-preview-row-head, .liquidity-preview-axis { display: flex; justify-content: space-between; gap: 10px; }
.liquidity-preview-row-head { margin-bottom: 6px; font-size: 12px; }
.liquidity-preview-row-head > strong { margin: 0; font-size: 14px; }
.liquidity-preview-row-head span, .liquidity-preview-row small, .liquidity-preview-axis { color: var(--muted); font-size: 11px; }
.liquidity-preview-row small { display: block; margin-top: 5px; overflow-wrap: anywhere; }
.bin-plot-label { margin: 9px 0 3px; color: #bfd6d5; font-size: 11px; }
.bin-plot-scroll { max-width: 100%; overflow-x: auto; }
.bin-plot { display: grid; align-items: end; gap: 1px; height: 54px; padding: 3px 2px 0; border: 1px solid #335059; border-radius: 7px; background: #071820; }
.bin-plot-bar { display: block; min-width: 0; background: #557079; border-radius: 2px 2px 0 0; }
.bin-plot-token .bin-plot-bar { background: #7975a4; }
.bin-plot-bar.selected { background: #82dab3; box-shadow: inset 0 0 0 1px #d1ffe4; }
.bin-plot-bar.partial { background: repeating-linear-gradient(45deg,#82dab3 0 3px,#2d7365 3px 6px); box-shadow: inset 0 0 0 1px #d1ffe4; }
.liquidity-preview-axis { margin-top: 8px; }
.liquidity-preview-note { color: var(--muted); font-size: 11px; }
.liquidity-preview > .withdraw-button { width: 100%; min-height: 44px; margin-top: 12px; }
.liquidity-preview[hidden] { display: none; }
@media (max-width: 600px) {
  .state-alert { align-items: flex-start; flex-direction: column; }
  .sol-target-integrated[open] { grid-template-columns: 1fr; }
  .sol-target-integrated input { max-width: none; }
  .sol-target-integrated button { width: 100%; }
}
.lp-recovery-title { color: var(--accent); font-size: 12px; font-weight: 750; }
.lp-recovery select { width: 100%; min-height: 40px; margin: 0; background: var(--surface-raised); color: var(--text); }
.lp-recovery-help { margin: 0 !important; color: #b6c9ca; font-size: 11px; line-height: 1.5; }
.lp-recovery-status { margin: 0 !important; color: var(--muted); font-size: 11px; }
.lp-recovery-save { width: 100%; }
.group-member h4 { margin: 0; font-size: 13px; }
.group-member p { margin: 5px 0; color: var(--muted); font-size: 12px; }
.group-member .position-actions { grid-template-columns: 1fr; }
.group-member .position-actions button { min-height: 38px; }
footer { padding: 35px 0 18px; text-align: center; border-top: 1px solid var(--border); margin-top: 35px; }

/* Auth */
body:has(#login:not([hidden])) { overflow: hidden; }
#login.auth { position: fixed; inset: 0; z-index: 30; display: grid; place-items: center; width: 100vw; max-width: none; min-height: 100dvh; height: auto; overflow: auto; margin: 0; padding: 18px; background: radial-gradient(circle at 80% 0%, #174238, transparent 36rem), var(--bg); }
#login.auth form { width: min(430px, calc(100vw - 36px)); max-width: none; min-width: 0; margin: 0; padding: 32px; border: 1px solid var(--border-strong); border-radius: 19px; background: var(--surface); box-shadow: var(--shadow); }
#login.auth .brand-mark { margin-bottom: 20px; }
#login.auth h1 { margin: 6px 0 8px; font-size: clamp(25px, 6vw, 32px); letter-spacing: -.04em; }
#login.auth p { color: var(--muted); font-size: 13px; }
#login.auth label { display: block; margin: 18px 0; }
#login.auth input { margin-top: 6px; }
#login.auth button { width: 100%; margin-top: 4px; background: var(--accent); color: #0b261e; }
#login-error:not(:empty) { color: var(--danger) !important; }

@media (max-width: 1100px) {
  .kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .investment { grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr); }
  .entry-price-chart { height: 330px !important; }
}
@media (max-width: 620px) {
  .group-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .group-metrics > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  #app { padding: 0 17px 30px; }
  .investment, .overview-grid { grid-template-columns: 1fr; }
  .setup-panel { position: static; }
  .filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .position-card { grid-template-columns: 1fr; gap: 12px; }
  .position-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .position-group > .group-head > .position-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .position-actions .resume-button, .position-actions .reposition-button { grid-column: auto; }
  .entry-price-chart { height: 300px !important; }
}
@media (max-width: 560px) {
  .lp-member-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lp-member-metrics > div:last-child { grid-column: 1 / -1; }
  #app { padding: 0 12px 24px; }
  .top { align-items: start; padding: 16px 0 12px; gap: 8px; }
  .brand-lockup { gap: 8px; }
  .top .brand-mark { width: 32px; height: 32px; font-size: 17px; border-radius: 10px; }
  .top small { font-size: 8px; letter-spacing: .12em; }
  .top h1 { font-size: 20px; }
  .top-right { flex-direction: column; align-items: end; gap: 4px; }
  .wallet-readout strong { font-size: 15px; }
  #logout { min-height: 32px; padding: 4px 9px; font-size: 11px; }
  .lp-nav { gap: 4px; padding: 8px 0; margin-bottom: 17px; }
  .lp-nav button { min-height: 40px; padding: 7px 10px; font-size: 12px; }
  .section-head { align-items: start; }
  .section-head h2 { font-size: 22px; }
  .data-time, #market-at { white-space: normal; text-align: right; font-size: 10px; }
  .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .kpis article { padding: 13px; }
  .kpis strong { font-size: 20px; }
  .panel, .position-card, .position-group { padding: 15px; }
  .filters { grid-template-columns: 1fr 1fr; padding: 13px; gap: 10px; }
  .filters label:nth-child(-n+2) { grid-column: 1 / -1; }
  .flow-steps { gap: 5px; }
  .flow-steps li { padding: 7px 4px; font-size: 10px; }
  .invest-head { align-items: start; }
  #gmgn { font-size: 11px; }
  .entry-price-chart { height: 260px !important; }
  .position-actions { grid-template-columns: 1fr 1fr; }
  .position-actions .resume-button, .position-actions .reposition-button { grid-column: 1 / -1; }
  .group-member { grid-template-columns: 1fr; gap: 8px; }
  .group-member .position-actions { grid-template-columns: 1fr 1fr; }
  .operation-banner { align-items: start; flex-direction: column; }
  #login.auth form { padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
@media (max-width: 560px) {
  .position-group > .group-head { flex-direction: column; align-items: stretch; gap: 10px; }
  .position-group .group-summary, .position-group > .group-head > .position-actions { width: 100%; min-width: 0; }
  .position-group > .group-head > .position-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .position-group > .group-head > .position-actions .withdraw-button,
  .position-group > .group-head > .position-actions .reposition-button { grid-column: 1 / -1; }
  .position-group > .group-head > .position-actions .resume-button { grid-column: 1 / -1; }
  .range-labels { font-size: 10px; }
}
.table-hint { display: none; }
@media (max-width: 820px) {
  .table-hint { display: block; margin: -5px 0 8px; color: var(--accent-strong); font-size: 12px; }
}

/* Liquidity Desk visual hierarchy: values and next actions before methodology. */
:root {
  --bg: #081319;
  --surface: #102128;
  --surface-raised: #162b32;
  --border: #2a454b;
  --border-strong: #477078;
  --text: #edf8f5;
  --muted: #b5c9cb;
  --soft: #91abb0;
  --accent: #81ddba;
  --shadow: 0 12px 32px #00000024;
}
body { background: radial-gradient(ellipse 64rem 30rem at 95% -12%, #17473b72, transparent 72%), var(--bg); letter-spacing: -.005em; }
#app { max-width: 1320px; padding-bottom: 48px; }
.top { padding-block: 20px 18px; }
.top h1 { font-weight: 760; }
.wallet-readout strong, .kpis strong, .group-metrics strong, .lp-member-metrics strong { font-variant-numeric: tabular-nums; }
.lp-nav { margin-bottom: 26px; border-radius: 0 0 12px 12px; }
.lp-nav button { font-weight: 700; }
.section-head { margin: 8px 0 20px; }
.section-head h2 { font-weight: 750; }
.panel, .kpis article, .position-card, .position-group { border-radius: 15px; background: linear-gradient(155deg, #13262d, #0e1e26 78%); box-shadow: var(--shadow); }
.panel-heading h3, .move-price-preview h4 { font-size: 16px; font-weight: 750; }
.context-note { color: var(--muted); line-height: 1.55; }
.status-pill { letter-spacing: .01em; }
.notice { border-left-width: 4px; font-weight: 570; }
button, .quiet { font-weight: 700; }
button:disabled { opacity: .55; }
input, select { accent-color: var(--accent); }
input:focus, select:focus { border-color: var(--accent); }
input::placeholder { color: #91a8ab; }
.kpis article { min-height: 124px; padding: 18px; }
.kpis small { color: #b7cacb; }
.kpis strong { margin-top: 10px; font-weight: 740; }
.overview-panel { min-height: 168px; }
.overview-panel button { margin-top: 16px; }
.filters { gap: 10px; }
#market-count { margin: 12px 0 9px; color: #c3d4d3; font-size: 13px; }
.table-wrap { max-height: min(64vh, 650px); overscroll-behavior: contain; }
th, td { padding-block: 11px; }
tbody tr { transition: background-color .15s ease; }
tbody tr:nth-child(even) { background: #ffffff04; }
td a { color: #9ee8c8; }
.flow-steps li { background: #11252b; color: #bed2d0; }
.chart-panel, .setup-panel { overflow-wrap: anywhere; }
.chart-heading { font-size: 15px; font-weight: 760; }
.chart-controls { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#chart .chart-controls button, #chart .chart-controls select, .move-price-preview .chart-controls button, .move-price-preview .chart-controls select { width: 100%; min-width: 0; min-height: 48px; margin: 0; font-size: 12px; }
.chart-gesture-hint { margin: 10px 0 8px; color: #aec3c3; line-height: 1.5; }
.chart-selection { margin-top: 12px; font-size: 13px; }
.chart-times { color: var(--soft); font-size: 11px; }
.chart-controls:not(.read-only) .chart-series { grid-column: 1 / -1; }
.range-precision { margin-top: 14px; padding: 12px; border: 1px solid #34575b; border-radius: 12px; background: #0c2027; min-width: 0; }
.precision-boundaries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.precision-boundaries button { margin: 0; min-height: 48px; min-width: 0; padding: 9px 6px; font-size: 12px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; background: #102b33; border-color: #35555d; }
.precision-boundaries [aria-pressed="true"][data-precision-boundary="upper"] { border-color: #c6ec9b; background: #283c2b; color: #e5f5ce; }
.precision-boundaries [aria-pressed="true"][data-precision-boundary="lower"] { border-color: #85c8ff; background: #193847; color: #cceaff; }
.precision-stepper { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 12px; margin-top: 12px; }
.precision-stepper button { margin: 0; padding: 0; width: 48px; min-height: 48px; font-size: 25px; touch-action: none; user-select: none; }
.precision-slider { width: 100%; min-width: 0; height: 48px; margin: 0; padding: 0; border: 0; background: transparent; accent-color: #85c8ff; cursor: ew-resize; touch-action: pan-y; }
.precision-help { margin: 7px 0 0; color: #aec3c3; font-size: 11px; line-height: 1.6; }
.range-precision :focus-visible { outline: 2px solid #d4f2e8; outline-offset: 3px; }
.chart-method { margin-top: 12px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 9px; background: #0b1b21; }
.chart-method summary { color: #aed7c7; cursor: pointer; font-size: 12px; font-weight: 700; }
.chart-method p { margin: 9px 0 0; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; }
.chart-empty-history { color: var(--muted); font-size: 12px; }
.move-price-preview .chart-method { display: none; }
.pool-direct, .safety-details { padding: 10px 12px; border: 1px solid var(--border); border-radius: 9px; background: #0b1b21; }
.pool-direct summary, .safety-details summary { color: #bedbcd; cursor: pointer; font-size: 12px; font-weight: 700; }
.pool-direct[open], .safety-details[open] { padding-bottom: 14px; }
.pool-direct[open] summary, .safety-details[open] summary { margin-bottom: 10px; }
.pool-direct label { display: block; }
.pool-direct #load-pool { margin-top: 9px; height: auto; min-height: 42px; line-height: 1.3; }
.pool-direct #load-pool + small { margin-top: 12px; position: static; }
.position-range.range-near-low { border-color: #8a6a35; }
.position-range.range-near-low .range-status { color: #ffcb82; font-weight: 700; }
.position-range.range-out { border-color: #8a4a40; }
.position-range.range-out .range-status { color: #ff9b8b; font-weight: 700; }
.position-range.range-out .range-current { background: #ff9b8b; }
.desk-dialog { width: min(520px, calc(100vw - 32px)); padding: 0; border: 1px solid #4e747b; border-radius: 12px; background: #0e1c22; color: var(--text, #e8f1ec); box-shadow: 0 18px 60px #000a; }
.desk-dialog::backdrop { background: #02080bcc; }
.desk-dialog form { display: grid; gap: 14px; padding: 20px; margin: 0; }
.desk-dialog-text { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 14px; line-height: 1.6; }
.desk-dialog-input { display: grid; gap: 6px; font-size: 12px; color: var(--muted, #9fb3ad); }
.desk-dialog-input input { width: 100%; box-sizing: border-box; }
.desk-dialog-actions { display: flex; flex-direction: row-reverse; gap: 8px; }
.desk-dialog-actions button { flex: 1 1 0; min-height: 42px; }
.desk-dialog-ok { background: #2d5a4a; border-color: #6fbf9a; }
.desk-dialog-ok:disabled { opacity: .45; cursor: not-allowed; }
.pool-direct small, .safety-details p { display: block; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.setup-panel > h3 { color: var(--text); }
.setup-panel > .muted, .setup-panel > small { line-height: 1.5; }
.setup-panel label:has(#bins-input), .setup-panel label:has(#bins-input) + small { display: none; }
.selection-summary { border-left: 3px solid var(--accent); }
.selection-summary #selection { font-size: 15px; }
#preview, #enter { min-height: 46px; }
.position-group { padding: 22px; }
.position-group .group-meta { line-height: 1.5; }
.position-group .group-badges { margin-top: 8px; }
.position-group .group-metrics { gap: 9px; margin: 16px 0 12px; }
.position-group .group-metrics > div { min-height: 76px; background: #0b1d24; }
.position-group .group-metrics > div:first-child { border-color: #3b7f70; background: linear-gradient(140deg, #173f35, #0c292a); }
.position-group[data-status="CLOSED"] .group-metrics > div:first-child { border-color: #335059; background: #0b1d24; }
.position-group .group-metrics strong { font-size: clamp(16px, 1.7vw, 20px); }
.position-group > .group-head > .position-actions { display: block; }
.position-group > .group-head > .position-actions .manage-button { width: 100%; min-height: 46px; }
.position-group .group-details { margin-top: 15px; }
.position-group .group-details > summary { color: #bee5d4; padding: 10px 0; }
.manager-tabs { padding: 4px; border: 1px solid var(--border); border-radius: 11px; background: #091c22; }
.manager-tabs button { border: 0; border-radius: 8px; }
.manager-help { margin: 9px 0 16px; font-size: 13px; }
.manager-choices { margin-bottom: 16px; }
.move-price-preview { padding: 18px; }
.move-price-preview .chart-controls { margin-bottom: 10px; }
.sol-target-integrated > summary { justify-content: flex-start; }
.sol-target-integrated[open] { padding: 16px; }
#settings #rpc-form { position: static; width: min(100%, 680px); margin-inline: auto; }
#settings .context-note { margin-bottom: 0; }
#login.auth form { box-shadow: 0 26px 90px #0007; }

@media (max-width: 820px) {
  .lp-nav { margin-bottom: 21px; }
  .table-wrap { max-height: none; border: 0; background: transparent; overflow: visible; }
  #market table { display: block; width: 100%; min-width: 0; white-space: normal; }
  #market thead { display: none; }
  #market tbody { display: grid; gap: 10px; max-height: min(67vh, 650px); overflow-y: auto; padding-right: 3px; overscroll-behavior: contain; scrollbar-width: thin; counter-reset: market-rank; }
  #market tbody tr { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px 10px; align-items: start; padding: 14px; border: 1px solid var(--border); border-radius: 13px; background: #11242b; counter-increment: market-rank; }
  #market tbody tr:hover { background: #173039; }
  #market td { display: block; min-width: 0; padding: 0; border: 0; text-align: left; font-size: 13px; overflow-wrap: anywhere; }
  #market td:first-child { grid-column: 1 / 5; font-size: 16px; font-weight: 750; }
  #market td:first-child::before { content: counter(market-rank, decimal-leading-zero) '  '; color: var(--accent); font-size: 11px; font-weight: 800; }
  #market td:first-child small { margin-top: 1px; font-size: 10px; font-weight: 450; }
  #market td:nth-child(2) { grid-column: 5 / 7; justify-self: end; color: var(--soft); font-size: 11px; }
  #market td:nth-child(3), #market td:nth-child(4), #market td:nth-child(5) { grid-column: span 2; padding-top: 10px; border-top: 1px solid #2b474a; font-variant-numeric: tabular-nums; }
  #market td:nth-child(6), #market td:nth-child(7) { grid-column: span 3; color: var(--muted); font-size: 12px; }
  #market td:nth-child(8) { grid-column: 1 / -1; }
  #market td:nth-child(3)::before, #market td:nth-child(4)::before, #market td:nth-child(5)::before, #market td:nth-child(6)::before, #market td:nth-child(7)::before { display: block; margin-bottom: 3px; color: var(--soft); font-size: 10px; font-weight: 600; }
  #market td:nth-child(3)::before { content: '24h 거래량'; }
  #market td:nth-child(4)::before { content: '24h 수수료'; }
  #market td:nth-child(5)::before { content: 'TVL'; }
  #market td:nth-child(6)::before { content: '거래량 / TVL'; }
  #market td:nth-child(7)::before { content: '3일 지속'; }
  #market td:nth-child(8) button { width: 100%; }
  .table-hint { margin: 0 0 12px; }
}
@media (max-width: 560px) {
  #app { padding-inline: 13px; }
  .top { padding-top: 15px; }
  .wallet-readout strong { font-size: 16px; }
  .lp-nav { gap: 3px; padding: 7px 0; }
  .lp-nav button { padding-inline: 9px; font-size: 12px; }
  .section-head { margin-top: 6px; }
  .section-head h2 { font-size: 24px; }
  .panel, .position-card, .position-group { padding: 16px; }
  .kpis article { min-height: 118px; padding: 14px; }
  .overview-panel { min-height: 148px; }
  .position-group .group-metrics > div { min-height: 72px; }
  .position-group .group-metrics strong { font-size: 17px; }
  .move-price-preview { padding: 13px; }
  .chart-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chart-selection { gap: 7px; font-size: 12px; }
  #market tbody tr { padding: 13px; }
}
@media (max-width: 360px) {
  .top { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .top .brand-mark { width: 29px; height: 29px; font-size: 15px; }
  .brand-lockup { gap: 6px; }
  .top .brand-lockup small { display: none; }
  .top h1 { font-size: 18px; white-space: nowrap; }
  .top-right { flex-direction: row; align-items: center; justify-content: space-between; }
  .wallet-readout { justify-items: start; }
  .wallet-readout strong { font-size: 14px; }
  .lp-nav { gap: 0; }
  .lp-nav button { flex: 1 1 0; min-width: 0; padding-inline: 3px; font-size: 11px; }
}
/* Source recovery and destination supply are separate manual approvals. */
.selected-range-source { border-color: #628a81; }
.selected-range-source h4, .position-live-chart h4 { margin: 0 0 14px; }
.selected-range-result { padding: 0 0 16px; font-size: .9rem; }
.selected-range-result p { margin: 10px 0; }
.selected-range-result small { color: var(--muted, #a4b7bc); line-height: 1.6; }
.position-chart-title { cursor: pointer; }
.position-chart-title:hover { color: #8ee2c6; }
.position-chart-title:focus-visible { outline: 2px solid #8ee2c6; outline-offset: 5px; }
.position-live-chart .group-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.position-live-chart .group-head h4 { margin: 0; }
.position-live-chart .group-head a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; text-decoration: none; font-size: 12px; white-space: nowrap; }
.position-live-chart > button { min-height: 44px; margin: 14px 0 0; }
.chart-controls > button, .chart-controls > select { width: 100%; max-width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 10px; font-size: 12px; line-height: 1.4; }
.chart-controls { align-items: stretch; margin-bottom: 12px; }
.chart-heading { margin-bottom: 12px; line-height: 1.5; }
.chart-method > summary { min-height: 44px; box-sizing: border-box; }
.withdrawal-history > summary { display: grid; grid-template-columns: 12px minmax(0,1fr) auto; justify-content: initial; min-height: 44px; list-style: none; text-align: left; }
.withdrawal-history > summary::-webkit-details-marker { display: none; }
.group-details > summary { min-height: 44px; display: flex; align-items: center; gap: 8px; list-style: none; }
.group-details > summary::-webkit-details-marker { display: none; }
.group-details > summary::before { content: '▸'; flex: 0 0 12px; }
.group-details[open] > summary::before { content: '▾'; }

/* Manual desk: compact numbers, explicit status and one chart per move step. */
.lp-nav button, #logout { min-height: 44px; }
.lp-nav { padding-block: 8px; margin-bottom: 16px; }
#positions .section-head { align-items: center; margin: 0 0 12px; }
#positions .section-head small { display: none; }
.group-summary { width: 100%; }
.group-summary > .position-actions { display: flex; gap: 8px; margin: 12px 0; }
.group-summary > .position-actions button { flex: 1; min-height: 44px; margin: 0; }
.position-group .group-metrics { margin: 12px 0; }
.position-group .group-metrics > div { min-height: 0; padding: 10px; }
.position-group .group-metrics strong { font-size: 16px; }
.group-inventory { gap: 9px; padding: 10px 0; }
.group-inventory strong { font-size: 13px; }
strong[role="button"] { cursor: pointer; text-decoration: underline dotted #71938c; text-underline-offset: 4px; }
strong[role="button"]:focus-visible { outline: 2px solid #8ee2c6; outline-offset: 4px; border-radius: 3px; }
#amount-dialog { max-width: min(90vw, 440px); width: 100%; padding: 24px; color: #e4f4ef; background: #10272e; border: 1px solid #4c796e; border-radius: 18px; }
#amount-dialog::backdrop { background: #000a; }
#amount-dialog-value { font-size: 20px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
#amount-dialog button { width: 100%; min-height: 44px; }
#position-history-filters { display: grid; grid-template-columns: minmax(0,2fr) repeat(3,minmax(0,1fr)); gap: 10px; margin: 14px 0; }
#position-history-filters label { margin: 0; min-width: 0; font-size: 12px; }
#position-history-filters input, #position-history-filters select { display: block; box-sizing: border-box; min-width: 0; min-inline-size: 0; width: 100%; max-width: 100%; min-height: 48px; margin: 5px 0 0; padding: 10px; font-size: 14px; }
#position-history-filters input[type="date"] { appearance: none; -webkit-appearance: none; }
#position-history-filters input[type="date"]::-webkit-date-and-time-value { min-width: 0; text-align: left; }
@media (max-width: 1000px) {
 #position-history-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
 #position-history-filters > label:first-child, #position-history-filters > label:last-child { grid-column: 1 / -1; }
}
#position-count { margin: 10px 0; color: var(--muted); font-size: 12px; }
#position-more { width: 100%; min-height: 44px; }
.position-group[data-status="CLOSED"] .group-metrics > div:not(:last-child) { display: none; }
.position-group[data-status="CLOSED"] .group-metrics { grid-template-columns: 1fr; }
.position-group[data-status="CLOSED"] .group-metrics > div { display: flex; justify-content: space-between; align-items: center; }
.position-group[data-status="CLOSED"] .group-metrics strong { margin: 0; }
.lp-member-metrics { grid-template-columns: repeat(5, minmax(0,1fr)); }
.lp-member-metrics > div { padding: 8px; }
.group-member button { min-height: 44px; }
.move-steps, .source-methods { display: grid; gap: 8px; margin: 12px 0; }
.move-steps { grid-template-columns: repeat(3,minmax(0,1fr)); }
.source-methods { grid-template-columns: repeat(2,minmax(0,1fr)); }
.move-steps button, .source-methods button { min-height: 44px; margin: 0; padding: 8px; }
.move-steps [aria-current="step"], .source-methods [aria-pressed="true"] { background: #285949; border-color: #8ee2c6; color: #e0fff1; }
.move-summary { border-block: 1px solid #335059; padding: 10px 0; margin-bottom: 14px; }
.move-summary > div { display: flex; gap: 12px; margin: 5px 0; font-size: 12px; }
.move-summary small { flex: 0 0 48px; color: var(--muted); }
.move-summary strong { min-width: 0; margin: 0; font-size: 13px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.move-step-actions { display: flex; justify-content: space-between; gap: 12px; }
.move-step-actions button { flex: 1; min-height: 44px; }
.liquidity-manager[data-mode="MOVE"][data-step="SOURCE"] .selected-range-preview,
.liquidity-manager[data-mode="MOVE"][data-step="SOURCE"] .selected-range-source > .withdraw-button,
.liquidity-manager[data-mode="MOVE"][data-step="SOURCE"] .selected-range-result,
.liquidity-manager[data-mode="MOVE"][data-step="SOURCE"] .sol-target-integrated .liquidity-preview { display: none; }
.selected-range-source[data-review="true"] > label,
.selected-range-source[data-review="true"] > .bin-inputs,
.selected-range-source[data-review="true"] > div:not(.selected-range-result) { display: none; }
.manager-withdrawals[data-review="true"] .sol-target-integrated > label { display: none; }
.precision-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 0; }
.precision-fields label { margin: 0; font-size: 11px; min-width: 0; }
.precision-fields input { width: 100%; min-width: 0; font-size: 14px; min-height: 44px; padding: 10px; }
.precision-fields [data-boundary="upper"] { color: #c6ec9b; }
.precision-fields [data-boundary="lower"] { color: #85c8ff; }
.precision-fields [data-selected="true"] input { border-color: currentColor; box-shadow: 0 0 0 1px currentColor; }
@media (max-width: 700px) {
 #position-history-filters input, #position-history-filters select, .precision-fields input { font-size: 16px; }
 .top-right { flex-direction: row; gap: 8px; align-items: center; }
 .top { gap: 10px; padding-block: 14px; }
 .position-group { padding: 14px; }
 .position-group h3 { font-size: 18px; }
 .position-group .group-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
 .position-group .group-metrics > div:last-child { grid-column: 1 / -1; display: flex; gap: 10px; align-items: center; justify-content: space-between; }
 .position-group .group-metrics > div:last-child strong { margin: 0; }
 #position-history-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
 #position-history-filters > label:first-child { grid-column: 1 / -1; }
 .lp-member-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .lp-member-metrics > div:last-child { grid-column: 1 / -1; }
}
