/* Standalone member portal: intentionally does not depend on the active WordPress theme. */
:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
body.copi-member-standalone { margin: 0; min-width: 320px; min-height: 100vh; background: #f4f7fb; color: #14213d; }
.cmp-shell { width: min(100% - 32px, 480px); margin: 0 auto; padding: 56px 0 44px; }
.cmp-card { background: #fff; border: 1px solid #e1e7f0; border-radius: 18px; box-shadow: 0 12px 32px rgb(30 50 90 / 8%); padding: 32px; }
.cmp-card h1 { margin: 0 0 25px; color: #14213d; font-size: 26px; line-height: 1.28; letter-spacing: -.02em; }
.cmp-content, .cmp-content * { font-family: inherit; }
.cmp-content p { margin: 0 0 18px; }
.copi-member-form label { display: grid; gap: 8px; color: #26364f; font-size: 14px; font-weight: 650; line-height: 1.4; }
.copi-member-form input, .copi-member-form textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #14213d; font: inherit; font-size: 16px; line-height: 1.4; outline: none; padding: 12px; transition: border-color .15s, box-shadow .15s; }
.copi-member-form textarea { min-height: 110px; resize: vertical; }
.copi-member-form input:focus, .copi-member-form textarea:focus { border-color: #2e78f6; box-shadow: 0 0 0 3px rgb(46 120 246 / 16%); }
.copi-member-form button { width: 100%; appearance: none; border: 0; border-radius: 8px; background: #1769e8; color: #fff; cursor: pointer; font: inherit; font-size: 16px; font-weight: 700; line-height: 1.4; padding: 13px 18px; transition: background .15s, transform .15s; }
.copi-member-form button:hover { background: #0d57c7; }.copi-member-form button:active { transform: translateY(1px); }
.copi-member-form small { color: #64748b; font-size: 12px; line-height: 1.6; }
.copi-member-notice { border-radius: 9px; background: #eaf2ff; color: #174a9d; font-size: 14px; line-height: 1.55; margin: 0 0 20px !important; padding: 12px 14px; }
.copi-member-dashboard h2 { display: none; }.copi-member-dashboard p { color: #475569; line-height: 1.65; }.copi-member-dashboard strong { color: #14213d; }.copi-member-dashboard form { margin-top: 26px; }.copi-member-dashboard form button { width: auto; background: transparent; border: 1px solid #cbd5e1; color: #334155; cursor: pointer; font: inherit; font-weight: 650; padding: 9px 14px; border-radius: 7px; }
.copi-member-dashboard .copi-member-action { display: inline-block; border-radius: 8px; background: #1769e8; color: #fff; font-size: 15px; font-weight: 700; padding: 11px 15px; text-decoration: none; }.copi-member-dashboard .copi-member-action:hover { background: #0d57c7; color: #fff; }
.copi-member-dashboard .copi-member-pending-account { border: 1px solid #bfdbfe; border-radius: 9px; background: #eff6ff; color: #1e3a5f; padding: 12px 14px; }.copi-member-dashboard .copi-member-pending-account small { color: #52657f; }
.cmp-copyright { margin: 18px 0 0; text-align: center; }
.cmp-copyright a { color: #94a3b8; font-size: 12px; text-decoration: none; }
.cmp-copyright a:hover { color: #1769e8; text-decoration: underline; }
@media (max-width: 480px) { .cmp-shell { width: min(100% - 24px, 480px); padding-top: 32px; }.cmp-card { border-radius: 14px; padding: 24px 20px; }.cmp-card h1 { font-size: 23px; } }

/* Full-screen dashboard. These rules are intentionally scoped so register/login stay compact. */
body.copi-member-dashboard-page {
	min-height: 100vh;
	min-height: 100dvh;
	height: 100vh;
	height: 100dvh;
	overflow: hidden;
}
.copi-member-dashboard-page .cmp-shell {
	width: 100%;
	max-width: none;
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.copi-member-dashboard-page .cmp-dashboard-card {
	flex: 1 1 auto;
	min-height: 0;
	height: auto;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	background: #f7f9fc;
}
.cmp-dashboard-header {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 64px;
	min-height: 64px;
	border-bottom: 1px solid #e1e7f0;
	padding: 0 48px;
	background: #fff;
}
.cmp-dashboard-header__start {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	flex: 1 1 auto;
}
.cmp-dashboard-header h1 { margin: 0; font-size: 24px; min-width: 0; }
.cmp-nav-toggle {
	display: none;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border: 1px solid #cbd5e1;
	border-radius: 10px;
	background: #fff;
	color: #334155;
	cursor: pointer;
	padding: 0;
}
.cmp-nav-toggle:hover, .cmp-nav-toggle[aria-expanded="true"] {
	border-color: #2e78f6;
	box-shadow: 0 0 0 3px rgb(46 120 246 / 16%);
}
.cmp-nav-toggle__bar {
	display: block;
	width: 18px;
	height: 2px;
	margin: 0 auto;
	border-radius: 1px;
	background: currentColor;
	transition: transform .18s ease, opacity .18s ease;
}
.cmp-nav-toggle[aria-expanded="true"] .cmp-nav-toggle__bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.cmp-nav-toggle[aria-expanded="true"] .cmp-nav-toggle__bar:nth-child(2) {
	opacity: 0;
}
.cmp-nav-toggle[aria-expanded="true"] .cmp-nav-toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}
.cmp-sidebar-backdrop { display: none; }
.cmp-account-menu { position: relative; }
.cmp-user-menu-toggle { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #cbd5e1; border-radius: 50%; background: #fff; color: #334155; cursor: pointer; font-size: 20px; line-height: 1; }
.cmp-user-menu-toggle:hover, .cmp-user-menu-toggle[aria-expanded="true"] { border-color: #2e78f6; box-shadow: 0 0 0 3px rgb(46 120 246 / 16%); }
.cmp-user-menu { position: absolute; z-index: 10; top: 52px; right: 0; width: 260px; border: 1px solid #d9e2ef; border-radius: 12px; background: #fff; box-shadow: 0 14px 30px rgb(30 50 90 / 14%); padding: 16px; }
.cmp-user-menu[hidden] { display: none; }.cmp-user-menu p { margin: 0 0 9px; }.cmp-user-menu-name { color: #14213d; font-size: 16px; font-weight: 750; overflow-wrap: anywhere; }.cmp-user-menu-status { color: #52657f; font-size: 13px; }.cmp-user-menu-status strong { color: #14213d; }.cmp-user-menu form { margin: 15px 0 0; }.cmp-user-menu button { width: 100%; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #334155; cursor: pointer; font: inherit; font-size: 14px; font-weight: 700; padding: 9px 12px; }
.copi-member-dashboard-page .cmp-content { width: min(100% - 48px, 760px); margin: 0 auto; padding: 48px 0; }
.copi-member-dashboard-page .copi-member-dashboard > h2, .copi-member-dashboard-page .copi-member-dashboard > p:nth-of-type(1), .copi-member-dashboard-page .copi-member-dashboard > p:nth-of-type(2), .copi-member-dashboard-page .copi-member-dashboard > form { display: none; }
@media (max-width: 640px) {
	.cmp-dashboard-header { height: 56px; min-height: 56px; padding: 0 20px; }
	.cmp-dashboard-header h1 { font-size: 21px; }
	.copi-member-dashboard-page .cmp-content { width: min(100% - 40px, 760px); padding-top: 32px; }
}

/* Portal navigation and panels. */
.cmp-portal-layout {
	flex: 1 1 auto;
	min-height: 0;
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
}
.cmp-sidebar { display: flex; flex-direction: column; gap: 5px; border-right: 1px solid #e1e7f0; background: #fff; padding: 28px 16px; overflow-y: auto; }
.cmp-side-link { display: flex; align-items: center; gap: 12px; width: 100%; border: 0; border-radius: 9px; background: transparent; color: #52657f; cursor: pointer; font: inherit; font-size: 14px; font-weight: 700; padding: 12px 14px; text-align: left; }
.cmp-side-link span { width: 16px; color: #7590b2; font-size: 17px; text-align: center; }.cmp-side-link:hover { background: #f1f5fb; color: #1769e8; }.cmp-side-link.is-active { background: #eaf2ff; color: #1769e8; }.cmp-side-link.is-active span { color: #1769e8; }
.cmp-panel-area { min-width: 0; min-height: 0; overflow-y: auto; }
.cmp-portal-panel { width: min(100% - 64px, 1000px); margin: 0 auto; padding: 48px 0 64px; }
.copi-member-dashboard-page .cmp-portal-panel .cmp-content { width: auto; margin: 0; padding: 0; }
.cmp-panel-heading { margin-bottom: 26px; }.cmp-panel-heading h2 { margin: 0 0 8px; color: #14213d; font-size: 28px; letter-spacing: -.025em; }.cmp-panel-heading p:last-child { margin: 0; color: #64748b; line-height: 1.6; }.cmp-eyebrow { margin: 0 0 7px; color: #1769e8 !important; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.cmp-broker-tabs { display: flex; gap: 8px; margin: 0 0 18px; border-bottom: 1px solid #dfe7f1; }.cmp-broker-tabs button { border: 0; border-bottom: 2px solid transparent; background: transparent; color: #64748b; cursor: pointer; font: inherit; font-weight: 750; padding: 10px 14px; }.cmp-broker-tabs button.is-active { border-color: #1769e8; color: #1769e8; }
.cmp-ranking-list { display: grid; gap: 10px; margin: 0 0 20px; padding: 0; list-style: none; }.cmp-ranking-item { display: grid; grid-template-columns: 42px minmax(150px, 1fr) minmax(320px, 1.4fr); align-items: center; gap: 14px; border: 1px solid #e1e7f0; border-radius: 12px; background: #fff; padding: 14px 18px; }.cmp-ranking-item[role="button"] { cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s; }.cmp-ranking-item[role="button"]:hover, .cmp-ranking-item[role="button"]:focus { border-color: #8db8ff; box-shadow: 0 5px 16px rgb(30 80 160 / 10%); outline: none; transform: translateY(-1px); }.cmp-rank { color: #1769e8; font-size: 14px; font-weight: 800; }.cmp-trader { display: grid; gap: 4px; }.cmp-trader strong { color: #14213d; overflow-wrap: anywhere; }.cmp-trader span { color: #64748b; font-size: 12px; }.cmp-ranking-item dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0; }.cmp-ranking-item dt { color: #64748b; font-size: 11px; }.cmp-ranking-item dd { margin: 3px 0 0; color: #14213d; font-size: 14px; font-weight: 750; }.cmp-ranking-detail { color: #1769e8; font-size: 20px; font-weight: 700; text-decoration: none; }.cmp-empty-state { margin: 0 0 18px; border: 1px dashed #b8c7d9; border-radius: 10px; color: #52657f; line-height: 1.6; padding: 18px; }.cmp-risk-note { margin: 26px 0 0; color: #64748b; font-size: 12px; line-height: 1.65; }
.cmp-copy-upgrade { margin: 4px 0 0; border: 1px solid #bfdbfe; border-radius: 12px; background: linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%); padding: 16px 18px; }.cmp-copy-upgrade__text { margin: 0 0 14px; color: #334155; font-size: 14px; line-height: 1.65; }.cmp-copy-upgrade__total { color: #1769e8; font-weight: 700; }.cmp-copy-upgrade .copi-member-action { margin: 0; }
.cmp-copy-full { margin: 4px 0 0; border: 1px solid #d1fae5; border-radius: 12px; background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%); padding: 16px 18px; }.cmp-copy-full__text { margin: 0 0 14px; color: #334155; font-size: 14px; line-height: 1.65; }.cmp-copy-full .copi-member-action { margin: 0; }
.cmp-discord-locale-note { margin: 0 0 14px; color: #475569; font-size: 14px; line-height: 1.65; }
.cmp-discord-notes { margin: 0 0 22px; padding: 0 0 0 18px; color: #334155; font-size: 14px; line-height: 1.65; }
.cmp-discord-notes li { margin: 0 0 6px; }
.cmp-discord-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 24px;
}
.cmp-discord-shot {
	margin: 0;
	border: 1px solid #e1e7f0;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}
.cmp-discord-shot__zoom {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
	font: inherit;
	color: inherit;
	text-align: left;
}
.cmp-discord-shot__zoom:focus-visible {
	outline: 2px solid #1769e8;
	outline-offset: -2px;
}
.cmp-discord-shot img {
	display: block;
	width: 100%;
	height: auto;
}
.cmp-discord-shot figcaption {
	padding: 10px 12px 12px;
	color: #52657f;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.45;
}
.cmp-discord-cta { margin: 0 0 18px; }
.cmp-discord-cta .copi-member-action,
.cmp-discord-upgrade .copi-member-action {
	display: inline-block;
	appearance: none;
	border: 0;
	border-radius: 8px;
	background: #1769e8;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	padding: 11px 16px;
	text-decoration: none;
}
.cmp-discord-cta .copi-member-action:hover,
.cmp-discord-upgrade .copi-member-action:hover {
	background: #0d57c7;
	color: #fff;
}
.cmp-discord-upgrade {
	margin: 4px 0 0;
	border: 1px solid #bfdbfe;
	border-radius: 12px;
	background: linear-gradient(180deg, #f4f8ff 0%, #ffffff 100%);
	padding: 16px 18px;
}
.cmp-discord-upgrade__text {
	margin: 0 0 14px;
	color: #334155;
	font-size: 14px;
	line-height: 1.65;
}
@media (max-width: 900px) {
	.cmp-discord-gallery { grid-template-columns: 1fr; }
}
.cmp-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 22px 0; }.cmp-pagination button { min-width: 34px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: #475569; cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; padding: 7px 9px; }.cmp-pagination button:hover { border-color: #1769e8; color: #1769e8; }.cmp-pagination button.is-active { border-color: #1769e8; background: #1769e8; color: #fff; }
body.cmp-modal-open { overflow: hidden; }
.cmp-analysis-modal { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 20px; box-sizing: border-box; }
.cmp-analysis-modal[hidden] { display: none; }
.cmp-analysis-modal__backdrop { position: absolute; inset: 0; background: rgb(15 23 42 / 48%); }
.cmp-analysis-modal__dialog { position: relative; display: flex; flex-direction: column; width: min(100%, 920px); max-width: 100%; max-height: calc(100vh - 40px); overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 24px 60px rgb(15 23 42 / 28%); padding: 28px 28px 0; box-sizing: border-box; }
.cmp-analysis-modal__header { flex: 0 0 auto; padding: 0 40px 10px 0; background: #fff; border-bottom: 1px solid #eef2f7; }
.cmp-analysis-modal__content { flex: 1 1 auto; min-height: 0; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 0 0 28px; }
.cmp-analysis-modal__dialog h3 { margin: 0; color: #14213d; font-size: 22px; overflow-wrap: anywhere; word-break: break-word; }
.cmp-analysis-modal__title-block { margin: 0 0 8px; }
.cmp-analysis-modal__footer { flex: 0 0 auto; display: flex; justify-content: center; padding: 12px 0 calc(12px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid #eef2f7; }
.cmp-analysis-modal__footer[hidden] { display: none; }
.cmp-analysis-modal__footer .cmp-follow-btn { min-width: 240px; max-width: 100%; box-sizing: border-box; white-space: normal; text-align: center; overflow-wrap: anywhere; }
.cmp-follow-btn { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; border-radius: 8px; background: #1769e8; color: #fff !important; font-size: 13px; font-weight: 750; line-height: 1.2; text-decoration: none; padding: 9px 14px; white-space: nowrap; }
.cmp-follow-btn:hover { background: #1257c4; color: #fff !important; }
.cmp-follow-btn[hidden] { display: none !important; }
.cmp-analysis-modal__close { position: absolute; top: 18px; right: 18px; z-index: 3; width: 32px; height: 32px; border: 1px solid #cbd5e1; border-radius: 50%; background: #fff; color: #475569; cursor: pointer; font-size: 22px; line-height: 1; }
.cmp-analysis-modal__dialog > p:not(.cmp-eyebrow) { color: #52657f; line-height: 1.6; }
.cmp-analysis-modal__meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.cmp-chip { display: inline-flex; align-items: center; border: 1px solid #d7e2f0; border-radius: 999px; background: #f5f8fc; color: #475569; font-size: 10px; font-weight: 700; padding: 3px 8px; line-height: 1.3; }
.cmp-analysis-modal__tabs { display: flex; flex-wrap: nowrap; gap: 0; margin: 0; border-bottom: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cmp-analysis-modal__tabs button { flex: 1 1 0; min-width: 0; border: 0; border-bottom: 2px solid transparent; background: transparent; color: #64748b; cursor: pointer; font: inherit; font-size: 12px; font-weight: 750; padding: 8px 4px; white-space: nowrap; }
.cmp-analysis-modal__tabs button.is-active { border-color: #1769e8; color: #1769e8; }
.cmp-analysis-modal__body { display: grid; gap: 4px; min-width: 0; padding-top: 14px; }
.cmp-modal-section { margin: 0 0 22px; min-width: 0; max-width: 100%; }
.cmp-modal-section--trade-history { overflow: visible; max-width: 100%; }
.cmp-modal-section--trade-history [data-cmp-trade-panel] { min-width: 0; max-width: 100%; overflow: hidden; }
[data-cmp-modal-panel="trades"] { max-width: 100%; overflow: hidden; }
.cmp-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; }
.cmp-metric-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cmp-modal-section h4 { margin: 0 0 12px; color: #14213d; font-size: 15px; }
.cmp-metric-card { border-radius: 10px; background: #f5f8fc; padding: 12px; }
.cmp-metric-card dt { color: #64748b; font-size: 11px; }
.cmp-metric-card dd { margin: 5px 0 0; color: #14213d; font-size: 15px; font-weight: 750; overflow-wrap: anywhere; }
.cmp-metric-card.is-positive dd { color: #0f7a45; }
.cmp-metric-card.is-negative dd { color: #c0392b; }
.cmp-score-bars { display: grid; gap: 12px; }
.cmp-score-bar__head { display: flex; justify-content: space-between; margin-bottom: 6px; color: #475569; font-size: 12px; font-weight: 700; }
.cmp-score-bar__track { height: 8px; border-radius: 999px; background: #e8eef6; overflow: hidden; }
.cmp-score-bar__track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #1769e8, #4f8fff); }
.cmp-modal-chart { height: 176px; border: 1px solid #e1e7f0; border-radius: 12px; background: #fbfdff; padding: 12px; max-width: 100%; box-sizing: border-box; }
.cmp-modal-chart--profit { height: 200px; }
.cmp-modal-chart--scatter { height: 220px; }
.cmp-trade-subtabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; border-bottom: 1px solid #dfe7f1; }
.cmp-trade-subtabs button { border: 0; border-bottom: 2px solid transparent; background: transparent; color: #64748b; cursor: pointer; font: inherit; font-size: 13px; font-weight: 750; padding: 9px 12px; }
.cmp-trade-subtabs button.is-active { border-color: #1769e8; color: #1769e8; }
.cmp-trade-more { display: grid; gap: 10px; justify-items: center; margin: 14px 0 0; }
.cmp-trade-more p, .cmp-trade-more__done { margin: 0; color: #64748b; font-size: 12px; }
.cmp-trade-more__btn { border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #1769e8; cursor: pointer; font: inherit; font-size: 13px; font-weight: 750; padding: 8px 16px; }
.cmp-trade-more__btn:hover { border-color: #1769e8; background: #f5f8fc; }
.cmp-hold-bars { display: grid; gap: 8px; }
.cmp-hold-bar { display: grid; grid-template-columns: 72px 1fr 48px; align-items: center; gap: 10px; }
.cmp-hold-bar__label { color: #64748b; font-size: 12px; }
.cmp-hold-bar__track { height: 8px; border-radius: 999px; background: #e8eef6; overflow: hidden; }
.cmp-hold-bar__track i { display: block; height: 100%; background: #1769e8; border-radius: inherit; }
.cmp-hold-bar__pct { color: #14213d; font-size: 12px; font-weight: 700; text-align: right; }
.cmp-trade-table-wrap { display: block; overflow-x: auto; overflow-y: hidden; width: 100%; max-width: 100%; border: 1px solid #e1e7f0; border-radius: 12px; -webkit-overflow-scrolling: touch; touch-action: pan-x; overscroll-behavior-x: contain; }
.cmp-trade-table { width: max-content; min-width: 100%; border-collapse: collapse; font-size: 12px; }
.cmp-trade-table th, .cmp-trade-table td { padding: 9px 10px; border-bottom: 1px solid #eef2f7; text-align: left; white-space: nowrap; }
.cmp-trade-table th { background: #f5f8fc; color: #64748b; font-weight: 700; }
.cmp-trade-table td { color: #14213d; }
.cmp-trade-table td.is-positive { color: #0f7a45; font-weight: 700; }
.cmp-trade-table td.is-negative { color: #c0392b; font-weight: 700; }
.cmp-ai-overall { display: grid; grid-template-columns: 72px 1fr; gap: 14px; align-items: start; border: 1px solid #e1e7f0; border-radius: 12px; background: #f5f8fc; padding: 16px; }
.cmp-ai-overall--compact { margin-top: 0; }
.cmp-ai-score { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 16px; background: #1769e8; color: #fff; font-size: 28px; font-weight: 800; }
.cmp-ai-overall p { margin: 0; color: #334155; line-height: 1.65; }
.cmp-ai-comment { margin: 0; padding: 14px 16px; border: 1px solid #e1e7f0; border-radius: 12px; background: #f5f8fc; color: #334155; font-size: 14px; line-height: 1.65; }
.cmp-ai-features { border: 1px solid #e1e7f0; border-radius: 12px; background: #fff; padding: 14px 16px; color: #334155; line-height: 1.6; }
.cmp-ai-features ul { margin: 0; padding-left: 18px; }
.cmp-ai-features li { margin: 0 0 6px; }
.cmp-modal-empty, .cmp-modal-notice { margin: 0; color: #64748b; font-size: 13px; line-height: 1.6; }
.cmp-modal-notice { margin-top: 8px; }

.cmp-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }.cmp-settings-section { border: 1px solid #e1e7f0; border-radius: 14px; background: #fff; padding: 22px; }.cmp-settings-section h3 { margin: 0 0 18px; color: #14213d; font-size: 17px; }.cmp-settings-section > p { color: #52657f; line-height: 1.6; }.cmp-profile-form { margin: 0; }.cmp-profile-form small { display: block; margin-top: 7px; }.cmp-application-form .copi-member-form { margin-top: 18px; }.cmp-application-form .copi-member-form p { margin-bottom: 14px; }
.cmp-application-history { display: grid; gap: 8px; margin: 14px 0 18px; padding: 0; list-style: none; }.cmp-application-history li { display: grid; gap: 3px; border-radius: 8px; background: #f5f8fc; color: #14213d; font-size: 13px; padding: 10px 12px; }.cmp-application-history span { color: #64748b; font-size: 12px; }
@media (max-width: 760px) {
	body.copi-member-dashboard-page { height: auto; min-height: 100vh; min-height: 100dvh; overflow: auto; }
	body.copi-member-dashboard-page.cmp-nav-open { overflow: hidden; }
	.copi-member-dashboard-page .cmp-shell,
	.copi-member-dashboard-page .cmp-dashboard-card { height: auto; display: block; }
	.cmp-portal-layout { display: grid; grid-template-columns: 1fr; min-height: 0; }
	.cmp-nav-toggle {
		display: grid;
		place-content: center;
		gap: 5px;
	}
	.cmp-dashboard-header h1 {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.cmp-sidebar-backdrop {
		display: block;
		position: fixed;
		z-index: 35;
		inset: 0;
		top: 56px;
		background: rgb(15 23 42 / 42%);
	}
	.cmp-sidebar-backdrop[hidden] { display: none; }
	.cmp-sidebar {
		position: fixed;
		z-index: 40;
		top: 56px;
		left: 0;
		bottom: 0;
		width: min(280px, 86vw);
		flex-direction: column;
		gap: 5px;
		overflow-x: hidden;
		overflow-y: auto;
		border-right: 1px solid #e1e7f0;
		border-bottom: 0;
		padding: 16px 12px;
		box-shadow: 8px 0 28px rgb(15 23 42 / 12%);
		transform: translateX(-105%);
		transition: transform .22s ease;
	}
	.cmp-sidebar.is-open { transform: translateX(0); }
	.cmp-side-link { flex: 0 0 auto; justify-content: flex-start; padding: 12px 14px; font-size: 14px; }
	.cmp-panel-area { overflow: visible; }
	.cmp-portal-panel { width: min(100% - 32px, 1000px); padding: 32px 0 48px; }
	.cmp-settings-grid { grid-template-columns: 1fr; }
	.cmp-ranking-item { grid-template-columns: 35px minmax(0, 1fr) 20px; gap: 10px; padding: 14px; }
	.cmp-ranking-item dl { grid-column: 2 / 4; }
	.cmp-panel-heading h2 { font-size: 24px; }
	.cmp-analysis-modal { padding: max(12px, env(safe-area-inset-top, 0px)) 12px max(12px, env(safe-area-inset-bottom, 0px)); align-items: flex-end; }
	.cmp-analysis-modal__header { padding: 2px 36px 10px 0; }
	.cmp-analysis-modal__title-block { margin-bottom: 6px; }
	.cmp-analysis-modal__footer .cmp-follow-btn { width: 100%; padding: 12px 14px; font-size: 14px; }
	.cmp-analysis-modal__dialog { width: 100%; max-height: min(calc(100dvh - 24px), calc(100vh - 24px)); border-radius: 16px 16px 0 0; padding: 16px 14px 0; box-sizing: border-box; }
	.cmp-analysis-modal__close { top: 14px; right: 14px; }
	.cmp-analysis-modal__content { padding-bottom: 20px; }
	.cmp-analysis-modal__dialog h3 { font-size: 18px; line-height: 1.35; }
	.cmp-analysis-modal__tabs button { font-size: 11px; padding: 7px 2px; }
	.cmp-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cmp-hold-bar { grid-template-columns: minmax(0, 56px) minmax(0, 1fr) 40px; gap: 6px; }
	.cmp-hold-bar__label { font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.cmp-hold-bar__pct { font-size: 11px; }
	.cmp-modal-chart { padding: 8px; }
	.cmp-ai-overall { grid-template-columns: 1fr; }
}
@media (max-width: 430px) { .cmp-ranking-item dl { gap: 7px; }.cmp-ranking-item dt { font-size: 10px; }.cmp-ranking-item dd { font-size: 12px; } }
.cmp-portal-panel .copi-member-dashboard > p, .copi-member-dashboard-page .cmp-portal-panel .copi-member-dashboard > p:nth-of-type(1), .copi-member-dashboard-page .cmp-portal-panel .copi-member-dashboard > p:nth-of-type(2) { display: block; }.cmp-portal-panel .copi-member-dashboard { border: 1px solid #e1e7f0; border-radius: 14px; background: #fff; padding: 24px; }.cmp-portal-panel .copi-member-dashboard > h2 { display: none; }.cmp-portal-panel .copi-member-dashboard > form { display: none; }
.copi-member-premium-benefits { margin: 22px 0; border: 1px solid #bfdbfe; border-radius: 12px; background: #f4f8ff; padding: 18px; }.copi-member-premium-benefits h3 { margin: 0 0 12px; color: #174a9d; font-size: 16px; }.copi-member-premium-benefits ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }.copi-member-premium-benefits li { color: #26364f; font-size: 14px; line-height: 1.5; }.copi-member-premium-benefits li::before { content: "✓"; display: inline-block; width: 22px; color: #1769e8; font-weight: 800; }.copi-member-dashboard-actions { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px; }.copi-member-dashboard .copi-member-action.is-secondary { border: 1px solid #b9c7da; background: #fff; color: #334155; }.copi-member-dashboard .copi-member-action.is-secondary:hover { background: #f1f5f9; color: #14213d; }
.copi-member-broker-accounts { margin: 22px 0; border: 1px solid #e1e7f0; border-radius: 12px; background: #fff; padding: 18px; }.copi-member-broker-accounts h3 { margin: 0 0 8px; color: #14213d; font-size: 16px; }.copi-member-broker-accounts > p { margin: 0 0 16px; color: #52657f; font-size: 14px; }.copi-member-broker-table-wrap { overflow-x: auto; }.copi-member-broker-accounts table { width: 100%; border-collapse: collapse; text-align: left; }.copi-member-broker-accounts th, .copi-member-broker-accounts td { border-bottom: 1px solid #e7edf5; padding: 11px 8px; }.copi-member-broker-accounts th { color: #64748b; font-size: 12px; font-weight: 750; }.copi-member-broker-accounts td { color: #14213d; font-size: 14px; font-weight: 700; }.copi-member-broker-accounts td:last-child { text-align: right; }.copi-member-broker-accounts .copi-member-action { font-size: 13px; padding: 8px 11px; }
.copi-member-premium-eligibility { border-left: 3px solid #1769e8; color: #475569 !important; font-size: 14px; line-height: 1.65; margin: 18px 0 !important; padding: 3px 0 3px 13px; }
.copi-member-signal-access { margin: 22px 0; border: 1px solid #bbf7d0; border-radius: 12px; background: #f0fdf4; padding: 18px; }
.copi-member-signal-access h3 { margin: 0 0 10px; color: #166534; font-size: 16px; }
.copi-member-signal-access > p { margin: 0 0 12px; color: #334155; font-size: 14px; line-height: 1.6; }
.copi-member-signal-hint { color: #64748b !important; font-size: 13px !important; }
.copi-member-signal-access label { display: block; margin-bottom: 6px; color: #166534; font-size: 13px; font-weight: 700; }
.copi-member-signal-token { width: 100%; box-sizing: border-box; border: 1px solid #86efac; border-radius: 8px; background: #fff; color: #14532d; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; padding: 10px 12px; }
.copi-member-signal-pending { color: #64748b; font-size: 14px; }
.copi-member-signal-access .copi-member-dashboard-actions { justify-content: flex-start; align-items: center; gap: 10px; margin-top: 8px; }
/* form is nested under .copi-member-dashboard, so the generic
   `.copi-member-dashboard form { margin-top: 26px }` and
   `.copi-member-dashboard form button` rules also apply. Override them here. */
.copi-member-dashboard .copi-member-signal-access form.copi-member-signal-regen {
	display: inline-flex;
	align-items: center;
	margin: 0;
}
.copi-member-dashboard .copi-member-signal-access .copi-member-dashboard-actions > a.copi-member-action,
.copi-member-dashboard .copi-member-signal-access form.copi-member-signal-regen button.copi-member-action {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0 16px;
	border-radius: 8px;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	appearance: none;
	-webkit-appearance: none;
}
.copi-member-dashboard .copi-member-signal-access .copi-member-dashboard-actions > a.copi-member-action {
	border: 0;
	background: #1769e8;
	color: #fff;
}
.copi-member-dashboard .copi-member-signal-access form.copi-member-signal-regen button.copi-member-action.is-secondary {
	border: 1px solid #b9c7da;
	background: #fff;
	color: #334155;
}

/* Member landing page (/member/) */
body.copi-member-landing-page {
	background:
		radial-gradient(1100px 520px at 88% -6%, #cfe3ff 0%, transparent 55%),
		radial-gradient(700px 280px at 8% 18%, #e8f1ff 0%, transparent 60%),
		linear-gradient(180deg, #eef5ff 0%, #f7f9fc 22%, #f7f9fc 100%);
}
.cmp-landing-shell { width: min(100% - 32px, 1180px); padding: 44px 0 56px; }
.cmp-landing-hero {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
	gap: 36px;
	align-items: center;
	margin: 0 0 52px;
	padding: 12px 0 8px;
}
.cmp-landing-hero__copy h1 {
	margin: 0 0 14px;
	color: #0f1b33;
	font-size: clamp(30px, 4.2vw, 44px);
	line-height: 1.14;
	letter-spacing: -.035em;
}
.cmp-landing-lead { margin: 0 0 22px; color: #52657f; font-size: 16px; line-height: 1.7; max-width: 36rem; }
.cmp-landing-cta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cmp-landing-note { margin: 0 0 4px; width: 100%; color: #52657f; font-size: 14px; }
.cmp-landing-shell .copi-member-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 12px;
	background: #1769e8;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	padding: 13px 20px;
	text-decoration: none;
	box-shadow: 0 10px 22px rgb(23 105 232 / 24%);
}
.cmp-landing-shell .copi-member-action:hover { background: #0d57c7; color: #fff; }
.cmp-landing-shell .copi-member-action.is-secondary {
	border: 1px solid #c5d3e6;
	background: #fff;
	color: #334155;
	box-shadow: none;
}
.cmp-landing-shell .copi-member-action.is-secondary:hover { background: #f8fbff; color: #14213d; }
.cmp-landing-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}
.cmp-landing-trust li {
	position: relative;
	padding: 10px 12px 10px 34px;
	border: 1px solid #e1e7f0;
	border-radius: 12px;
	background: #fff;
	color: #52657f;
	font-size: 12px;
	line-height: 1.45;
	box-shadow: 0 4px 12px rgb(30 50 90 / 4%);
}
.cmp-landing-trust li::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 12px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #1769e8;
	box-shadow: inset 0 0 0 3px #dbeafe;
}
.cmp-landing-preview {
	min-width: 0;
	perspective: 1200px;
}
.cmp-landing-shot {
	display: block;
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 1px solid #d7e4f5;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 22px 48px rgb(30 64 120 / 16%);
	text-align: left;
	text-decoration: none;
	color: inherit;
	font: inherit;
	cursor: zoom-in;
}
.cmp-landing-shot img {
	display: block;
	width: 100%;
	height: auto;
}
.cmp-landing-shot--hero {
	transform: rotate(1.6deg) translateY(4px);
	transition: transform .25s ease;
}
.cmp-landing-shot--hero:hover { transform: rotate(0deg) translateY(0); }
.cmp-landing-heading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0 0 24px;
	color: #0f1b33;
	font-size: 26px;
	letter-spacing: -.02em;
	text-align: center;
}
.cmp-landing-heading::before,
.cmp-landing-heading::after {
	content: "····";
	color: #7eb0ff;
	font-size: 18px;
	letter-spacing: .08em;
	line-height: 1;
	font-weight: 700;
}
.cmp-landing-section { margin: 0 0 48px; }
.cmp-landing-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.cmp-landing-gallery__item {
	display: grid;
	gap: 0;
	border: 1px solid #e1e7f0;
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 10px 28px rgb(30 50 90 / 7%);
}
.cmp-landing-shot--gallery {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	aspect-ratio: 16 / 11;
	background: #f1f5f9;
}
.cmp-landing-shot--gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top left;
}
.cmp-landing-shot--copytrade img { object-position: top center; }
.cmp-landing-shot--signalea img { object-position: center top; }
.cmp-landing-gallery__copy {
	display: grid;
	justify-items: start;
	gap: 8px;
	padding: 18px 18px 20px;
}
.cmp-landing-gallery__copy h3 { margin: 0; color: #0f1b33; font-size: 16px; }
.cmp-landing-gallery__copy p { margin: 0; color: #52657f; font-size: 13px; line-height: 1.6; }
.cmp-landing-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.cmp-landing-benefit {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 12px;
	align-items: start;
	border: 1px solid #e1e7f0;
	border-radius: 16px;
	background: #fff;
	padding: 18px;
	box-shadow: 0 8px 20px rgb(30 50 90 / 5%);
}
.cmp-landing-benefit h3 { margin: 0 0 6px; color: #0f1b33; font-size: 15px; }
.cmp-landing-benefit p { margin: 0; color: #52657f; font-size: 13px; line-height: 1.6; }
.cmp-landing-plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cmp-landing-card {
	position: relative;
	border: 1px solid #e1e7f0;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 20px rgb(30 50 90 / 5%);
	padding: 24px;
}
.cmp-landing-card__icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	margin-bottom: 4px;
	border-radius: 12px;
	background: #eaf2ff;
	color: #1769e8;
}
.cmp-landing-card__icon svg { width: 20px; height: 20px; }
.cmp-landing-card h3 { margin: 0 0 4px; color: #0f1b33; font-size: 18px; }
.cmp-landing-plan__price {
	margin: 0 0 12px;
	color: #334155;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}
.cmp-landing-plan.is-premium .cmp-landing-plan__price { color: #1769e8; }
.cmp-landing-plan__note {
	margin: 12px 0 0;
	color: #52657f;
	font-size: 13px;
	line-height: 1.6;
}
.cmp-landing-card ul {
	margin: 0;
	padding: 0;
	list-style: none;
	color: #334155;
	font-size: 14px;
	line-height: 1.75;
}
.cmp-landing-card ul li {
	position: relative;
	padding-left: 22px;
	margin: 0 0 8px;
}
.cmp-landing-card ul li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #1769e8;
	font-weight: 800;
}
.cmp-landing-plan.is-premium {
	border-color: #7eb0ff;
	background: linear-gradient(180deg, #f7faff 0%, #eaf3ff 100%);
	box-shadow: 0 12px 28px rgb(23 105 232 / 12%);
}
.cmp-landing-plan__badge {
	position: absolute;
	top: 16px;
	right: 16px;
	max-width: calc(100% - 72px);
	border-radius: 999px;
	background: #1769e8;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	white-space: nowrap;
	padding: 6px 11px;
}
.cmp-landing-steps {
	position: relative;
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cmp-landing-steps::before {
	content: "";
	position: absolute;
	left: 23px;
	top: 18px;
	bottom: 18px;
	border-left: 2px dashed #b7d0f5;
}
.cmp-landing-steps li {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 14px;
	align-items: start;
}
.cmp-landing-step-num {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #1769e8;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	box-shadow: 0 8px 16px rgb(23 105 232 / 22%);
}
.cmp-landing-step-body {
	border: 1px solid #e1e7f0;
	border-radius: 14px;
	background: #f8fafc;
	padding: 16px 18px;
}
.cmp-landing-step-body h3 { margin: 0 0 4px; color: #0f1b33; font-size: 16px; }
.cmp-landing-step-body p { margin: 0; color: #52657f; font-size: 14px; line-height: 1.65; }
.cmp-landing-final {
	margin: 0 0 18px;
	border: 1px solid #cfe0f8;
	border-radius: 22px;
	background:
		radial-gradient(600px 180px at 80% 20%, rgb(255 255 255 / 55%), transparent 60%),
		linear-gradient(135deg, #dcecff 0%, #eef5ff 45%, #e7f1ff 100%);
	padding: 36px 24px;
	text-align: center;
}
.cmp-landing-final__inner { max-width: 36rem; margin: 0 auto; }
.cmp-landing-final__icon {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin: 0 auto 14px;
	border-radius: 18px;
	background: #1769e8;
	color: #fff;
	box-shadow: 0 10px 20px rgb(23 105 232 / 28%);
}
.cmp-landing-final__icon svg { width: 28px; height: 28px; }
.cmp-landing-final h2 { margin: 0 0 8px; color: #0f1b33; font-size: 26px; }
.cmp-landing-final p { margin: 0 0 18px; color: #475569; line-height: 1.65; }
.cmp-landing-final .cmp-landing-cta { justify-content: center; }
.cmp-landing-risk { margin: 0 0 8px; text-align: center; }
body.cmp-lightbox-open { overflow: hidden; }
.cmp-landing-lightbox {
	position: fixed;
	z-index: 80;
	inset: 0;
	display: grid;
	place-items: center;
	padding: 20px;
}
.cmp-landing-lightbox[hidden] { display: none; }
.cmp-landing-lightbox__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	margin: 0;
	background: rgb(15 23 42 / 72%);
	cursor: zoom-out;
}
.cmp-landing-lightbox__dialog {
	position: relative;
	z-index: 1;
	width: min(100%, 1120px);
	max-height: calc(100vh - 40px);
	overflow: auto;
	border-radius: 14px;
	background: #0f172a;
	box-shadow: 0 24px 60px rgb(15 23 42 / 40%);
}
.cmp-landing-lightbox__img {
	display: block;
	width: 100%;
	height: auto;
}
.cmp-landing-lightbox__close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	width: 36px;
	height: 36px;
	border: 1px solid rgb(255 255 255 / 35%);
	border-radius: 50%;
	background: rgb(15 23 42 / 75%);
	color: #fff;
	cursor: pointer;
	font-size: 24px;
	line-height: 1;
}
@media (max-width: 980px) {
	.cmp-landing-hero { grid-template-columns: 1fr; }
	.cmp-landing-preview { order: -1; max-width: 560px; margin: 0 auto; }
	.cmp-landing-shot--hero { transform: none; }
	.cmp-landing-trust { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
	.cmp-landing-shell { width: min(100% - 24px, 1180px); padding-top: 28px; }
	.cmp-landing-hero__copy h1 { font-size: 28px; }
	.cmp-landing-gallery,
	.cmp-landing-benefits,
	.cmp-landing-plans { grid-template-columns: 1fr; }
	.cmp-landing-heading { font-size: 22px; }
	.cmp-landing-steps::before { left: 19px; }
	.cmp-landing-step-num { width: 40px; height: 40px; font-size: 14px; }
	.cmp-landing-steps li { grid-template-columns: 40px 1fr; }
}
