:root {
	--ink: #101816;
	--ink-soft: #24302d;
	--forest: #0b2924;
	--forest-2: #123c34;
	--emerald: #16806b;
	--emerald-bright: #35b697;
	--paper: #f3f4ef;
	--paper-2: #e9ebe4;
	--card: #fbfcf8;
	--line: #dfe3da;
	--muted: #6d7772;
	--gold: #b79a5e;
	--blue: #496d8d;
	--danger: #a84f4f;
	--shadow: 0 18px 50px rgba(25, 42, 36, .08);
	--radius: 18px;
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--ink);
}

* { box-sizing: border-box; }
html { min-width: 320px; min-height: 100%; background: var(--paper); }
body { margin: 0; min-height: 100vh; color: var(--ink); background: var(--paper); }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
.hidden { display: none !important; }
/* Espera do login/boot (admin e portal): spinner + texto com o tempo passando */
.boot-spinner { display: inline-block; width: 18px; height: 18px; border-radius: 50%; border: 3px solid rgba(22,128,107,.25); border-top-color: var(--emerald, #16806b); animation: bootSpin .8s linear infinite; vertical-align: middle; flex: none; }
@keyframes bootSpin { to { transform: rotate(360deg); } }
.boot-overlay { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; background: rgba(245,247,246,.82); backdrop-filter: blur(3px); }
.boot-overlay > div { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 26px 32px; border-radius: 16px; background: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.15); text-align: center; max-width: 360px; }
.boot-overlay b { font-size: 15px; } .boot-overlay small { font-size: 12px; color: var(--muted, #6b7a76); line-height: 1.5; }
.access-loading { display: flex; align-items: center; gap: 10px; margin: 10px 0 0; font-size: 12px; color: #64d3b5; }
.positive { color: var(--emerald) !important; }
.warning { color: #a86e24 !important; }
.kicker, .breadcrumb { margin: 0; color: #73817b; font-size: 9px; font-weight: 850; letter-spacing: .18em; }

.brand { display: flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; }
.brand > span:last-child { display: flex; flex-direction: column; letter-spacing: .17em; }
.brand b { font-family: Georgia, serif; font-size: 19px; line-height: 1; letter-spacing: .2em; }
.brand small { margin-top: 5px; color: #77847f; font-size: 7px; font-weight: 800; letter-spacing: .28em; }
.brand-mark { width: 33px; height: 33px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 3px; transform: skew(-7deg); }
.brand-mark i { display: block; border-radius: 2px; background: currentColor; }
.brand-mark i:nth-child(1) { height: 50%; opacity: .48; }
.brand-mark i:nth-child(2) { height: 74%; opacity: .72; }
.brand-mark i:nth-child(3) { height: 100%; }

.ambient { position: fixed; z-index: 0; pointer-events: none; border-radius: 50%; filter: blur(4px); }
.ambient-one { width: 600px; height: 600px; top: -320px; right: -180px; background: radial-gradient(circle, rgba(49, 138, 115, .12), transparent 68%); }
.ambient-two { width: 460px; height: 460px; left: -280px; bottom: -240px; background: radial-gradient(circle, rgba(183, 154, 94, .09), transparent 70%); }

/* Invite access */
.access-view { position: relative; z-index: 1; min-height: 100vh; padding: 36px clamp(28px, 5vw, 76px) 26px; display: flex; flex-direction: column; background: linear-gradient(112deg, rgba(244,246,240,.98) 0 53%, rgba(9,39,34,.98) 53% 100%); }
.access-header { display: flex; justify-content: space-between; align-items: center; }
.access-header .brand { color: var(--forest); }
.invitation-only { color: rgba(255,255,255,.72); font-size: 10px; font-weight: 750; letter-spacing: .1em; }
.invitation-only i, .data-status i, .environment i { width: 7px; height: 7px; display: inline-block; margin-right: 7px; border-radius: 50%; background: var(--emerald-bright); box-shadow: 0 0 0 5px rgba(53,182,151,.1); }
.access-grid { width: min(1200px, 100%); margin: auto; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: clamp(50px, 10vw, 140px); padding: 60px 0; }
.access-copy { max-width: 680px; }
.access-copy h1 { margin: 18px 0 26px; color: var(--forest); font-family: Georgia, "Times New Roman", serif; font-size: clamp(44px, 5vw, 72px); font-weight: 500; line-height: 1.04; letter-spacing: -.045em; }
.access-copy h1 em { color: var(--emerald); font-style: italic; }
.access-copy .lead { max-width: 570px; margin: 0; color: #64706b; font-size: 16px; line-height: 1.75; }
.trust-row { margin-top: 48px; display: flex; gap: 42px; }
.trust-row div { display: grid; gap: 5px; padding-left: 15px; border-left: 1px solid #ced3ca; }
.trust-row strong { color: var(--forest); font-family: Georgia, serif; font-size: 23px; font-weight: 500; }
.trust-row span { color: #79827e; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.access-card { position: relative; width: 100%; max-width: 430px; justify-self: center; padding: 44px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; color: white; background: rgba(255,255,255,.065); box-shadow: 0 35px 80px rgba(0,0,0,.2); backdrop-filter: blur(18px); }
.card-monogram { position: absolute; right: -12px; top: -48px; color: rgba(255,255,255,.028); font-family: Georgia, serif; font-size: 210px; line-height: 1; }
.access-card .kicker { color: #8bb1a7; }
.access-card h2 { position: relative; margin: 14px 0 9px; font-family: Georgia, serif; font-size: 29px; font-weight: 500; }
.access-card > p:not(.kicker):not(.form-error) { margin: 0 0 32px; color: #91a7a1; font-size: 13px; line-height: 1.6; }
label { display: grid; gap: 8px; margin-bottom: 17px; }
label > span { color: #7d8b86; font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
input, select { width: 100%; min-height: 49px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; outline: none; color: var(--ink); background: white; transition: border .2s, box-shadow .2s; }
input:focus, select:focus { border-color: rgba(22,128,107,.7); box-shadow: 0 0 0 4px rgba(22,128,107,.1); }
.access-card input { border-color: rgba(255,255,255,.13); color: white; background: rgba(2,19,16,.4); }
.access-card input::placeholder { color: #61746f; }
.access-card label > span { color: #9aada8; }
.form-error { min-height: 17px; margin: -4px 0 8px; color: #ffaca6; font-size: 11px; }
.security-note { display: block; margin-top: 18px; color: #718983; font-size: 9px; text-align: center; }
.access-footer { display: flex; justify-content: space-between; gap: 30px; color: #858e89; font-size: 9px; }
.access-footer span:last-child { color: rgba(255,255,255,.4); }

.button { border: 0; border-radius: 9px; padding: 12px 16px; font-weight: 750; transition: transform .16s, box-shadow .16s, opacity .16s; }
.button:hover { transform: translateY(-1px); }
.button:disabled { opacity: .55; cursor: wait; transform: none; }
.button-primary { color: white; background: linear-gradient(135deg, #218e76, #126c5a); box-shadow: 0 12px 25px rgba(11,97,79,.22); }
.button-large { width: 100%; min-height: 52px; display: flex; justify-content: center; align-items: center; gap: 14px; }
.button-large b { margin-left: auto; font-size: 18px; }
.button-dark { color: white; background: var(--forest); }
.button-light { color: var(--forest); background: #f4f6f0; }
.button-outline-light { color: white; border: 1px solid rgba(255,255,255,.18); background: transparent; }

/* Portal frame */
.portal, .admin-shell { position: relative; z-index: 1; min-height: 100vh; display: grid; grid-template-columns: 238px minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 31px 20px 22px; display: flex; flex-direction: column; border-right: 1px solid #dde1d8; background: rgba(248,249,245,.93); backdrop-filter: blur(16px); z-index: 20; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #cfd6cd transparent; }
.sidebar::-webkit-scrollbar { width: 5px; }
.sidebar::-webkit-scrollbar-thumb { background: #cfd6cd; border-radius: 3px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar .brand { padding: 0 9px 30px; color: var(--forest); border-bottom: 1px solid #dfe3db; }
.sidebar nav { display: grid; gap: 5px; margin-top: 26px; }
.nav-item { min-height: 46px; padding: 0 13px; display: flex; align-items: center; gap: 12px; border: 0; border-radius: 9px; color: #74807b; background: transparent; text-align: left; font-size: 12px; font-weight: 700; }
.nav-item:hover { color: var(--forest); background: #eef0ea; }
.nav-item.active { color: var(--forest); background: #e5eae2; box-shadow: inset 3px 0 var(--emerald); }
.nav-icon { width: 20px; color: #75847f; font-size: 17px; text-align: center; }
.sidebar-spacer { flex: 1; }
.relationship-card { padding: 14px 10px; display: flex; align-items: center; gap: 10px; border-top: 1px solid #dfe3db; border-bottom: 1px solid #dfe3db; }
.advisor-avatar, .admin-avatar { width: 35px; height: 35px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: #e6ede8; background: var(--forest); font-family: Georgia, serif; font-size: 11px; }
.relationship-card div { min-width: 0; display: grid; gap: 3px; }
.relationship-card small { color: #89928e; font-size: 7px; letter-spacing: .13em; }
.relationship-card strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.relationship-card a { color: var(--emerald); font-size: 9px; text-decoration: none; }
.wallet-widget { margin-bottom: 10px; padding: 12px; border: 1px solid #dfe3db; border-radius: 12px; background: var(--card); box-shadow: 0 8px 22px rgba(10,45,38,.05); }
.wallet-widget-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
.wallet-widget-head strong { font-size: 10px; font-weight: 700; color: var(--forest); }
.wallet-widget-net { padding: 3px 7px; border-radius: 20px; color: var(--emerald); background: #e6f1ed; font-size: 6px; font-weight: 850; letter-spacing: .1em; }
.wallet-widget-qr { display: flex; justify-content: center; margin-bottom: 8px; }
.wallet-widget-qr svg { width: 84px; height: 84px; display: block; border-radius: 6px; }
.wallet-widget-addr { display: flex; align-items: center; gap: 5px; margin-bottom: 8px; padding: 4px 4px 4px 9px; border: 1px solid #e5e8e1; border-radius: 8px; background: #fff; }
.wallet-widget-addr code { flex: 1; overflow: hidden; color: #43504b; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.wallet-widget-addr button { padding: 6px 9px; border: 0; border-radius: 6px; color: var(--emerald); background: #e8f1ed; font-size: 7px; font-weight: 850; letter-spacing: .04em; cursor: pointer; }
.wallet-widget-addr button:hover { background: #d9ebe3; }
.wallet-widget-balances { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-top: 8px; border-top: 1px solid #e5e8e1; }
.wallet-widget-balances small { display: block; margin-bottom: 3px; color: #89928e; font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.wallet-widget-balances strong { font-family: Georgia, serif; font-size: 13px; font-weight: 500; color: var(--forest); }
.wallet-widget-balances .locked strong { color: var(--emerald); }
.wallet-widget-cta { width: 100%; margin-top: 8px; padding: 8px; border: 0; border-radius: 8px; color: #fff; background: var(--emerald); font-size: 9px; font-weight: 800; letter-spacing: .03em; cursor: pointer; }
.wallet-widget-cta:hover { background: var(--forest-2); }
.wallet-allocate { display: grid; gap: 6px; margin-top: 7px; }
.wallet-allocate .wallet-widget-cta { margin-top: 0; }
.wallet-field { width: 100%; padding: 7px 9px; border: 1px solid #e5e8e1; border-radius: 7px; background: #fff; color: var(--forest); font-size: 10px; }
.wallet-transit { margin: 7px 0 0; padding: 6px 9px; border-radius: 7px; background: #eef4f1; color: var(--emerald); font-size: 9px; font-weight: 600; text-align: center; }
.logout-link, .client-link { margin-top: 14px; padding: 8px 10px; border: 0; color: #8a9490; background: transparent; font-size: 10px; text-align: left; text-decoration: none; }
.main { min-width: 0; padding: 0 clamp(24px, 3.5vw, 52px) 50px; }
.topbar { min-height: 105px; display: flex; justify-content: space-between; align-items: center; gap: 25px; border-bottom: 1px solid #dfe3da; }
.topbar h1 { margin: 7px 0 0; font-family: Georgia, serif; font-size: 26px; font-weight: 500; }
.breadcrumb span { color: var(--emerald); }
.top-actions { display: flex; align-items: center; gap: 12px; }
.data-status { color: #75817c; font-size: 9px; }
.data-status i { width: 6px; height: 6px; margin-right: 5px; }
.notification-button { position: relative; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 10px; color: #53615c; background: var(--card); font-size: 17px; }
.notification-button span { position: absolute; right: 9px; top: 9px; width: 5px; height: 5px; border-radius: 50%; background: var(--emerald); }
.profile-button { min-height: 45px; padding: 4px 10px 4px 5px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); background: var(--card); }
.profile-button > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px; color: white; background: var(--forest); font-size: 10px; font-weight: 800; }
.profile-button div { display: grid; gap: 2px; text-align: left; }
.profile-button strong { font-size: 10px; }
.profile-button small { color: #89938f; font-size: 8px; }
.profile-button b { margin-left: 7px; color: #89938f; font-size: 10px; }
.mobile-menu { display: none; border: 0; background: transparent; font-size: 20px; }
.page { display: none; padding-top: 27px; animation: enter .25s ease; }
.page.active { display: block; }
@keyframes enter { from { opacity: 0; transform: translateY(4px); } }

/* Client overview */
.hero-balance { position: relative; min-height: 220px; padding: 36px 38px; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-radius: 20px; color: white; background: radial-gradient(circle at 85% 20%, rgba(53,182,151,.19), transparent 32%), linear-gradient(120deg, #092c26, #123a32); box-shadow: 0 22px 60px rgba(10,45,38,.16); }
.balance-copy, .hero-actions { position: relative; z-index: 2; }
.eyebrow-row { display: flex; align-items: center; gap: 10px; color: #88a49d; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.eyebrow-row button { border: 0; color: #91aaa4; background: transparent; }
.money { display: block; margin-top: 13px; font-family: Georgia, serif; font-size: clamp(36px, 4vw, 52px); font-weight: 500; letter-spacing: -.035em; }
.balance-change { margin-top: 13px; display: flex; align-items: center; gap: 10px; font-size: 11px; }
.balance-change span { color: #91aca5; }
.balance-change b { padding: 5px 7px; border-radius: 6px; color: #6be1c0; background: rgba(53,182,151,.12); }
.balance-change b.negative { color: #f0a3a0; background: rgba(180,67,58,.16); }
.balance-change small { color: #66857d; }
.hero-actions { display: flex; gap: 10px; }
.hero-actions .button { min-width: 170px; display: flex; align-items: center; gap: 10px; text-align: left; }
.hero-actions .button span:last-child { display: grid; gap: 3px; }
.hero-actions small { font-size: 7px; letter-spacing: .12em; opacity: .64; }
.action-symbol { font-size: 20px; font-weight: 400; }
.hero-watermark { position: absolute; right: 14%; top: -68px; color: rgba(255,255,255,.025); font-family: Georgia, serif; font-size: 330px; line-height: 1; transform: rotate(-5deg); }
.summary-grid { margin: 17px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.summary-card { min-height: 118px; padding: 18px; display: flex; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(251,252,248,.82); }
.summary-icon { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; }
.summary-icon.green { color: var(--emerald); background: #e4f0eb; }
.summary-icon.blue { color: var(--blue); background: #e8eef2; }
.summary-icon.gold { color: #957b48; background: #f1ecdf; }
.summary-icon.slate { color: #68746f; background: #e9ebe8; }
.summary-card > div:last-child { display: grid; gap: 5px; }
.summary-card small { color: #8a9490; font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.summary-card strong { font-family: Georgia, serif; font-size: 18px; font-weight: 500; }
.summary-card span { color: #7c8782; font-size: 9px; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .75fr); gap: 17px; }
.panel { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(251,252,248,.88); box-shadow: 0 10px 30px rgba(25,42,36,.035); }
.panel-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.panel-header h2, .section-heading h2 { margin: 6px 0 0; font-family: Georgia, serif; font-size: 19px; font-weight: 500; }
.range-tabs, .filter-tabs { padding: 3px; display: flex; gap: 2px; border-radius: 8px; background: #edf0e9; }
.range-tabs button, .filter-tabs button { padding: 6px 9px; border: 0; border-radius: 6px; color: #7e8884; background: transparent; font-size: 8px; font-weight: 800; }
.range-tabs button.active, .filter-tabs button.active { color: var(--forest); background: white; box-shadow: 0 2px 8px rgba(0,0,0,.05); }
.chart-summary { margin-top: 20px; display: flex; align-items: baseline; gap: 9px; }
.chart-summary strong { color: var(--emerald); font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
.chart-summary span { color: #87918d; font-size: 9px; }
.line-chart { position: relative; height: 230px; margin-top: 4px; }
.live-empty-chart { height: 100%; display: grid; place-content: center; gap: 7px; border: 1px dashed #cad8d3; border-radius: 14px; color: #74817c; text-align: center; }
.live-empty-chart strong { color: var(--ink); font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.live-empty-chart span { max-width: 300px; font-size: 9px; line-height: 1.6; }
.wallet-deposit-box { display: grid; gap: 12px; padding: 15px; border: 1px solid #d6e2de; border-radius: 14px; background: #f7faf8; }
.wallet-deposit-box details { padding-top: 8px; border-top: 1px solid #dfe8e4; }
.wallet-deposit-box summary { color: #587069; font-size: 9px; font-weight: 700; cursor: pointer; }
.wallet-deposit-box details label { margin-top: 10px; }
.wallet-deposit-status { color: #657a73; font-size: 9px; line-height: 1.5; text-align: center; }
.line-chart svg { position: absolute; inset: 8px 0 20px; width: 100%; height: calc(100% - 28px); overflow: visible; }
.chart-grid { position: absolute; inset: 8px 0 22px; background-image: linear-gradient(#e5e8e1 1px, transparent 1px); background-size: 100% 25%; }
.chart-area { fill: url(#areaFill); }
.chart-line { fill: none; stroke: var(--emerald); stroke-width: 2.2; vector-effect: non-scaling-stroke; }
.chart-point { fill: var(--card); stroke: var(--emerald); stroke-width: 3; vector-effect: non-scaling-stroke; }
.chart-labels { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; color: #9aa29f; font-size: 7px; font-weight: 750; }
.text-button { padding: 5px; border: 0; color: var(--emerald); background: transparent; font-size: 9px; font-weight: 750; }
.donut-wrap { margin: 22px 0 18px; display: grid; place-items: center; }
.donut { width: 134px; height: 134px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#1a806b 0 42%, #6c8c84 42% 77%, #b79a5e 77% 100%); }
.donut::before { content: ""; width: 91px; height: 91px; border-radius: 50%; background: var(--card); }
.donut div { position: absolute; display: grid; text-align: center; }
.donut strong { font-family: Georgia, serif; font-size: 24px; font-weight: 500; }
.donut span { color: #87918d; font-size: 8px; }
.allocation-list { display: grid; gap: 10px; }
.allocation-list > div { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 8px; font-size: 10px; }
.allocation-list small { grid-column: 2 / 4; margin-top: -5px; color: #929b97; font-size: 8px; }
.dot { width: 7px; height: 7px; border-radius: 50%; }
.dot.shield { background: #1a806b; }.dot.balance { background: #6c8c84; }.dot.alpha { background: #b79a5e; }.dot.pools { background: #00a04a; }
.performance-fund { width: auto; min-height: 30px; padding: 0 8px; font-size: 11px; margin-right: 6px; }
.desk-trail-panel { grid-column: 1 / -1; }
/* Lucros */
.results-metrics strong.positive { color: var(--emerald); } .results-metrics strong.warning { color: var(--danger); }
.results-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.results-table th { text-align: left; font-size: 9px; letter-spacing: .1em; color: var(--muted); padding: 8px 10px; border-bottom: 1px solid var(--line); }
.results-table td { padding: 14px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.results-table td b { display: block; font-family: Georgia, serif; font-size: 17px; font-weight: 500; font-variant-numeric: tabular-nums; }
.results-table td b.positive { color: var(--emerald); } .results-table td b.warning { color: var(--danger); } .results-table td b.muted { color: var(--muted); }
.results-table td small { display: block; font-size: 10px; color: var(--muted); margin-top: 3px; }
.results-table tfoot td { background: rgba(25,42,36,.04); border-bottom: 0; }
.results-figs span b { font-size: 17px; font-family: Georgia, serif; font-weight: 500; }
.withdraw-fund-note { margin: -4px 0 10px; padding: 10px 12px; border-radius: 10px; background: #f4eddf; color: #6d4f1c; font-size: 11px; line-height: 1.5; }
.investor-notice { display: flex !important; gap: 12px; align-items: center; font-size: 11.5px; color: var(--muted); grid-template-columns: none !important; }
.investor-notice.warning { color: var(--danger); } .investor-notice button { border: 1px solid var(--line); background: white; border-radius: 8px; padding: 5px 10px; font-size: 10px; cursor: pointer; }
.fund-mini-numbers strong.negative, .fund-facts strong.negative, .chart-summary strong.negative { color: #a84f4f; }
.fund-preview-section { margin-top: 31px; }
.section-heading { margin-bottom: 14px; display: flex; justify-content: space-between; align-items: end; }
.fund-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fund-mini { position: relative; padding: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--card); }
.fund-mini::after { content: ""; position: absolute; width: 120px; height: 120px; right: -70px; top: -70px; border-radius: 50%; background: var(--fund-color); opacity: .09; }
.fund-mini-header { display: flex; justify-content: space-between; align-items: center; }
.fund-symbol { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: var(--fund-color); background: color-mix(in srgb, var(--fund-color) 10%, white); font-family: Georgia, serif; }
.risk-badge { padding: 5px 7px; border-radius: 20px; color: var(--fund-color); background: color-mix(in srgb, var(--fund-color) 9%, white); font-size: 7px; font-weight: 850; letter-spacing: .09em; }
.fund-mini h3 { margin: 16px 0 4px; font-family: Georgia, serif; font-size: 17px; font-weight: 500; }
.fund-mini > p { height: 32px; margin: 0; color: #818b87; font-size: 9px; line-height: 1.6; }
.fund-mini-numbers { margin-top: 18px; padding-top: 15px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #e6e8e2; }
.fund-mini-numbers div { display: grid; gap: 5px; }
.fund-mini-numbers div + div { padding-left: 14px; border-left: 1px solid #e6e8e2; }
.fund-mini-numbers small { color: #929b97; font-size: 7px; letter-spacing: .08em; }
.fund-mini-numbers strong { font-family: Georgia, serif; font-size: 15px; font-weight: 500; }

/* Funds, activity and documents */
.page-intro { min-height: 120px; display: flex; justify-content: space-between; align-items: start; gap: 30px; }
.page-intro h2 { margin: 8px 0; font-family: Georgia, serif; font-size: 31px; font-weight: 500; }
.page-intro p:not(.kicker) { margin: 0; color: #78837e; font-size: 12px; }
.risk-scale { margin-bottom: 16px; display: flex; align-items: center; gap: 12px; color: #8a9490; font-size: 7px; font-weight: 850; letter-spacing: .12em; }
.risk-scale div { width: 120px; height: 3px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; }
.risk-scale i { background: var(--emerald); }.risk-scale i:nth-child(2) { background: #6c8c84; }.risk-scale i:nth-child(3) { background: var(--gold); }
.funds-catalog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.fund-card { position: relative; min-height: 420px; padding: 25px; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 18px; background: var(--card); transition: transform .2s, box-shadow .2s; }
.fund-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.fund-card-top { display: flex; justify-content: space-between; align-items: center; }
.fund-card h3 { margin: 22px 0 7px; font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
.fund-card > p { min-height: 54px; margin: 0; color: #7e8984; font-size: 11px; line-height: 1.65; }
.fund-return { margin: 25px 0 18px; padding: 18px 0; border-top: 1px solid #e5e8e1; border-bottom: 1px solid #e5e8e1; }
.fund-return small { color: #909a96; font-size: 8px; letter-spacing: .1em; }
.fund-return strong { display: block; margin-top: 6px; color: var(--fund-color); font-family: Georgia, serif; font-size: 31px; font-weight: 500; }
.fund-facts { display: grid; gap: 10px; }
.fund-facts div { display: flex; justify-content: space-between; font-size: 9px; }
.fund-facts span { color: #8b9591; }.fund-facts strong { font-weight: 750; }
.fund-card .button { margin-top: auto; width: 100%; color: white; background: var(--fund-color); }
.principles-panel { margin-top: 18px; padding: 32px; display: grid; grid-template-columns: .75fr 2fr; gap: 40px; border-radius: 18px; color: white; background: var(--forest); }
.principles-panel .kicker { color: #74948c; }
.principles-panel h2 { margin: 8px 0; font-family: Georgia, serif; font-size: 28px; font-weight: 500; }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; }
.principles div { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.13); }
.principles b { display: block; margin-bottom: 16px; color: #62bfa6; font-family: Georgia, serif; font-size: 11px; }
.principles strong { font-size: 11px; }
.principles p { margin: 8px 0 0; color: #8ca39d; font-size: 9px; line-height: 1.6; }
.table-panel { padding: 0; overflow: hidden; }
.table-toolbar { padding: 17px 20px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); }
.export-button { border: 0; color: var(--emerald); background: transparent; font-size: 9px; font-weight: 750; }
.activity-list { display: grid; }
.activity-item { min-height: 75px; padding: 15px 21px; display: grid; grid-template-columns: 40px 1.4fr 1fr 1fr auto; align-items: center; gap: 12px; border-bottom: 1px solid #e7e9e4; }
.activity-item:last-child { border: 0; }
.activity-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: var(--emerald); background: #e5f0eb; }
.activity-item > div { display: grid; gap: 4px; }
.activity-item small { color: #959d99; font-size: 7px; letter-spacing: .08em; }
.activity-item strong { font-size: 10px; }.activity-item > strong { font-family: Georgia, serif; font-size: 13px; font-weight: 500; }
.status-chip { padding: 5px 8px; border-radius: 20px; color: var(--emerald); background: #e6f1ed; font-size: 7px; font-weight: 850; letter-spacing: .08em; }
.status-chip.pending { color: #9a6b29; background: #f4eddf; }
.documents-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.document-card { padding: 20px; display: grid; grid-template-columns: 42px 1fr 30px; gap: 13px; align-items: center; border: 1px solid var(--line); border-radius: 15px; background: var(--card); }
.document-card > span { width: 42px; height: 46px; display: grid; place-items: center; border-radius: 8px; color: var(--emerald); background: #e6f0eb; font-size: 8px; font-weight: 900; }
.document-card div { display: grid; gap: 5px; }.document-card small { color: #909a95; font-size: 7px; letter-spacing: .1em; }.document-card strong { font-size: 10px; }.document-card p { margin: 0; color: #939b98; font-size: 8px; }.document-card button { border: 0; color: var(--emerald); background: transparent; }

/* Modal */
.modal-backdrop { position: fixed; z-index: 100; inset: 0; padding: 24px; display: grid; place-items: center; background: rgba(8,24,20,.6); backdrop-filter: blur(8px); }
.modal { position: relative; width: min(480px, 100%); max-height: calc(100vh - 48px); overflow: auto; padding: 33px; border-radius: 20px; background: var(--card); box-shadow: 0 35px 90px rgba(0,0,0,.25); animation: modalIn .2s ease; }
@keyframes modalIn { from { opacity: 0; transform: translateY(8px) scale(.98); } }
.modal-close { position: absolute; right: 18px; top: 16px; width: 32px; height: 32px; border: 0; border-radius: 50%; color: #7f8985; background: #edf0e9; font-size: 20px; }
.modal h2 { margin: 8px 0; font-family: Georgia, serif; font-size: 27px; font-weight: 500; }
.modal-lead { margin: 0 0 24px; color: #7d8883; font-size: 11px; line-height: 1.6; }
.network-row { margin: 7px 0 19px; padding: 14px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 10px; }
.network-row div { display: grid; gap: 5px; }.network-row div + div { padding-left: 14px; border-left: 1px solid var(--line); }.network-row small { color: #909995; font-size: 7px; letter-spacing: .09em; }.network-row strong { font-size: 10px; }
.copy-field, .amount-field { padding: 5px 6px 5px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.copy-field code { flex: 1; color: #43504b; font-size: 12px; user-select: all; }.copy-field button, .amount-field button { padding: 9px 11px; border: 0; border-radius: 7px; color: var(--emerald); background: #e8f1ed; font-size: 8px; font-weight: 850; }
.notice { margin: 18px 0; padding: 14px; border-left: 3px solid var(--gold); border-radius: 4px 9px 9px 4px; background: #f3eee3; }.notice b { color: #745e35; font-size: 9px; }.notice p { margin: 5px 0 0; color: #897653; font-size: 9px; line-height: 1.55; }.notice.neutral { border-color: var(--blue); background: #eaf0f3; }.notice.neutral b { color: #465f72; }.notice.neutral p { color: #657985; }
.available-box { margin: 18px 0; padding: 15px; display: flex; justify-content: space-between; border-radius: 10px; color: white; background: var(--forest); }.available-box span { color: #90aaa3; font-size: 9px; }.available-box strong { font-family: Georgia, serif; font-weight: 500; }
.amount-field b { color: #79847f; font-size: 11px; }.amount-field input { min-height: 38px; padding: 0; border: 0; box-shadow: none; font-family: Georgia, serif; font-size: 18px; }
.withdraw-timeline { margin: 22px 0; display: grid; grid-template-columns: repeat(3, 1fr); }.withdraw-timeline > div { position: relative; display: flex; gap: 8px; }.withdraw-timeline > div:not(:last-child)::after { content: ""; position: absolute; top: 5px; left: 10px; width: calc(100% - 5px); height: 1px; background: #d6dcd4; }.withdraw-timeline i { position: relative; z-index: 2; width: 10px; height: 10px; flex: 0 0 auto; border: 2px solid #c5ccc5; border-radius: 50%; background: var(--card); }.withdraw-timeline .done i { border-color: var(--emerald); background: var(--emerald); }.withdraw-timeline span { position: relative; z-index: 2; display: grid; gap: 4px; color: #55625d; background: var(--card); font-size: 8px; }.withdraw-timeline small { color: #929b97; font-size: 7px; }
.withdraw-wallet-box { margin-top: 16px; padding: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #d9e1db; border-radius: 12px; background: #f4f7f3; }.withdraw-wallet-box div { display: grid; gap: 5px; min-width: 0; }.withdraw-wallet-box small { color: #7b8984; font-size: 8px; font-weight: 800; letter-spacing: .08em; }.withdraw-wallet-box strong { overflow: hidden; color: #173b32; font-size: 11px; text-overflow: ellipsis; }.withdraw-wallet-box button { padding: 10px 12px; flex: 0 0 auto; border: 0; border-radius: 9px; color: #fff; background: var(--emerald); font-size: 10px; font-weight: 800; cursor: pointer; }.withdraw-wallet-box button:disabled { opacity: .55; cursor: wait; }
.toast { position: fixed; z-index: 120; right: 24px; bottom: 24px; min-width: 260px; padding: 14px 17px; display: flex; align-items: center; gap: 10px; border-radius: 11px; color: white; background: var(--forest); box-shadow: 0 18px 50px rgba(0,0,0,.2); animation: toastIn .2s ease; }.toast span { color: #64d3b5; }.toast p { margin: 0; font-size: 10px; }@keyframes toastIn { from { opacity: 0; transform: translateY(8px); } }

/* Admin */
.admin-body { background: #eef0ea; }
.admin-auth-view { min-height: 100vh; padding: 32px; display: grid; place-items: center; background: radial-gradient(circle at 78% 15%, rgba(53,182,151,.16), transparent 28%), linear-gradient(135deg, #071d19, #123c34); }
.admin-auth-card { width: min(430px, 100%); padding: 38px; border: 1px solid rgba(255,255,255,.1); border-radius: 22px; color: white; background: rgba(255,255,255,.07); box-shadow: 0 35px 90px rgba(0,0,0,.28); backdrop-filter: blur(18px); }
.admin-auth-card .brand { margin-bottom: 34px; color: white; }.admin-auth-card .brand small { color: #7aa095; }
.admin-auth-card .kicker { color: #7ea89d; }.admin-auth-card h1 { margin: 10px 0 8px; font-family: Georgia, serif; font-size: 30px; font-weight: 500; }.admin-auth-card > p:not(.kicker):not(.form-error) { margin: 0 0 26px; color: #91aaa3; font-size: 11px; line-height: 1.6; }
.admin-auth-card label > span { color: #9fb4ae; }.admin-auth-card input { border-color: rgba(255,255,255,.14); color: white; background: rgba(0,0,0,.18); }.admin-auth-back { margin-top: 20px; display: block; color: #86a69e; font-size: 9px; text-align: center; text-decoration: none; }
.invite-result { margin: 17px 0; padding: 17px; display: grid; gap: 10px; border: 1px solid #cfe1d8; border-radius: 11px; background: #e8f1ec; text-align: center; }.invite-result > span { color: #57726a; font-size: 9px; }.invite-result > strong { color: var(--forest); font-family: Georgia, serif; font-size: 22px; letter-spacing: .12em; }.invite-result > div { display: flex; justify-content: center; gap: 16px; }.invite-result a { text-decoration: none; }
.row-actions { display: flex !important; flex-wrap: wrap; align-items: center; gap: 5px !important; }.row-actions button { padding: 5px 7px; border: 0; border-radius: 7px; color: #126c5a; background: #e4f0eb; font-size: 7px; font-weight: 800; }.row-actions button:disabled { opacity: .5; }
.delivery-dot { width: 7px; height: 7px; display: inline-block; margin-right: 5px; border-radius: 50%; background: #b2853f; }.delivery-dot.sent { background: var(--emerald); }.delivery-dot.failed { background: var(--danger); }
.admin-sidebar { color: #e7efea; border-color: rgba(255,255,255,.08); background: #0a2621; }
.admin-sidebar .brand { color: white; border-color: rgba(255,255,255,.1); }.admin-sidebar .brand small { color: #6f948a; }.admin-sidebar .nav-item { color: #76938b; }.admin-sidebar .nav-item:hover { color: white; background: rgba(255,255,255,.05); }.admin-sidebar .nav-item.active { color: white; background: rgba(255,255,255,.08); }.admin-sidebar .client-link { color: #789a91; }
.environment { padding: 14px 10px; display: flex; align-items: center; gap: 8px; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }.environment div { display: grid; gap: 3px; }.environment small { color: #52766d; font-size: 7px; letter-spacing: .12em; }.environment strong { color: #b5cac4; font-size: 9px; }
.admin-main { background: #eef0ea; }
.admin-alert { margin-top: 23px; padding: 13px 16px; display: flex; justify-content: space-between; align-items: center; border: 1px solid #cfe1d8; border-radius: 11px; background: #e3eee8; }.admin-alert > div { display: flex; align-items: center; gap: 11px; }.admin-alert > div > span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--emerald); font-size: 10px; }.admin-alert p { margin: 0; display: grid; gap: 2px; color: #668078; font-size: 8px; }.admin-alert strong { color: #284b42; font-size: 9px; }.admin-alert > small { color: #799087; font-size: 8px; }
.admin-metrics { margin: 16px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }.admin-metrics article { min-height: 128px; padding: 20px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; background: var(--card); }.admin-metrics small { color: #8b9691; font-size: 7px; font-weight: 850; letter-spacing: .12em; }.admin-metrics strong { margin: 17px 0 7px; font-family: Georgia, serif; font-size: 22px; font-weight: 500; }.admin-metrics span { margin-top: auto; color: #818c87; font-size: 8px; }
.admin-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .7fr); gap: 16px; }.admin-grid.lower { margin-top: 16px; grid-template-columns: 1.2fr .8fr; }.operations-panel { min-width: 0; }
.fund-ops-table { margin-top: 18px; display: grid; }.fund-op-head, .fund-op { display: grid; grid-template-columns: 1.35fr .8fr .8fr .7fr .6fr; gap: 10px; align-items: center; }.fund-op-head { padding: 8px 10px; color: #919a96; font-size: 7px; font-weight: 800; letter-spacing: .08em; }.fund-op { padding: 15px 10px; border-top: 1px solid #e5e8e1; font-size: 9px; }.fund-op-name { display: flex; align-items: center; gap: 10px; }.fund-op-name i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; color: white; background: var(--fund-color); font-family: Georgia, serif; font-style: normal; }.fund-op-name div { display: grid; gap: 3px; }.fund-op-name small, .fund-op small { color: #909995; font-size: 7px; }.fund-op > div:not(:first-child) { display: grid; gap: 4px; }.margin-bar { height: 4px; overflow: hidden; border-radius: 4px; background: #e5e8e2; }.margin-bar i { display: block; width: var(--bar); height: 100%; background: var(--fund-color); }.op-status { width: fit-content; padding: 4px 6px; border-radius: 10px; color: var(--emerald); background: #e6f1ec; font-size: 6px; font-weight: 850; }
.capital-events, .redemption-list, .reconciliation { margin-top: 15px; display: grid; }.capital-event { padding: 13px 0; display: grid; grid-template-columns: 36px 1fr auto; align-items: center; gap: 10px; border-top: 1px solid #e5e8e1; }.capital-event:first-child { border: 0; }.capital-event > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; color: var(--emerald); background: #e6f0eb; font-size: 11px; }.capital-event div { display: grid; gap: 3px; }.capital-event strong { font-size: 9px; }.capital-event small { color: #909a96; font-size: 7px; }.capital-event > b { font-family: Georgia, serif; font-size: 11px; font-weight: 500; }
.redemption-item { min-height: 61px; display: grid; grid-template-columns: 34px 1fr 1fr auto; align-items: center; gap: 10px; border-top: 1px solid #e5e8e1; }.redemption-item:first-child { border: 0; }.redemption-item > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: white; background: #73837d; font-size: 8px; font-weight: 800; }.redemption-item div { display: grid; gap: 3px; }.redemption-item strong { font-size: 9px; }.redemption-item small { color: #929b97; font-size: 7px; }.redemption-item > strong { font-family: Georgia, serif; font-weight: 500; }
.reconciliation > div { min-height: 51px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; border-top: 1px solid #e5e8e1; }.reconciliation > div:first-child { border: 0; }.reconciliation span { color: #7e8984; font-size: 9px; }.reconciliation strong { font-family: Georgia, serif; font-size: 12px; font-weight: 500; }.reconciliation i { padding: 4px 6px; border-radius: 8px; font-size: 6px; font-style: normal; font-weight: 850; }.reconciliation .ok { color: var(--emerald); background: #e5f0eb; }.reconciliation .reconciliation-total { margin-top: 8px; padding: 0 11px; border: 0; border-radius: 8px; background: var(--forest); }.reconciliation-total span { color: #8ba69f; }.reconciliation-total strong { color: #6be1c0; }

.admin-page { display: none; padding-top: 23px; animation: enter .25s ease; }
.admin-page.active { display: block; }
.admin-page .admin-alert { margin-top: 0; }
.admin-page-intro { min-height: 108px; }
.admin-fund-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.admin-fund-card { padding: 22px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 16px; background: var(--card); }
.admin-fund-head { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: 11px; }
.admin-fund-head .fund-symbol { width: 40px; height: 40px; color: white; background: var(--fund-color); }
.admin-fund-head div { display: grid; gap: 3px; }.admin-fund-head small { color: #939c98; font-size: 7px; letter-spacing: .06em; }.admin-fund-head h3 { margin: 0; font-family: Georgia, serif; font-size: 17px; font-weight: 500; }
.admin-fund-card > p { min-height: 34px; margin: 18px 0; color: #7f8a85; font-size: 9px; line-height: 1.65; }
.admin-fund-aum { padding: 17px 0; display: grid; gap: 5px; border-top: 1px solid #e5e8e1; border-bottom: 1px solid #e5e8e1; }.admin-fund-aum span, .admin-fund-aum small { color: #929b97; font-size: 7px; letter-spacing: .08em; }.admin-fund-aum strong { font-family: Georgia, serif; font-size: 24px; font-weight: 500; }
.admin-fund-stats { padding: 17px 0; display: grid; grid-template-columns: repeat(3, 1fr); }.admin-fund-stats div { display: grid; gap: 5px; }.admin-fund-stats div + div { padding-left: 10px; border-left: 1px solid #e5e8e1; }.admin-fund-stats small { color: #939c98; font-size: 6px; letter-spacing: .07em; }.admin-fund-stats strong { font-size: 9px; }
.fund-risk-line { display: grid; gap: 7px; color: #7f8985; font-size: 8px; }.fund-risk-line > i { height: 5px; overflow: hidden; border-radius: 5px; background: #e5e8e2; }.fund-risk-line b { display: block; width: var(--bar); height: 100%; background: var(--fund-color); }
.admin-fund-fees { margin: 16px 0; display: flex; justify-content: space-between; color: #89938f; font-size: 8px; }.admin-fund-fees b { color: var(--ink); }
.fund-config-button { margin-top: auto; color: var(--fund-color); border: 1px solid color-mix(in srgb, var(--fund-color) 25%, white); background: color-mix(in srgb, var(--fund-color) 7%, white); }
.data-panel { padding: 0; overflow: hidden; }
.admin-toolbar { min-height: 67px; padding: 13px 18px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid var(--line); }
.search-field { width: min(310px, 100%); padding-left: 12px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 9px; color: #87928d; background: white; }.search-field input { min-height: 39px; padding: 0; border: 0; box-shadow: none; background: transparent; font-size: 10px; }
.investor-table, .movement-table, .audit-table { min-width: 850px; }
.investor-head, .investor-row { display: grid; grid-template-columns: 1.4fr .75fr .6fr .85fr .6fr .65fr .55fr; gap: 12px; align-items: center; }.investor-head, .movement-head, .audit-head { min-height: 37px; padding: 0 18px; color: #929b97; background: #f5f6f2; font-size: 7px; font-weight: 850; letter-spacing: .08em; }.investor-row { min-height: 67px; padding: 0 18px; border-top: 1px solid #e5e8e1; font-size: 9px; }.investor-name { display: flex; align-items: center; gap: 10px; }.investor-name > i { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 50%; color: white; background: #71847e; font-size: 7px; font-style: normal; font-weight: 850; }.investor-name span { display: grid; gap: 3px; }.investor-name small, .investor-row > span { color: #8c9692; font-size: 8px; }.investor-row > strong { font-size: 9px; }.member-status { width: fit-content; padding: 5px 7px; border-radius: 12px; color: var(--emerald); background: #e5f0eb; font-size: 6px; font-style: normal; font-weight: 850; }.member-status.invited { color: #96703b; background: #f2ecdf; }
.admin-metrics.compact { margin-top: 0; }
.ledger-note { color: #929b97; font-size: 8px; }
.movement-head, .movement-row { display: grid; grid-template-columns: .8fr 1fr .8fr 1fr .7fr .7fr; gap: 12px; align-items: center; }.movement-row { min-height: 64px; padding: 0 18px; border-top: 1px solid #e5e8e1; font-size: 8px; }.movement-row > div { display: grid; gap: 3px; }.movement-row small, .movement-row > span { color: #8d9793; }.movement-row > i { width: fit-content; padding: 5px 7px; border-radius: 12px; color: #6f7e78; background: #edf0eb; font-size: 6px; font-style: normal; font-weight: 850; }
.accounting-grid { display: grid; grid-template-columns: 1.45fr .55fr; gap: 16px; }.accounting-formula h2, .accounting-grid .panel > h2 { margin: 7px 0 25px; font-family: Georgia, serif; font-size: 19px; font-weight: 500; }.formula-row { display: flex; align-items: stretch; gap: 9px; }.formula-row > div { flex: 1; min-width: 0; padding: 16px 12px; display: grid; align-content: center; gap: 7px; border: 1px solid #e1e5dd; border-radius: 10px; background: #f6f7f3; }.formula-row > b { align-self: center; color: #80908a; font-family: Georgia, serif; font-weight: 400; }.formula-row small { color: #929b97; font-size: 6px; letter-spacing: .08em; }.formula-row strong { font-family: Georgia, serif; font-size: 13px; font-weight: 500; }.formula-row .formula-result { color: white; border-color: var(--forest); background: var(--forest); }.formula-result small { color: #86a49c; }.formula-result strong { color: #71dabd; }
.fee-breakdown { display: grid; }.fee-breakdown div { min-height: 48px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #e5e8e1; }.fee-breakdown div:first-child { border: 0; }.fee-breakdown span { color: #808b86; font-size: 8px; }.fee-breakdown strong { font-family: Georgia, serif; font-size: 11px; font-weight: 500; }
.audit-panel { margin-top: 16px; overflow: auto; }.audit-head, .audit-row { display: grid; grid-template-columns: 1.25fr .75fr .9fr 1fr .6fr .6fr; gap: 12px; align-items: center; }.audit-row { min-height: 60px; padding: 0 18px; border-top: 1px solid #e5e8e1; font-size: 8px; }.audit-row > div { display: grid; gap: 3px; }.audit-row small, .audit-row > span { color: #89948f; }.audit-row > i { width: fit-content; padding: 5px 7px; border-radius: 10px; color: var(--emerald); background: #e5f0eb; font-size: 7px; font-style: normal; }

@media (max-width: 1120px) {
	.access-view { background: linear-gradient(112deg, rgba(244,246,240,.98) 0 48%, rgba(9,39,34,.98) 48% 100%); }
	.access-grid { grid-template-columns: 1fr 420px; gap: 50px; }
	.summary-grid, .admin-metrics { grid-template-columns: repeat(2, 1fr); }
	.funds-catalog { grid-template-columns: repeat(2, 1fr); }.fund-card:last-child { grid-column: 1 / -1; min-height: 360px; }
	.hero-balance { align-items: flex-start; flex-direction: column; }.hero-actions { width: 100%; }.hero-actions .button { flex: 1; }
}

@media (max-width: 850px) {
	.access-view { background: var(--paper); }.access-header .invitation-only { color: #75817c; }.access-grid { grid-template-columns: 1fr; padding: 60px 0 30px; }.access-copy { text-align: center; margin: auto; }.trust-row { justify-content: center; }.access-card { color: white; background: var(--forest); }.access-footer span:last-child { color: #858e89; }
	.portal, .admin-shell { grid-template-columns: 1fr; }.sidebar { position: fixed; left: -250px; transition: left .25s; box-shadow: 20px 0 50px rgba(0,0,0,.12); }.sidebar.open { left: 0; }.mobile-menu { display: block; }.main { padding-inline: 20px; }.topbar { justify-content: flex-start; }.topbar > div:first-of-type { margin-right: auto; }.data-status, .profile-button div, .profile-button b { display: none; }
	.content-grid, .admin-grid, .admin-grid.lower { grid-template-columns: 1fr; }.fund-row { grid-template-columns: 1fr; }.fund-mini > p { height: auto; }.principles-panel { grid-template-columns: 1fr; }.documents-grid { grid-template-columns: 1fr; }
	.admin-sidebar { left: 0; position: static; width: 100%; height: auto; }.admin-sidebar nav, .admin-sidebar .sidebar-spacer, .admin-sidebar .environment { display: none; }.admin-sidebar .brand { border: 0; padding-bottom: 0; }.admin-sidebar .client-link { position: absolute; right: 20px; top: 31px; }.admin-fund-grid, .accounting-grid { grid-template-columns: 1fr; }.data-panel, .audit-panel { overflow-x: auto; }
}

.liquidity-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-bottom: 14px; padding: 13px 18px; background: #edf4f0; border: 1px solid #dce5df; border-radius: 12px; }.liquidity-banner span { display: flex; flex-direction: column; gap: 3px; }.liquidity-banner small { color: #7d8b86; font-size: 7px; font-weight: 850; letter-spacing: .08em; }.liquidity-banner strong { color: #12231f; font-size: 13px; }.liquidity-banner .member-status { margin-left: auto; }

@media (max-width: 620px) {
	.access-view { padding: 25px 20px; }.access-header { align-items: flex-start; }.invitation-only { max-width: 90px; line-height: 1.5; }.access-copy h1 { font-size: 40px; }.access-copy .lead { font-size: 13px; }.trust-row { gap: 15px; }.trust-row div { padding-left: 9px; }.trust-row span { font-size: 7px; }.access-card { padding: 30px 24px; }.access-footer { flex-direction: column; text-align: center; }
	.topbar { min-height: 85px; }.topbar h1 { font-size: 20px; }.notification-button { display: none; }.profile-button { padding: 4px; border: 0; background: transparent; }.summary-grid { grid-template-columns: 1fr; }.summary-card { min-height: 92px; }.hero-balance { padding: 28px 22px; }.hero-actions { flex-direction: column; }.money { font-size: 34px; }.balance-change small { display: none; }.funds-catalog { grid-template-columns: 1fr; }.fund-card:last-child { grid-column: auto; }.principles { grid-template-columns: 1fr; }.activity-item { grid-template-columns: 38px 1fr auto; }.activity-item > div:nth-child(3) { display: none; }.activity-item > strong { grid-column: 3; grid-row: 1; }.activity-item .status-chip { grid-column: 3; grid-row: 1; margin-top: 32px; }.filter-tabs button:nth-child(n+3) { display: none; }.documents-grid { grid-template-columns: 1fr; }.modal { padding: 27px 21px; }.network-row { grid-template-columns: 1fr; gap: 10px; }.network-row div + div { padding: 10px 0 0; border-left: 0; border-top: 1px solid var(--line); }.admin-metrics { grid-template-columns: 1fr; }.fund-op-head { display: none; }.fund-op { grid-template-columns: 1fr 1fr; }.fund-op-name { grid-column: 1 / -1; }.admin-alert > small { display: none; }.formula-row { flex-direction: column; }.formula-row > b { transform: rotate(90deg); }.admin-toolbar { align-items: stretch; flex-direction: column; }
}
.bot-form { display: flex; flex-direction: column; gap: 12px; }
.bot-form label { display: flex; flex-direction: column; gap: 6px; }
.bot-form label > span { font-size: 11px; letter-spacing: .4px; text-transform: uppercase; color: var(--muted, #5b6c67); font-weight: 700; }
.bot-form input, .bot-form select { padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line, #dce5df); background: #fff; font-size: 14px; color: var(--ink, #12231f); }
.bot-form .checkbox-row { flex-direction: row; align-items: center; gap: 8px; font-size: 13px; }
.bot-form .form-actions { display: flex; gap: 10px; margin-top: 4px; }
.bot-form .form-hint { margin: 0; font-size: 12px; color: var(--muted, #70817c); }
.strategy-table .row-actions { display: flex; gap: 10px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.strategy-table { min-width: 640px; }
.strategy-table .movement-head, .strategy-table .movement-row { grid-template-columns: 1.5fr 1fr 1.2fr .9fr 1.5fr; align-items: center; }
.strategy-table .movement-row { font-size: 9px; }
.strategy-table .row-actions { justify-content: flex-start; }
.strategy-table .row-actions .text-button { font-size: 9px; }
.log-stream-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px 8px; gap: 12px; flex-wrap: wrap; }
.log-stream-header .kicker { margin: 0; }
.log-stream-tools { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }
.log-stream-tools .data-status { white-space: nowrap; }
.log-filter { padding: 5px 10px; border: 1px solid #d3ddd8; border-radius: 8px; background: #fff; color: #143c33; font-size: 11px; font-weight: 750; max-width: 190px; }
.text-button.danger { color: #c0392b; }
.icon-log { font-family: ui-monospace, Menlo, monospace; font-weight: 800; }
.strategy-table .row-actions { flex-wrap: wrap; gap: 4px 8px; align-items: center; }
#botLogModal .log-stream { margin: 16px 0 0; max-height: 60vh; min-height: 320px; }
#botLogModal.modal-backdrop .modal { width: min(760px, 94vw); }
.log-stream { min-height: 300px; max-height: 62vh; overflow-y: auto; margin: 0 12px 14px; padding: 14px 16px; font-family: ui-monospace, Menlo, monospace; font-size: 12px; line-height: 1.65; background: #0e2922; color: #cfe3db; border-radius: 12px; }
.log-stream:empty::before { content: 'Sem atividade ainda — ligue os bots para ver os logs.'; color: #6f8f84; }
.log-line { display: flex; gap: 10px; padding: 2px 0; }
.log-time { color: #6f8f84; flex: 0 0 60px; }
.log-level { flex: 0 0 58px; font-weight: 800; color: #7fae9f; letter-spacing: .04em; }
.log-error .log-level { color: #ff9a8b; }
.log-warning .log-level { color: #e8c37a; }
.log-msg { flex: 1; min-width: 0; word-break: break-word; }

/* Camada 2 — card "Posição atual" (posições Deribit ao vivo) */
.position-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(258px, 1fr)); gap: 14px; }
.position-card { background: var(--card); border: 1px solid #e2e7df; border-radius: 15px; padding: 16px 18px; display: flex; flex-direction: column; gap: 9px; }
.position-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.position-head span { font-weight: 600; color: var(--forest); font-size: .95rem; }
.position-head b { font-size: 1.02rem; font-variant-numeric: tabular-nums; }
.position-meta { display: flex; justify-content: space-between; gap: 10px; font-size: .82rem; color: var(--muted); }
.position-note { font-size: .76rem; color: var(--muted); }
.position-card .negative { color: #c0392b; }

/* Central de estratégias — grade de parâmetros do bot no admin */
.bot-params { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 14px; padding: 14px; margin: 2px 0 4px; background: rgba(11,41,36,.03); border: 1px solid #e2e7df; border-radius: 12px; }
.bot-params label { display: flex; flex-direction: column; gap: 5px; }
.bot-params label span { font-size: .72rem; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.bot-params input { min-height: 42px; }
@media (max-width: 560px){ .bot-params { grid-template-columns: 1fr; } }
.bot-params .bot-param-wide { grid-column: 1 / -1; }

/* Tela "Fundos & bots" — cada fundo com seus bots */
.fundbots-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.fundbot-card { background: var(--card); border: 1px solid #e2e7df; border-radius: 16px; padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
.fundbot-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.fundbot-head h3 { margin: 0; color: var(--forest); font-size: 1.1rem; }
.fundbot-head small { color: var(--muted); font-size: .8rem; }
.fundbot-list { display: flex; flex-direction: column; gap: 8px; }
.fundbot-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 10px; padding: 10px 12px; background: rgba(11,41,36,.03); border-radius: 10px; }
.fundbot-row strong { color: var(--forest); font-size: .92rem; }
.fundbot-row small { display: block; color: var(--muted); font-size: .74rem; margin-top: 2px; }
.fundbot-actions { display: flex; gap: 8px; }
.fundbot-empty { padding: 14px; text-align: center; color: var(--muted); font-size: .85rem; }
.fundbot-new { width: 100%; }

/* Assistente de nova estratégia — payoff ao vivo (Black-Scholes) */
.modal-wide { max-width: 880px; width: 95%; }
.wizard-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 10px; }
.wizard-config { display: flex; flex-direction: column; gap: 10px; }
.wiz-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.wiz-row label, .wizard-config > label { display: flex; flex-direction: column; gap: 5px; }
.wizard-config label span { font-size: .72rem; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.wizard-preview { background: rgba(11,41,36,.03); border: 1px solid #e2e7df; border-radius: 14px; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.wiz-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wiz-preview-head span:last-child { font-size: .74rem; color: var(--muted); }
.wiz-metrics { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 14px; }
.wiz-metrics div { display: flex; flex-direction: column; gap: 2px; }
.wiz-metrics small { font-size: .66rem; color: var(--muted); letter-spacing: .04em; }
.wiz-metrics strong { font-size: 1rem; color: var(--forest); font-variant-numeric: tabular-nums; }
.payoff-box { background: var(--card); border: 1px solid #e2e7df; border-radius: 10px; padding: 6px; }
.payoff-svg { width: 100%; height: 170px; display: block; }
.payoff-line { fill: none; stroke: var(--emerald); stroke-width: 2; }
.payoff-zero { stroke: #c9d2cb; stroke-width: 1; stroke-dasharray: 3 3; }
.payoff-spot { stroke: #b9a06a; stroke-width: 1; stroke-dasharray: 2 3; }
.wiz-note { font-size: .76rem; color: var(--muted); margin: 0; }
.wizard-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
@media (max-width: 720px){ .wizard-grid { grid-template-columns: 1fr; } }
.wiz-check { flex-direction: row !important; align-items: center; gap: 8px; font-size: .82rem; color: var(--ink-soft); }
.wiz-check input { width: auto; min-height: auto; }

/* Botão "Comprar com Pix" na carteira de aporte (sidebar) */
.wallet-widget-pix { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 8px; padding: 11px; border: none; border-radius: 10px; background: #32bcad; color: #fff; font-size: .88rem; font-weight: 600; letter-spacing: .01em; cursor: pointer; transition: filter .2s; }
.wallet-widget-pix:hover { filter: brightness(1.06); }
.wallet-widget-pix .pix-mark { width: 17px; height: 17px; fill: currentColor; flex: none; }

/* Painel Pix compacto INLINE na carteira (sem cadastro) */
.wallet-pix-panel { margin-top: 8px; display: flex; flex-direction: column; gap: 8px; }
.wallet-pix-hint { margin: 0; font-size: .74rem; line-height: 1.45; color: var(--ink-soft); }
.pix-provider-links { display: grid; grid-template-columns: 1fr; gap: 8px; }
.pix-provider { width: 100%; display: flex; flex-direction: column; gap: 1px; padding: 8px 12px; border: 1px solid var(--emerald); border-radius: 10px; background: var(--card); text-align: left; text-decoration: none; cursor: pointer; font: inherit; transition: background .2s, box-shadow .2s; }
.pix-provider:hover { background: #eef5f2; box-shadow: 0 4px 14px rgba(22,128,107,.14); }
.pix-provider strong { color: var(--emerald); font-size: .82rem; }
.pix-provider span { color: var(--muted); font-size: .62rem; line-height: 1.3; letter-spacing: .01em; }
.pix-help-link { align-self: flex-start; background: none; border: none; padding: 2px 0 0; color: var(--emerald); font-size: .72rem; font-weight: 600; cursor: pointer; }
.pix-help-link:hover { text-decoration: underline; }
.pix-help-steps { list-style: none; margin: 6px 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.pix-help-steps li { display: flex; gap: 12px; align-items: flex-start; }
.pix-help-steps > li > b { flex: none; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: #fff; font-size: .8rem; font-weight: 600; }
.pix-help-steps strong { display: block; font-size: .95rem; color: var(--forest); font-weight: 600; }
.pix-help-steps span { display: block; font-size: .82rem; color: var(--muted); line-height: 1.45; margin-top: 2px; }

/* Card "ciclo do resultado": último fechamento · ao vivo · próximo fechamento */
.cycle-section { margin-top: 10px; }
.cycle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 10px; }
.cycle-card { padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--card); display: flex; flex-direction: column; gap: 3px; }
.cycle-card.live { border-color: var(--emerald); box-shadow: 0 4px 16px rgba(22,128,107,.10); }
.cycle-card > small { font-size: .62rem; letter-spacing: .07em; color: var(--muted); font-weight: 600; }
.cycle-card > strong { font-size: 1.3rem; color: var(--ink); line-height: 1.2; }
.cycle-card > strong.positive { color: var(--emerald) !important; }
.cycle-card > strong.negative { color: #b4433a !important; }
.cycle-card .cycle-est { font-style: normal; font-size: .74rem; font-weight: 600; color: var(--forest); }
.cycle-card .cycle-est:empty { display: none; }
.cycle-card > span { font-size: .7rem; color: var(--muted); line-height: 1.35; }
.cycle-note { margin: 12px 2px 0; font-size: .74rem; color: var(--muted); line-height: 1.5; }
@media (max-width: 720px){ .cycle-grid { grid-template-columns: 1fr; } }

/* Cockpit de opções */
.cockpit-market { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; }
.cockpit-market label { display: flex; flex-direction: column; gap: 4px; font-size: .64rem; color: var(--muted); font-weight: 600; letter-spacing: .04em; }
.cockpit-market select, .cockpit-market input { padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--card); font: inherit; min-width: 84px; }
.cockpit-market-line { margin: 2px 0 14px; font-size: .82rem; color: var(--ink); }
.cockpit-market-line b { color: var(--forest); }
.cockpit-market-line .member-status { margin-left: 8px; }
.cockpit-grid { display: grid; grid-template-columns: 320px 1fr; gap: 14px; align-items: start; }
.cockpit-strategies { display: flex; flex-direction: column; gap: 8px; }
.cockpit-strat { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); cursor: pointer; font: inherit; transition: border-color .15s, background .15s; }
.cockpit-strat:hover { background: #f2f6f3; }
.cockpit-strat.on { border-color: var(--c); box-shadow: inset 3px 0 0 var(--c); }
.cockpit-strat.disabled { opacity: .5; cursor: default; }
.cockpit-strat-dot { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--line); }
.cockpit-strat.on .cockpit-strat-dot { background: var(--c); }
.cockpit-strat-body { display: flex; flex-direction: column; gap: 2px; }
.cockpit-strat-body strong { font-size: .84rem; color: var(--ink); }
.cockpit-strat-body small { font-size: .66rem; color: var(--muted); }
.cockpit-chart { width: 100%; }
.cockpit-svg { width: 100%; height: auto; display: block; }
.cockpit-axis { display: flex; justify-content: space-between; font-size: .64rem; color: var(--muted); margin-top: 4px; }
.cockpit-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; }
.cockpit-leg { display: inline-flex; align-items: center; gap: 6px; font-size: .72rem; color: var(--ink); }
.cockpit-leg i { width: 14px; height: 3px; border-radius: 2px; background: var(--c); }
.cockpit-empty { padding: 40px 16px; text-align: center; color: var(--muted); font-size: .8rem; }
.cockpit-hint { font-size: .66rem; color: var(--muted); }
.cockpit-table-panel { margin-top: 14px; }
.cockpit-metrics { display: flex; flex-direction: column; overflow-x: auto; }
.cockpit-metric-row { display: grid; gap: 8px; padding: 9px 4px; border-bottom: 1px solid var(--line); font-size: .78rem; align-items: center; min-width: 420px; }
.cockpit-metric-row.head { font-weight: 600; font-size: .64rem; letter-spacing: .04em; text-transform: uppercase; }
.cockpit-metric-row > span:first-child { color: var(--muted); }
.cockpit-metric-row b { color: var(--ink); }
.cockpit-metric-row small { color: var(--muted); font-size: .68rem; }
@media (max-width: 900px){ .cockpit-grid { grid-template-columns: 1fr; } }
/* Cockpit — painel da IA recomendadora */
.cockpit-reco-panel { margin-bottom: 14px; border-left: 3px solid var(--emerald); }
.cockpit-reco-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.cockpit-reco-badge { font-size: .64rem; font-weight: 700; letter-spacing: .06em; color: var(--emerald); }
.cockpit-reco-score { font-size: 1.6rem; color: var(--forest); font-weight: 700; line-height: 1; }
.cockpit-reco-score small { font-size: .7rem; color: var(--muted); font-weight: 500; }
.cockpit-reco-headline { margin: 8px 0 6px; font-size: .92rem; color: var(--ink); line-height: 1.45; }
.cockpit-reco-reasons { margin: 0 0 12px; padding-left: 18px; display: flex; flex-direction: column; gap: 3px; }
.cockpit-reco-reasons li { font-size: .76rem; color: var(--muted); }
.cockpit-rank-list { display: flex; flex-wrap: wrap; gap: 8px; }
.cockpit-rank { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--card); cursor: pointer; font: inherit; font-size: .72rem; color: var(--ink); }
.cockpit-rank b { color: var(--muted); font-size: .68rem; }
.cockpit-rank i { font-style: normal; font-weight: 700; color: var(--c); }
.cockpit-rank.on { border-color: var(--c); box-shadow: inset 2px 0 0 var(--c); }
.cockpit-strat-score { margin-left: auto; flex: none; font-size: .82rem; font-weight: 700; color: var(--forest); }
.cockpit-reco-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.cockpit-create { flex: none; padding: 9px 16px; font-size: .8rem; }

/* ---------- Suporte · mesa de estratégias (lâmina + PDF) ---------- */
.strategy-sheet { display: flex; flex-direction: column; gap: 26px; }
.sheet-summary { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.sheet-summary th, .sheet-summary td { padding: 10px 14px; text-align: left; white-space: nowrap; }
.sheet-summary thead th { font-size: 9.5px; letter-spacing: .07em; text-transform: uppercase; color: #7c877e; border-bottom: 1px solid var(--line); }
.sheet-summary tbody tr + tr td { border-top: 1px solid var(--line); }
.sheet-summary td:first-child { font-weight: 600; white-space: normal; }
.sheet-note { margin: 12px 2px 0; font-size: 11.5px; color: #7c877e; max-width: 68ch; }
.fam-pill { font-size: 9px; letter-spacing: .04em; text-transform: uppercase; color: var(--emerald); background: rgba(22,128,107,.1); border-radius: 999px; padding: 3px 9px; display: inline-block; }

.risk-gauge { display: inline-flex; gap: 2px; vertical-align: middle; }
.risk-gauge i { width: 7px; height: 13px; border-radius: 1px; background: var(--paper-2); display: block; }
.risk-gauge[data-level="1"] i:nth-child(-n+1), .risk-gauge[data-level="2"] i:nth-child(-n+2) { background: var(--emerald); }
.risk-gauge[data-level="3"] i:nth-child(-n+3) { background: var(--gold); }
.risk-gauge[data-level="4"] i:nth-child(-n+4), .risk-gauge[data-level="5"] i:nth-child(-n+5) { background: var(--danger); }

.sheet-family-title { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--emerald); margin: 0 0 12px; font-weight: 700; }
.sheet-family-title span { text-transform: none; letter-spacing: 0; color: #7c877e; font-weight: 400; }
.sheet-card { margin-bottom: 14px; }
.sheet-card:last-child { margin-bottom: 0; }
.sheet-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 8px; }
.sheet-tag { font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: #7c877e; display: block; margin-bottom: 3px; }
.sheet-card-head h2 { font-size: 18px; margin: 0; font-family: Georgia, serif; font-weight: 600; }
.sheet-card-head h2 small { font-weight: 400; color: #7c877e; font-size: 13px; }
.sheet-card > p { color: var(--ink-soft); font-size: 13.5px; margin: 0 0 14px; max-width: 74ch; }

.sheet-specs { display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 12px; padding: 12px 0; margin-bottom: 14px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sheet-specs span { display: block; font-size: 8.5px; letter-spacing: .06em; color: #7c877e; text-transform: uppercase; margin-bottom: 2px; }
.sheet-specs strong { font-size: 13px; font-weight: 600; }

.sheet-scenarios { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.sheet-scenarios th { font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: #7c877e; text-align: left; padding: 0 10px 7px; font-weight: 700; }
.sheet-scenarios td { padding: 8px 10px; vertical-align: top; border-top: 1px solid var(--line); }
.sheet-scenarios td:first-child { font-weight: 700; white-space: nowrap; width: 78px; }
.sheet-scenarios td:nth-child(2) { color: var(--ink-soft); }
.sheet-scenarios td:last-child { font-weight: 600; }
.sheet-scenarios tr.good td:first-child { color: var(--emerald); }
.sheet-scenarios tr.base td:first-child { color: var(--gold); }
.sheet-scenarios tr.bad td:first-child { color: var(--danger); }
.sheet-footnote { margin: 12px 2px 0; font-size: 11.5px; color: #7c877e; border-left: 2px solid var(--line); padding-left: 9px; }
.sheet-disclaimer { font-size: 11px; color: #8a938d; line-height: 1.7; max-width: 76ch; margin: 4px 2px 0; }

@media print {
	/* O botão "Baixar PDF" só existe na página de Suporte, então ao imprimir mostramos só ela.
	   O painel oculto (atributo "hidden") já não imprime — só a aba ativa sai no PDF. */
	.admin-sidebar, .topbar, .top-actions { display: none !important; }
	.admin-shell, .admin-main { display: block !important; }
	.admin-page:not(#supportAdminPage) { display: none !important; }
	#supportAdminPage { display: block !important; }
	.panel { box-shadow: none; break-inside: avoid; }
	.sheet-card, .flow-stop-card, .flow-fund-card { break-inside: avoid; }
	.sheet-family, .flow-diagram { break-inside: avoid-page; }
	#downloadStrategySheetButton, .support-tabs { display: none !important; }
	body { background: white; }
}

/* ---------- Suporte · "Como funciona o dinheiro" (diagrama + explicação leiga) ---------- */
.support-tabs { margin-bottom: 18px; }
.flow-sheet { display: flex; flex-direction: column; gap: 16px; }
.flow-lede { font-size: 14px; color: var(--ink-soft); max-width: 68ch; margin: 0 2px; }
.flow-lede strong { color: var(--ink); }
.flow-section-lead { color: var(--ink-soft); font-size: 12.5px; max-width: 66ch; margin: 4px 0 0; }

.flow-diagram { padding: 8px 4px 0; }
.flow-diagram svg { display: block; width: 100%; max-width: 420px; height: auto; margin: 0 auto; color: var(--ink); }
.flow-diagram .flow-accent { color: var(--emerald); }
.flow-diagram figcaption { margin-top: 10px; font-size: 11.5px; color: #7c877e; max-width: 60ch; }

.flow-stop-grid, .flow-fund-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin-top: 6px; }
.flow-stop-card, .flow-fund-card { background: var(--paper-2); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; }
.flow-stop-card .flow-stop-num { font-family: "SF Mono", "Cascadia Code", ui-monospace, monospace; font-size: 9.5px; color: var(--emerald); letter-spacing: .06em; display: block; margin-bottom: 5px; }
.flow-stop-card h3, .flow-fund-card h3 { font-size: 14.5px; margin: 0 0 5px; font-family: Georgia, serif; font-weight: 600; }
.flow-stop-card p, .flow-fund-card p { margin: 6px 0 0; font-size: 12px; color: var(--ink-soft); }
.flow-fund-card .flow-fund-letter { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: rgba(22,128,107,.12); color: var(--emerald); font-family: Georgia, serif; font-weight: 700; font-size: 12px; margin-bottom: 6px; }
.flow-fund-card small { color: #7c877e; font-size: 9.5px; letter-spacing: .03em; }

.flow-badge { font-size: 9px; letter-spacing: .04em; text-transform: uppercase; border-radius: 999px; padding: 3px 9px; display: inline-block; white-space: nowrap; }
.flow-badge.auto { color: var(--emerald); background: rgba(22,128,107,.1); }

.flow-check-list { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 10px; }
.flow-check-list li { display: flex; gap: 11px; padding: 12px 14px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 10px; font-size: 12.5px; }
.flow-check-list b { color: var(--ink); }
.flow-check-list div { color: var(--ink-soft); }
.flow-mark { flex-shrink: 0; color: var(--emerald); font-weight: 700; }
.flow-mark.bad { color: var(--danger); }
.flow-not-list li { padding: 10px 14px; }

.flow-glossary { display: grid; gap: 8px; margin-top: 6px; }
.flow-glossary div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); }
.flow-glossary div:first-child { border-top: none; }
.flow-glossary dt { font-weight: 700; font-size: 12.5px; margin: 0; }
.flow-glossary dd { margin: 0; font-size: 12.5px; color: var(--ink-soft); }

@media (max-width: 560px) {
	.flow-glossary div { grid-template-columns: 1fr; gap: 2px; }
}
.cockpit-nobot { font-size: .72rem; color: var(--muted); font-style: italic; }

/* ---------- esconder o menu lateral (mais espaço pro Cockpit e afins) ---------- */
.admin-shell.sidebar-hidden { grid-template-columns: 0 minmax(0, 1fr); }
.admin-shell.sidebar-hidden .admin-sidebar { display: none; }
.sidebar-restore {
	position: fixed; top: 14px; left: 14px; z-index: 30; width: 34px; height: 34px; border: 1px solid var(--line);
	border-radius: 9px; background: var(--card); color: var(--forest); font-size: 15px; cursor: pointer;
	box-shadow: 0 6px 16px rgba(25,42,36,.1);
}
#sidebarToggleButton { white-space: nowrap; }

/* ---------- Cockpit · mesa do gestor por fundo ---------- */
.desk-tabs { margin: 0 0 16px; width: fit-content; }
.desk-tabs .desk-refresh { font-size: 11px; padding: 6px 10px; }
.desk { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 14px; margin-bottom: 18px; }
/* Linha 1: gráfico + risco. Linha 2: decisão em LARGURA TOTAL — a leitura da IA é texto longo e
   ficava espremida numa coluna estreita (com o gráfico sobrando espaço vazio embaixo). */
.desk-chart-panel { grid-column: 1; grid-row: 1; }
.desk-risk-panel { grid-column: 2; grid-row: 1; }
.desk-next-panel { grid-column: 1 / -1; grid-row: 2; }
.desk-next-panel .desk-next { max-width: 1100px; margin-inline: auto; }
.desk-risk-head b.unknown { color: var(--muted); }
.desk-positions-panel, .desk-orders-panel { grid-column: 1 / -1; }

.desk-regime { font-size: 9px; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: var(--paper-2); color: var(--muted); white-space: nowrap; }
.desk-regime.lateral { color: var(--gold); background: rgba(183,154,94,.14); }
.desk-regime.bull { color: var(--emerald); background: rgba(22,128,107,.12); }
.desk-regime.bear { color: var(--danger); background: rgba(168,79,79,.12); }

.desk-chart-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.desk-tf { padding: 2px; }
.desk-tf button { font-size: 9px; padding: 5px 9px; }
.desk-chart-shell { position: relative; margin-top: 10px; }
.desk-chart { width: 100%; min-height: 340px; }
.desk-legend {
	position: absolute; top: 8px; left: 10px; z-index: 3; display: flex; gap: 10px; flex-wrap: wrap;
	align-items: baseline; font-size: 10px; color: var(--muted); pointer-events: none;
}
.desk-legend b { font-size: 10.5px; color: var(--ink); letter-spacing: .03em; }
.desk-legend em { font-style: normal; font-weight: 700; color: var(--ink); }
.desk-legend .pos { color: var(--emerald); font-weight: 700; }
.desk-legend .neg { color: var(--danger); font-weight: 700; }

.desk-risk { display: grid; gap: 14px; margin-top: 8px; }
.desk-risk-figure small { display: block; font-size: 8.5px; letter-spacing: .08em; color: var(--muted); margin-bottom: 3px; }
.desk-risk-figure strong { font-size: 21px; font-family: Georgia, serif; }
.desk-risk-head { display: flex; justify-content: space-between; align-items: baseline; font-size: 11px; color: var(--muted); margin-bottom: 5px; }
.desk-risk-head b.safe { color: var(--emerald); } .desk-risk-head b.mid { color: var(--gold); } .desk-risk-head b.high { color: var(--danger); }
.desk-risk-bar { height: 7px; border-radius: 999px; background: var(--paper-2); overflow: hidden; }
.desk-risk-bar i { display: block; height: 100%; border-radius: 999px; }
.desk-risk-bar i.safe { background: var(--emerald); } .desk-risk-bar i.mid { background: var(--gold); } .desk-risk-bar i.high { background: var(--danger); }
.desk-risk-note { display: block; margin-top: 6px; font-size: 10px; color: var(--muted); }

.desk-next { display: grid; gap: 8px; margin-top: 8px; }
.desk-next-item { display: flex; gap: 9px; padding: 9px 11px; border-radius: 9px; background: var(--paper-2); font-size: 11.5px; line-height: 1.5; }
.desk-next-item p { margin: 0; color: var(--ink-soft); }
.desk-next-item i { flex: none; width: 5px; border-radius: 999px; background: var(--muted); }
.desk-rules-title { margin: 14px 0 8px; font-size: 8.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.desk-reading { padding: 13px 14px; border-radius: 11px; background: linear-gradient(180deg, rgba(22,128,107,.07), rgba(22,128,107,.02)); border: 1px solid rgba(22,128,107,.22); }
.desk-reading.loading { opacity: .6; }
.desk-reading-badge { display: inline-block; font-size: 8px; letter-spacing: .1em; color: var(--emerald); font-weight: 800; margin-bottom: 7px; }
.desk-reading strong { display: block; font-size: 13.5px; font-family: Georgia, serif; margin-bottom: 6px; }
.desk-reading p { margin: 0; font-size: 12.5px; line-height: 1.65; color: var(--ink-soft); max-width: 95ch; }
.desk-plays { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.desk-plays li { padding: 8px 10px; border-radius: 8px; background: var(--card); border: 1px solid var(--line); font-size: 11px; }
.desk-plays b { color: var(--emerald); }
.desk-plays code { font-size: 10px; background: var(--paper-2); padding: 1px 5px; border-radius: 4px; }
.desk-plays span { display: block; margin-top: 4px; color: var(--ink-soft); line-height: 1.5; }
.desk-plays em { display: block; margin-top: 3px; font-style: normal; font-size: 10px; color: var(--gold); }
.desk-reading-risk { margin-top: 9px !important; font-size: 10.5px !important; color: var(--danger) !important; }
.desk-next-item.alert i { background: var(--danger); } .desk-next-item.watch i { background: var(--gold); }
.desk-next-item.good i { background: var(--emerald); } .desk-next-item.info i { background: #7e9aa3; }

.desk-table-wrap { overflow-x: auto; margin-top: 6px; }
.desk-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.desk-table th { text-align: left; padding: 6px 10px; font-size: 8.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line); }
.desk-table td { padding: 9px 10px; border-top: 1px solid var(--line); white-space: nowrap; }
.desk-table td.pos { color: var(--emerald); font-weight: 700; } .desk-table td.neg { color: var(--danger); font-weight: 700; }
.desk-side { font-style: normal; font-size: 8.5px; letter-spacing: .05em; padding: 3px 8px; border-radius: 999px; }
.desk-side.sell { color: var(--danger); background: rgba(168,79,79,.1); }
.desk-side.buy { color: var(--emerald); background: rgba(22,128,107,.1); }
.desk-empty { padding: 14px 4px; font-size: 11.5px; color: var(--muted); font-style: italic; }

/* termômetro do edge (IV × vol realizada × previsão GARCH) */
.desk-edge-panel { grid-column: 1 / -1; }
.desk-edge { margin-top: 8px; }
.edge-head { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 10px; font-size: 10.5px; color: var(--muted); }
.edge-head b { color: var(--ink); font-size: 12px; }
.edge-row { display: grid; grid-template-columns: 1.2fr 1fr 1fr 0.8fr 1.1fr; gap: 10px; align-items: center; padding: 8px 11px; border-radius: 8px; margin-bottom: 5px; background: var(--paper-2); font-size: 11.5px; }
.edge-row .edge-exp { font-weight: 700; }
.edge-row .edge-fig { color: var(--muted); } .edge-row .edge-fig b { color: var(--ink); }
.edge-row .edge-pts { font-weight: 800; font-variant-numeric: tabular-nums; }
.edge-row .edge-label { justify-self: end; font-size: 8.5px; letter-spacing: .06em; padding: 3px 9px; border-radius: 999px; font-weight: 800; }
.edge-row.vender .edge-pts, .edge-row.vender .edge-label { color: var(--emerald); } .edge-row.vender .edge-label { background: rgba(22,128,107,.12); }
.edge-row.neutro .edge-pts, .edge-row.neutro .edge-label { color: var(--gold); } .edge-row.neutro .edge-label { background: rgba(183,154,94,.16); }
.edge-row.nao_vender .edge-pts, .edge-row.nao_vender .edge-label { color: var(--danger); } .edge-row.nao_vender .edge-label { background: rgba(168,79,79,.12); }
.edge-row.sem_dado .edge-label { color: var(--muted); background: var(--card); }
.edge-note { margin: 10px 2px 0; font-size: 11px; color: var(--ink-soft); line-height: 1.5; }

/* regra de saída nas posições */
.exit-badge { font-style: normal; font-size: 8.5px; letter-spacing: .05em; padding: 3px 8px; border-radius: 999px; font-weight: 800; white-space: nowrap; cursor: help; }
.exit-badge.close { color: #fff; background: var(--emerald); }
.exit-badge.consider { color: var(--gold); background: rgba(183,154,94,.16); }
.exit-badge.hold { color: var(--muted); background: var(--paper-2); }
.exit-badge.loss { color: #fff; background: var(--danger); }

/* ---------- Pools (liquidez on-chain, tela tipo Revert) ---------- */
.pools-sources { display: grid; gap: 14px; }
.pools-source.failed { border-color: rgba(168,79,79,.4); }
.pools-wallet { display: block; margin-top: 3px; font-family: ui-monospace, Menlo, monospace; font-size: 9.5px; color: var(--muted); letter-spacing: .02em; }
.pools-chain-badge { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 4px; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); }
.pools-chain-badge svg { width: 20px; height: 20px; flex: none; border-radius: 50%; box-shadow: 0 1px 3px rgba(25,42,36,.18); }
.pools-rpc { margin: 0 0 2px !important; font-size: 8.5px !important; color: var(--muted) !important; text-transform: none !important; letter-spacing: .02em !important; }
.pools-block { font-size: 10px; color: var(--muted); white-space: nowrap; }
.pools-error { margin: 8px 0 2px; font-size: 11.5px; color: var(--danger); font-weight: 700; }
.pools-warn { margin: 10px 2px 0; font-size: 10.5px; color: var(--gold); }
.pools-state { font-style: normal; font-size: 8.5px; letter-spacing: .06em; padding: 3px 9px; border-radius: 999px; font-weight: 800; white-space: nowrap; }
.pools-state.in { color: var(--emerald); background: rgba(22,128,107,.12); }
.pools-state.out { color: var(--danger); background: rgba(168,79,79,.12); }
.pools-line { border-top: 1px solid var(--line); padding: 12px 2px; }
.pools-line:first-of-type { border-top: 0; }
.pools-line-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.pools-line-head strong { font-size: 14px; font-family: Georgia, serif; }
.pools-line-head small, .pools-flat small { display: block; font-size: 9.5px; color: var(--muted); margin-top: 2px; }
.pools-figs { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 10px 0; }
.pools-figs span small { display: block; font-size: 8px; letter-spacing: .08em; color: var(--muted); margin-bottom: 2px; }
.pools-figs span b { font-size: 13px; font-variant-numeric: tabular-nums; }
.pools-figs b.pos { color: var(--emerald); }
.pools-range { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; font-size: 10px; color: var(--muted); font-variant-numeric: tabular-nums; }
.pools-range-bar { position: relative; height: 6px; border-radius: 999px; background: linear-gradient(90deg, rgba(168,79,79,.25), rgba(22,128,107,.35) 15%, rgba(22,128,107,.35) 85%, rgba(168,79,79,.25)); }
.pools-range-bar i { position: absolute; top: -4px; width: 3px; height: 14px; margin-left: -1.5px; border-radius: 2px; background: var(--ink); }
.pools-line-foot { margin-top: 8px; font-size: 10.5px; color: var(--muted); font-variant-numeric: tabular-nums; }
.pools-flat-list { margin-top: 6px; }
.pools-flat { display: grid; grid-template-columns: 1fr auto auto; gap: 14px; align-items: center; font-size: 12px; }
.pools-flat span { color: var(--muted); font-variant-numeric: tabular-nums; }
.pools-flat b { font-variant-numeric: tabular-nums; }
.pools-metrics span.positive { color: var(--emerald); } .pools-metrics span.warning { color: var(--danger); }

/* --- gestão do fundo de pools (histórico, alertas, wallet, simulador, ações) + WhatsApp --- */
.pools-panel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 14px; margin: 14px 0; align-items: start; }
.pools-col { display: grid; gap: 14px; align-content: start; }
.pools-panel .panel-header h3 { margin: 4px 0 0; font-family: Georgia, serif; font-size: 16px; font-weight: 500; }
.pools-select { width: auto; min-height: 34px; padding: 0 10px; font-size: 12px; }
/* Formulários: campos alinham pelo TOPO (dica embaixo não desalinha), checkbox ocupa a linha inteira,
   campo "largo" (endereço, seletor de investidor, texto) também. */
.pools-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px 14px; margin-top: 14px; align-items: start; }
.pools-form label { display: flex; flex-direction: column; gap: 5px; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); font-weight: 700; min-width: 0; }
.pools-form label input, .pools-form label select, .pools-form label textarea { width: 100%; min-height: 38px; padding: 0 10px; font-size: 13px; text-transform: none; letter-spacing: 0; font-weight: 400; }
.pools-form label textarea { padding: 8px 10px; min-height: 90px; resize: vertical; border: 1px solid var(--line); border-radius: 10px; font: inherit; color: var(--ink); background: white; }
.pools-form label small { font-size: 8.5px; letter-spacing: 0; text-transform: none; font-weight: 500; line-height: 1.3; }
.pools-form label b { text-transform: none; letter-spacing: 0; }
.pools-form .pools-wide { grid-column: 1 / -1; }
.pools-form .pools-check { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 8px; text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 600; color: var(--ink); min-height: auto; } .pools-form .pools-check input { width: auto; min-height: auto; margin: 0; }
.pools-form-actions { grid-column: 1 / -1; display: flex; gap: 8px; flex-wrap: wrap; }
.pools-form-actions .button { padding: 9px 14px; font-size: 12px; }
.pools-note { margin: 10px 0 0; font-size: 10.5px; color: var(--muted); line-height: 1.5; }
.pools-note code, .pools-txs code, .pools-action-txs code, .wa-table code { font-family: ui-monospace, Menlo, monospace; font-size: 10px; }
.pools-history-stats { margin-top: 10px; }
.pools-figs span i { display: block; font-style: normal; font-size: 9px; color: var(--muted); margin-top: 2px; }
.pools-details { margin-top: 12px; border-top: 1px solid var(--line); padding-top: 8px; }
.pools-details summary { cursor: pointer; font-size: 11px; color: var(--muted); letter-spacing: .04em; }
.pools-details[open] summary { margin-bottom: 8px; }
.ruler-table td.ruler-status small { display: inline-block; padding: 2px 6px; border-radius: 999px; background: rgba(0,0,0,.05); font-size: 9px; letter-spacing: .06em; }
.ruler-table tr.pending td.ruler-status small { background: rgba(196,132,0,.14); color: #8a5a00; }
.ruler-table tr.registered td.ruler-status small { background: rgba(22,128,107,.12); color: var(--emerald); }
.ruler-table tr.unpriced td { background: rgba(196,132,0,.06); }
.ruler-table tr.initial td { background: rgba(22,128,107,.06); }
.ruler-table tr.internal td, .ruler-table tr.covered td { color: var(--muted); }
/* Diário das posições: cards quadrados com gráfico, barra da faixa e veredito */
.journal-legend { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 14px; }
.jpill { font-size: 10px; letter-spacing: .08em; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: rgba(0,0,0,.06); color: var(--muted); white-space: nowrap; }
.jpill.sair { background: rgba(22,128,107,.16); color: var(--emerald); }
.jpill.esperar, .jpill.atencao { background: rgba(196,132,0,.18); color: #8a5a00; }
.jpill.cortar { background: rgba(190,60,50,.16); color: var(--danger); }
.jpill.realocar { background: rgba(47,111,214,.16); color: #2f6fd6; }
.journal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; margin-bottom: 18px; }
.jcard { border: 1px solid var(--line); border-top: 5px solid var(--muted); border-radius: 16px; padding: 16px; background: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.05); display: flex; flex-direction: column; gap: 10px; }
.jcard.sair { border-top-color: var(--emerald); } .jcard.esperar, .jcard.atencao { border-top-color: #c48400; } .jcard.cortar { border-top-color: var(--danger); } .jcard.realocar { border-top-color: #2f6fd6; }
.jhead { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.jpair { display: flex; align-items: center; gap: 8px; }
.jpair > div b { display: block; font-size: 15px; } .jpair > div small { font-size: 10px; color: var(--muted); display: inline-flex; align-items: center; gap: 4px; }
.jtoken { width: 30px; height: 30px; border-radius: 50%; color: #fff; font-size: 9px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; border: 2px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); letter-spacing: .02em; }
.jtoken + .jtoken { margin-left: -12px; }
.jresult small { display: block; font-size: 8px; letter-spacing: .1em; color: var(--muted); }
.jresult b { font-size: 26px; font-family: Georgia, serif; font-weight: 500; font-variant-numeric: tabular-nums; line-height: 1.1; }
.jresult i { display: block; font-style: normal; font-size: 11px; color: var(--muted); margin-top: 2px; }
.jspark { width: 100%; height: 96px; display: block; border-radius: 10px; background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.05)); }
.jspark-empty { display: flex; align-items: center; justify-content: center; font-size: 11px; color: var(--muted); padding: 12px; text-align: center; }
.jband { fill: rgba(22,128,107,.12); }
.jentry { stroke: rgba(0,0,0,.45); stroke-width: 1; stroke-dasharray: 4 3; }
.jlabel { font-size: 9px; fill: rgba(0,0,0,.55); font-family: inherit; }
.jline { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.jline.in { stroke: var(--emerald); } .jline.out { stroke: var(--danger); }
.jdot.in { fill: var(--emerald); } .jdot.out { fill: var(--danger); }
.jrange-track { position: relative; height: 10px; border-radius: 999px; background: linear-gradient(90deg, rgba(190,60,50,.25), rgba(22,128,107,.25) 18%, rgba(22,128,107,.25) 82%, rgba(190,60,50,.25)); margin: 6px 0 4px; }
.jrange-entry { position: absolute; top: -5px; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 8px solid rgba(0,0,0,.55); transform: translateX(-50%); }
.jrange-now { position: absolute; top: -3px; width: 16px; height: 16px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.3); transform: translateX(-50%); }
.jrange-now.in { background: var(--emerald); } .jrange-now.out { background: var(--danger); }
.jrange-labels { display: flex; justify-content: space-between; font-size: 10px; color: var(--muted); }
.jstats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 12px; }
.jstats span small { display: block; font-size: 8px; letter-spacing: .1em; color: var(--muted); }
.jstats span b { font-size: 14px; font-variant-numeric: tabular-nums; }
.jstats b.pos, .jresult b.pos { color: var(--emerald); } .jstats b.neg, .jresult b.neg { color: var(--danger); }
.jtext { margin: 0; font-size: 12px; line-height: 1.5; }
.jfoot { margin: 0; font-size: 10.5px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 8px; }
@media (max-width: 720px){ .journal-grid { grid-template-columns: 1fr; } }
.results-ruler { margin-top: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.results-ruler small { display: block; font-size: 8px; letter-spacing: .08em; color: var(--muted); }
.results-ruler b { font-size: 15px; font-family: Georgia, serif; font-weight: 500; font-variant-numeric: tabular-nums; }
.pools-figs b.neg { color: var(--danger); }
.pools-chart { height: 220px; margin-top: 10px; }
.pools-alert-list { margin-top: 12px; display: grid; gap: 8px; max-height: 320px; overflow: auto; }
.pools-alert { padding: 8px 10px; border-left: 3px solid var(--muted); background: rgba(25,42,36,.03); border-radius: 6px; font-size: 11px; }
.pools-alert.error { border-color: var(--danger); } .pools-alert.warning { border-color: var(--gold); } .pools-alert.info { border-color: var(--emerald); }
.pools-alert small { display: block; color: var(--muted); font-size: 9px; margin-top: 2px; } .pools-alert p { margin: 4px 0 0; }
.pools-wallet-address { font-family: ui-monospace, Menlo, monospace; font-size: 12px; word-break: break-all; margin: 10px 0 0; }
.pools-line-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; } .pools-line-actions .button { padding: 7px 11px; font-size: 11px; }
.button.danger { color: var(--danger); } .button-dark.danger { color: white; background: var(--danger); }
.pools-sim { margin-top: 10px; padding: 12px; border: 1px dashed var(--line); border-radius: 10px; background: rgba(251,252,248,.7); }
.pools-sim .pools-form { margin-top: 0; } .pools-sim-result { margin-top: 10px; }
.pools-steps { margin: 12px 0 0; padding-left: 20px; font-size: 12px; } .pools-steps li { margin: 4px 0; } .pools-steps small { display: block; font-size: 9.5px; color: var(--muted); }
.pools-txs { margin: 6px 0 0; padding-left: 18px; font-size: 11px; } .pools-txs code { word-break: break-all; }
.pools-actions-list { display: grid; gap: 6px; margin-top: 10px; }
.pools-action-row { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 8px 10px; border-radius: 8px; background: rgba(25,42,36,.03); font-size: 11.5px; border-left: 3px solid var(--line); }
.pools-action-row small { display: block; color: var(--muted); font-size: 9px; margin-top: 2px; } .pools-action-row.failed { border-left-color: var(--danger); } .pools-action-row.done { border-left-color: var(--emerald); } .pools-action-row.executing { border-left-color: var(--gold); }
.pools-action-txs { display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; } .pools-action-txs code { font-size: 9px; padding: 2px 5px; background: rgba(25,42,36,.05); border-radius: 4px; }
.positive { color: var(--emerald); } .warning { color: var(--danger); } .gold { color: var(--gold); }
/* Norte do gestor */
#poolsAdvisorPanel { margin-top: 14px; }
.pools-headline-list { margin: 12px 0 0; padding-left: 18px; font-size: 13px; line-height: 1.55; } .pools-headline-list li.warning { font-weight: 700; }
.pools-opinion { margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: rgba(22,128,107,.08); font-size: 12.5px; line-height: 1.55; } .pools-opinion .kicker { margin: 0 0 6px; } .pools-opinion p { margin: 0; }
.pools-advice-list { display: grid; gap: 10px; margin-top: 12px; }
.pools-advice { padding: 12px 14px; border-radius: 10px; border-left: 3px solid var(--line); background: rgba(25,42,36,.03); }
.pools-advice.agir { border-left-color: var(--danger); } .pools-advice.atencao { border-left-color: var(--gold); } .pools-advice.manter { border-left-color: var(--emerald); }
.pools-state.warn { color: #9a6b29; background: rgba(154,107,41,.14); }
.pools-advice-next { margin: 8px 0 0; font-size: 13px; font-weight: 700; }
.pools-advice-reasons { margin: 6px 0 0; padding-left: 18px; font-size: 11px; color: var(--muted); line-height: 1.5; }
.pools-suggestions { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; margin-top: 10px; }
.pools-suggestion { display: grid; gap: 3px; padding: 8px 10px; border: 1px dashed var(--line); border-radius: 8px; font-size: 11px; background: rgba(251,252,248,.7); }
.pools-suggestion b { text-transform: capitalize; } .pools-suggestion small { color: var(--muted); font-size: 9.5px; } .pools-suggestion .button { padding: 5px 9px; font-size: 10px; justify-self: start; margin-top: 2px; }
/* Radar da rede */
#poolsMarketPanel { margin-top: 14px; }
.pools-inline-check { font-size: 11px; display: inline-flex; align-items: center; gap: 6px; color: var(--muted); } .pools-inline-check input { width: auto; min-height: auto; margin: 0; }
.pools-market-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 18px; margin-top: 10px; align-items: start; }
.pools-market-table td small { display: block; font-size: 9px; color: var(--muted); margin-top: 2px; }
.pools-market-table tr.own td { background: rgba(22,128,107,.06); }
.top-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.wa-qr { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; margin-top: 12px; }
.wa-qr img { width: 220px; height: 220px; border: 1px solid var(--line); border-radius: 12px; background: white; padding: 6px; }
.wa-qr p { margin: 0 0 8px; font-size: 12px; line-height: 1.5; }
.wa-connected p { margin: 8px 0 0; font-size: 12.5px; }
.wa-table { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 12px; }
.wa-table th { text-align: left; font-size: 9px; letter-spacing: .08em; color: var(--muted); padding: 6px 4px; } .wa-table td { padding: 6px 4px; border-top: 1px solid var(--line); vertical-align: middle; } .wa-table .button { padding: 5px 9px; font-size: 10px; }
.wa-send-text { grid-column: 1 / -1; }
.wa-messages { margin-top: 10px; display: grid; gap: 6px; max-height: 420px; overflow: auto; }
.wa-msg { padding: 8px 10px; border-radius: 10px; font-size: 12px; background: rgba(22,128,107,.08); } .wa-msg.in { background: rgba(25,42,36,.05); } .wa-msg.failed { background: rgba(168,79,79,.1); }
.wa-msg small { display: block; font-size: 9px; color: var(--muted); } .wa-msg p { margin: 3px 0 0; white-space: pre-wrap; }
.data-status.ok i { background: var(--emerald); } .data-status.pending i { background: var(--gold); } .data-status.off i { background: var(--danger); }
@media (max-width: 720px){ .wa-qr { grid-template-columns: 1fr; } .wa-qr img { width: 200px; height: 200px; } }
@media (max-width: 760px) { .edge-row { grid-template-columns: 1fr 1fr; } .edge-row .edge-label { justify-self: start; } }

@media (max-width: 1100px) {
	.desk { grid-template-columns: 1fr; }
	.desk-chart-panel, .desk-risk-panel, .desk-next-panel { grid-column: 1; grid-row: auto; }
}

/* ---------- Radar de opções ---------- */
.radar-panel { margin-bottom: 18px; }
.radar-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.radar-asset { padding: 2px; } .radar-asset button { font-size: 9px; padding: 5px 10px; }
.radar-select { padding: 5px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--card); color: var(--ink); font-size: 10px; font-weight: 700; }
.radar-check { display: flex; align-items: center; gap: 5px; font-size: 10px; color: var(--muted); }
.radar-summary { margin: 10px 0 16px; font-size: 11.5px; color: var(--muted); }
.radar-summary b { color: var(--ink); font-size: 13px; }

.radar-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; margin-bottom: 22px; }
.radar-rank-title { margin: 0 0 3px; font-size: 12.5px; font-weight: 750; }
.radar-rank-note { margin: 0 0 10px; font-size: 10.5px; color: var(--muted); line-height: 1.45; }
.radar-item { padding: 11px 13px; margin-bottom: 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper-2); }
.radar-item-top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 8px; }
.radar-item-top strong { font-size: 14px; font-family: Georgia, serif; }
.radar-item-exp { font-size: 9.5px; color: var(--muted); letter-spacing: .03em; }
.radar-item-figs { display: flex; gap: 14px; flex-wrap: wrap; align-items: baseline; margin-bottom: 8px; }
.radar-fig { font-size: 12px; font-weight: 700; color: var(--ink-soft); }
.radar-fig small { display: block; font-size: 8.5px; font-weight: 400; color: var(--muted); letter-spacing: .03em; }
.radar-fig.strong { font-size: 16px; color: var(--emerald); }
.radar-fig.strong.sell { color: var(--danger); } .radar-fig.strong.buy { color: var(--emerald); }
.radar-edge { font-size: 8.5px; letter-spacing: .05em; padding: 3px 8px; border-radius: 999px; align-self: center; }
.radar-edge.sell { color: var(--danger); background: rgba(168,79,79,.1); }
.radar-edge.buy { color: var(--emerald); background: rgba(22,128,107,.1); }
.radar-item-foot { display: flex; gap: 12px; flex-wrap: wrap; font-size: 9.5px; color: var(--muted); border-top: 1px solid var(--line); padding-top: 7px; }
.radar-item-foot b { color: var(--ink); }

.radar-chain-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 4px; }
.radar-chain-head .kicker { margin: 0; }
.radar-chain { font-size: 11px; }
.radar-chain td, .radar-chain th { padding: 6px 9px; }
.radar-chain tr.radar-illiquid { opacity: .45; }
.radar-chain-details > summary { display: flex; align-items: baseline; gap: 10px; cursor: pointer; padding: 8px 0; list-style: none; }
.radar-chain-details > summary::-webkit-details-marker { display: none; }
.radar-chain-details > summary::before { content: '▸'; color: var(--emerald); font-size: 11px; }
.radar-chain-details[open] > summary::before { content: '▾'; }
.radar-chain-details > summary .kicker { margin: 0; }

/* ---------- Analista IA ---------- */
.analyst-panel { margin-bottom: 18px; }
.analyst-note { margin: 8px 0 14px; font-size: 11px; color: var(--muted); max-width: 78ch; line-height: 1.5; }
.analyst-thread { max-height: 380px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding: 4px 2px; }
.analyst-empty { font-size: 11.5px; color: var(--muted); font-style: italic; padding: 10px 2px; }
.analyst-msg { padding: 10px 13px; border-radius: 11px; max-width: 88%; }
.analyst-msg.user { align-self: flex-end; background: var(--forest); color: #eef3f0; }
.analyst-msg.assistant { align-self: flex-start; background: var(--paper-2); border: 1px solid var(--line); }
.analyst-who { display: block; font-size: 8px; letter-spacing: .1em; opacity: .65; margin-bottom: 4px; }
.analyst-msg p { margin: 0; font-size: 12.5px; line-height: 1.62; }
.analyst-suggestions { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 10px; }
.analyst-suggestions button {
	padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--card);
	color: var(--ink-soft); font-size: 10.5px; font-weight: 700; cursor: pointer;
}
.analyst-suggestions button:hover { border-color: var(--emerald); color: var(--emerald); }
.analyst-form { display: flex; gap: 8px; }
.analyst-form input { flex: 1; padding: 10px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--card); color: var(--ink); font-size: 12px; }
.analyst-form input:focus { outline: none; border-color: var(--emerald); }
.analyst-form button { flex: none; padding: 9px 18px; font-size: 11px; }
