:root {
  --ink: #152437;
  --muted: #6f7f91;
  --soft: #f5f7f9;
  --canvas: #eef2f4;
  --surface: #ffffff;
  --line: #dfe5e9;
  --navy: #122840;
  --navy-2: #193a58;
  --teal: #24bfae;
  --teal-dark: #118b7e;
  --red: #d34e66;
  --amber: #d59a32;
  --violet: #6557d8;
  --shadow: 0 10px 30px rgba(24, 43, 62, .06);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--canvas); color: var(--ink); font-family: Tahoma, "Segoe UI", Arial, sans-serif; }
button, input, select { font: inherit; }
button { cursor: pointer; }

.app-shell { min-height: 100vh; background: var(--canvas); }
.sidebar { position: fixed; inset: 0 0 0 auto; z-index: 40; width: 264px; display: flex; flex-direction: column; padding: 26px 18px 18px; color: #dfe8ef; background: linear-gradient(180deg, #10263e 0%, #0f2236 100%); }
.brand { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; padding: 0 8px 22px; border-bottom: 1px solid rgba(255,255,255,.09); }
.brand > img { width: 158px; height: auto; display: block; }
.brand > span { display: flex; flex-direction: column; }
.brand small { color: #8194a7; font-size: 10px; }
.mobile-close { display: none; }
.sidebar nav { padding: 22px 0; }
.sidebar nav > em { display: block; margin: 0 12px 9px; color: #71869a; font-size: 10px; font-style: normal; font-weight: 700; }
.sidebar nav > em:not(:first-child) { margin-top: 21px; }
.nav-item { position: relative; width: 100%; min-height: 43px; margin: 3px 0; padding: 0 13px; display: flex; align-items: center; gap: 12px; border: 0; border-radius: 11px; color: #a8bac9; background: transparent; text-align: right; font-size: 13px; font-weight: 600; transition: .18s ease; }
.nav-item:hover { color: #fff; background: rgba(255,255,255,.05); }
.nav-item.active { color: #fff; background: rgba(36,191,174,.14); box-shadow: inset -3px 0 var(--teal); }
.nav-item > span { width: 24px; color: var(--teal); font-size: 19px; text-align: center; }
.nav-alert { margin-right: auto; min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 7px; color: #ffdb91; background: rgba(213,154,50,.17); font-size: 10px; }
.sidebar-note { margin-top: auto; padding: 14px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.035); }
.sidebar-note > div { min-width: 0; }
.sidebar-note strong { color: #fff; font-size: 11px; }
.sidebar-note p { margin: 4px 0 7px; color: #8fa2b4; font-size: 10px; line-height: 1.6; }
.sidebar-note button { padding: 0; border: 0; color: var(--teal); background: transparent; font-size: 10px; font-weight: 700; }
.profile { margin-top: 14px; padding: 14px 5px 0; display: grid; grid-template-columns: 37px 1fr auto; gap: 10px; align-items: center; border-top: 1px solid rgba(255,255,255,.08); }
.profile > span { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 11px; color: #0c5d55; background: #b9efe8; font-weight: 800; }
.profile > div { display: flex; flex-direction: column; }
.profile strong { color: #fff; font-size: 12px; }
.profile small { margin-top: 2px; color: #7e91a3; font-size: 9px; }
.profile button { border: 0; color: #6f8397; background: transparent; }

.workspace { min-height: 100vh; margin-right: 264px; }
.topbar { position: sticky; top: 0; z-index: 30; height: 70px; padding: 0 34px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(213,222,228,.9); background: rgba(255,255,255,.88); backdrop-filter: blur(14px); }
.breadcrumb { display: flex; align-items: center; gap: 9px; color: #8a98a6; font-size: 12px; }
.breadcrumb b { color: #c4cbd1; }
.breadcrumb strong { color: var(--ink); }
.top-actions { display: flex; align-items: center; gap: 9px; }
.demo-badge, .source-chip { min-height: 34px; padding: 0 11px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid #ecd9b6; border-radius: 10px; color: #8a621f; background: #fffaf1; font-size: 10px; font-weight: 700; }
.round { width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 10px; color: #607186; background: var(--surface); }
.mobile-brand { display: none; }
.page-content { max-width: 1420px; margin: 0 auto; padding: 35px 34px 24px; }

.page-heading { margin-bottom: 24px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.eyebrow { margin-bottom: 8px; color: var(--teal-dark); font-size: 11px; font-weight: 700; }
.page-heading h1 { margin: 0; color: var(--ink); font-size: clamp(29px, 3vw, 40px); letter-spacing: -.03em; line-height: 1.25; }
.page-heading p { max-width: 720px; margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.heading-actions { display: flex; gap: 8px; flex: 0 0 auto; }
.btn { min-height: 42px; padding: 0 17px; border: 1px solid transparent; border-radius: 10px; font-size: 12px; font-weight: 700; transition: .15s ease; }
.btn:hover { transform: translateY(-1px); }
.primary { color: #fff; background: linear-gradient(135deg, var(--teal), #19a595); box-shadow: 0 8px 18px rgba(36,191,174,.22); }
.ghost { color: #526477; border-color: var(--line); background: var(--surface); }
.compact { min-height: 38px; padding-inline: 14px; }
.dark-btn { color: #fff; background: var(--navy); }
.text-action { padding: 0; border: 0; color: var(--teal-dark); background: transparent; font-size: 11px; font-weight: 700; }
.icon-button { width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: transparent; }

.panel, .metric { border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.panel { padding: 22px; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.panel-heading small, .metric > small, .data-kpis small, .admin-hero small, .admin-number small { color: var(--teal-dark); font-size: 10px; font-weight: 700; }
.panel-heading h2 { margin: 5px 0 0; font-size: 17px; }
.soft-pill { width: max-content; padding: 5px 9px; border-radius: 20px; color: #5c6d80; background: var(--soft); font-size: 9px; font-weight: 700; }
.status-dot { width: 8px; height: 8px; flex: 0 0 auto; display: inline-block; border-radius: 50%; }
.status-dot.good { background: var(--teal); box-shadow: 0 0 0 4px rgba(36,191,174,.12); }
.status-dot.warn { background: var(--amber); box-shadow: 0 0 0 4px rgba(213,154,50,.12); }
.status-dot.bad { background: var(--red); box-shadow: 0 0 0 4px rgba(211,78,102,.1); }
.status-dot.neutral { background: #91a0af; box-shadow: 0 0 0 4px rgba(145,160,175,.12); }
.down { color: var(--red) !important; }
.up { color: var(--teal-dark) !important; }
.warn-text { color: #a47117 !important; }
.muted-value { color: #7f8d9c !important; }

.data-notice { min-height: 48px; margin-bottom: 18px; padding: 10px 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid #ead7b4; border-radius: 12px; color: #6f5d3c; background: #fffaf2; font-size: 11px; }
.data-notice > div { display: flex; align-items: center; gap: 10px; }
.data-notice strong { margin-left: 5px; color: #70501b; }
.data-notice button { padding: 0; border: 0; color: #8d641f; background: transparent; font-size: 10px; font-weight: 700; white-space: nowrap; }
.data-notice button:disabled, .btn:disabled, .pagination button:disabled { cursor:not-allowed; opacity:.5; transform:none; }

.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.metric { min-height: 138px; padding: 19px; display: flex; flex-direction: column; }
.metric strong { margin-top: 12px; font-size: clamp(20px, 2vw, 27px); letter-spacing: -.02em; direction: ltr; text-align: right; }
.metric .metric-time, .metric .data-time { direction:rtl; font-size:20px; }
.metric .metric-name { direction:rtl; font-size:16px; line-height:1.65; }
.metric strong em { color: #8d9aa8; font-size: 11px; font-style: normal; font-weight: 600; }
.metric > span { margin-top: auto; color: var(--muted); font-size: 9px; line-height: 1.5; }
.primary-metric { color: #fff; border: 0; background: linear-gradient(145deg, var(--navy), var(--navy-2)); box-shadow: 0 15px 35px rgba(18,40,64,.18); }
.primary-metric > small, .primary-metric > span { color: #a6b8c8; }
.primary-metric strong em { color: #9bb0c2; }

.overview-grid { margin-top: 18px; display: grid; grid-template-columns: 1.45fr .75fr; gap: 18px; }
.performance-panel { min-height: 510px; }
.return-strip { margin-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.return-strip > div { padding: 13px 0; display: flex; flex-direction: column; gap: 5px; }
.return-strip > div:not(:last-child) { border-left: 1px solid var(--line); }
.return-strip small { color: var(--muted); font-size: 9px; }
.return-strip strong { font-size: 16px; }
.history-toolbar { margin-top:18px; display:flex; align-items:center; justify-content:flex-start; }
.history-periods { display:flex; gap:5px; flex-wrap:wrap; }
.history-periods button { min-height:32px; padding:0 10px; border:1px solid var(--line); border-radius:8px; color:var(--muted); background:var(--surface); font-size:8px; font-weight:700; }
.history-periods button.active { color:#08766b; border-color:#89dcd3; background:#e8faf7; }
.history-summary { grid-template-columns:repeat(3,1fr); }
.history-summary strong { font-size:15px; line-height:1.5; }
.history-summary strong em { margin-inline-start:5px; font-size:10px; font-style:normal; opacity:.72; }
.history-readout { margin-top:14px; padding:10px 13px; display:flex; align-items:center; gap:16px; border:1px solid var(--line); border-radius:10px; background:var(--soft); color:var(--muted); font-size:9px; }
.history-readout > strong { margin-left:auto; color:var(--ink); font-size:10px; }
.history-readout span { display:flex; align-items:center; gap:5px; }
.history-readout b { color:var(--ink); direction:ltr; }
.history-start { min-height:330px; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; }
.history-start small { color:var(--muted); font-size:10px; }
.history-start strong { margin-top:8px; color:var(--ink); font-size:30px; direction:ltr; }
.history-start strong em { color:var(--muted); font-size:12px; font-style:normal; }
.history-start p { max-width:440px; margin:15px 0 0; color:var(--muted); font-size:11px; line-height:1.9; }
.chart-wrap { margin-top: 8px; direction: ltr; }
.chart-wrap svg { width: 100%; height: 250px; display: block; overflow: visible; touch-action:none; }
.history-value-path { fill:none; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.history-value-path { stroke:var(--teal); stroke-width:3.5; }
.history-gridline { stroke:var(--line); stroke-width:1; stroke-dasharray:3 5; }
.history-axis { fill:#8795a3; font-size:9px; font-family:Tahoma,"Segoe UI",Arial,sans-serif; }
.history-date { font-size:8px; }
.history-cursor { stroke:#6e8090; stroke-width:1; stroke-dasharray:4 4; opacity:.7; }
.history-value-dot { fill:var(--surface); stroke:var(--teal); stroke-width:3; }
.history-caption { margin:7px 0 0; color:var(--muted); font-size:8px; text-align:center; }
.history-empty { min-height:310px; display:grid; place-content:center; justify-items:center; color:var(--muted); text-align:center; }
.history-empty strong { color:var(--ink); font-size:14px; }
.history-empty p { max-width:430px; margin:7px 0 0; font-size:10px; line-height:1.8; }
.history-empty.error strong { color:var(--red); }
.history-spinner { width:28px; height:28px; margin-bottom:12px; border:3px solid #d9e4e8; border-top-color:var(--teal); border-radius:50%; animation:history-spin .8s linear infinite; }
.history-warning { margin:9px 0 0; padding:8px 10px; border-radius:8px; color:#8a621f; background:#fff3d9; font-size:8px; line-height:1.7; }
@keyframes history-spin { to { transform:rotate(360deg); } }
.method-note { margin: 13px 0 0; padding-top: 12px; border-top: 1px dashed var(--line); color: var(--muted); font-size: 9px; line-height: 1.7; }
.score-chip { padding: 5px 9px; border-radius: 8px; color: #805e22; background: #fff3da; font-size: 9px; font-weight: 700; }
.check-list { margin-top: 15px; }
.check-list > div { padding: 11px 0; display: flex; align-items: flex-start; gap: 10px; border-bottom: 1px solid var(--line); }
.check-list > div > span { display: flex; flex-direction: column; }
.check-list strong { font-size: 11px; }
.check-list small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.checks-panel > .text-action { margin-top: 18px; }

.lower-grid { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.allocation-body { min-height: 190px; display: flex; align-items: center; justify-content: center; gap: 38px; }
.donut { position: relative; width: 145px; height: 145px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#24bfae 0 44%, #6557d8 44% 76%, #e9a93b 76% 92%, #b8c4d2 92%); }
.donut::after { content: ""; position: absolute; width: 92px; height: 92px; border-radius: 50%; background: var(--surface); }
.donut > div { z-index: 1; display: flex; flex-direction: column; text-align: center; }
.donut strong { font-size: 26px; }
.donut span { color: var(--muted); font-size: 9px; }
.legend { width: min(230px, 100%); }
.legend > div { padding: 9px 0; display: grid; grid-template-columns: 10px 1fr auto; gap: 8px; align-items: center; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.legend i { width: 8px; height: 8px; border-radius: 50%; }
.legend strong { color: var(--ink); }
.focus-panel { position: relative; overflow: hidden; color: #fff; border: 0; background: linear-gradient(145deg, #172d47, #1c3f5f); }
.focus-panel::after { content: ""; position: absolute; width: 210px; height: 210px; left: -60px; top: -80px; border-radius: 50%; background: rgba(36,191,174,.08); }
.focus-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: #153e3a; background: var(--teal); font-weight: 800; }
.focus-panel > small { display: block; margin-top: 20px; color: #8ea5b8; font-size: 10px; }
.focus-panel h2 { max-width: 470px; margin: 7px 0 8px; font-size: 22px; line-height: 1.55; }
.focus-panel p { max-width: 510px; margin: 0 0 22px; color: #9eb1c2; font-size: 11px; line-height: 1.8; }
.focus-panel .dark-btn { position: relative; z-index: 1; color: #10312d; background: var(--teal); }
.portfolio-panel { margin-top: 18px; }
.portfolio-list { margin-top: 12px; }
.portfolio-row { width: 100%; min-height: 76px; padding: 10px 5px; display: grid; grid-template-columns: 42px minmax(180px, 1.15fr) minmax(190px, .9fr) minmax(130px, .6fr) 22px; gap: 12px; align-items: center; border: 0; border-top: 1px solid var(--line); color: inherit; background: transparent; text-align: right; }
.portfolio-row:hover { background: var(--soft); }
.portfolio-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; color: #08786d; background: #dcf7f3; font-weight: 800; }
.portfolio-name, .portfolio-value { display: flex; flex-direction: column; }
.portfolio-name strong, .portfolio-value strong { font-size: 11px; }
.portfolio-name small, .portfolio-value small, .drift-mini small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.portfolio-value { direction: ltr; text-align: left; }
.portfolio-value small { color: var(--red); }
.drift-mini { display: grid; grid-template-columns: 1fr 40px; gap: 4px 8px; align-items: center; }
.drift-mini small { grid-column: 1/-1; }
.drift-mini > span { height: 6px; overflow: hidden; border-radius: 8px; background: #e9eef1; direction: rtl; }
.drift-mini i { height: 100%; display: block; background: var(--amber); }
.drift-mini b { color: #8f6824; font-size: 9px; direction: ltr; }

.portfolio-hero-grid { display: grid; grid-template-columns: 1.45fr .55fr; gap: 18px; }
.portfolio-index-panel { margin-top:18px; }
.portfolio-switcher { margin-bottom:18px; padding:7px; display:grid; grid-template-columns:repeat(2,1fr); gap:8px; border:1px solid var(--line); border-radius:15px; background:rgba(255,255,255,.62); }
.portfolio-switcher button { min-height:72px; padding:10px 13px; display:flex; align-items:center; gap:11px; border:1px solid transparent; border-radius:11px; color:var(--ink); background:transparent; text-align:right; }
.portfolio-switcher button:hover { background:var(--surface); }
.portfolio-switcher button.active { border-color:#8bd9d0; background:#e7f8f5; box-shadow:0 8px 20px rgba(32,183,167,.1); }
.portfolio-switcher button > div { display:flex; flex-direction:column; gap:5px; }
.portfolio-switcher button strong { font-size:12px; }
.portfolio-switcher button small { color:var(--muted); font-size:9px; }
.portfolio-switcher button small b { font-size:8px; }
.portfolio-focus-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.badge { display: inline-flex; padding: 5px 9px; border-radius: 20px; color: #08766b; background: #dcf7f3; font-size: 9px; font-weight: 700; }
.portfolio-focus h2 { margin: 12px 0 5px; font-size: 22px; }
.portfolio-focus p, .drift-card p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.portfolio-stats { margin-top: 24px; padding-top: 20px; display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; border-top: 1px solid var(--line); }
.portfolio-stats > div { display: flex; flex-direction: column; gap: 6px; }
.portfolio-stats small, .drift-card small { color: var(--muted); font-size: 9px; }
.portfolio-stats strong { font-size: 14px; }
.drift-card { display: flex; align-items: center; gap: 17px; }
.drift-ring { --drift-value:0%; position:relative; width:96px; height:96px; flex:0 0 auto; display:grid; place-content:center; border-radius:50%; background:conic-gradient(var(--amber) 0 var(--drift-value),#ffebca var(--drift-value) 100%); text-align:center; direction:ltr; }
.drift-ring::after { content:""; position:absolute; inset:9px; border-radius:50%; background:var(--surface); }
.drift-ring strong, .drift-ring span { position:relative; z-index:1; }
.drift-ring strong { font-size:20px; }
.drift-ring span { color:var(--muted); font-size:8px; }
.drift-card h3 { margin: 7px 0; font-size: 16px; }
.table-panel { margin-top: 18px; padding-bottom: 8px; }
.status-legend { display: flex; gap: 15px; color: var(--muted); font-size: 9px; }
.status-legend > span, .quality { display: flex; align-items: center; gap: 7px; }
.table-wrap { width: 100%; margin-top: 15px; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; white-space: nowrap; }
th { padding: 12px 11px; color: #7e8d9b; background: var(--soft); font-size: 9px; text-align: right; }
td { padding: 14px 11px; border-bottom: 1px solid var(--line); color: #5f7082; font-size: 10px; }
td > strong { color: var(--ink); }
td > small { display: block; margin-top: 3px; color: #95a1ad; font-size: 8px; }
.weight-bar { width: 64px; height: 6px; margin-left: 8px; display: inline-block; overflow: hidden; border-radius: 8px; background: #e8edf0; }
.weight-bar i { height: 100%; display: block; background: var(--teal); }
.chip { display: inline-flex; padding: 5px 8px; border-radius: 20px; font-size: 9px; font-weight: 700; }
.chip.good { color: #08776c; background: #dcf7f3; }
.chip.bad { color: #ae3148; background: #ffe7ec; }
.chip.warn { color:#8a621f; background:#fff0d3; }
.chip.income { color: #594cc1; background: #eceaff; }

.market-notice { margin-bottom: 14px; }
.market-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 14px; }
.market-search { min-width: 260px; height: 42px; flex: 1; padding: 0 13px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }
.market-search input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 11px; }
.market-sort, .portfolio-scope { min-width:250px; display:flex; flex-direction:column; gap:5px; color:var(--muted); font-size:8px; font-weight:700; }
.market-sort select, .portfolio-scope select { height:42px; padding:0 11px; border:1px solid var(--line); border-radius:10px; outline:0; color:var(--ink); background:var(--surface); font-size:10px; }
.market-categories { width:100%; }
.filter-tabs { display: flex; gap: 5px; flex-wrap: wrap; }
.filter-tabs button { min-height: 35px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: var(--surface); font-size: 9px; }
.filter-tabs button.active, .algorithm-grid button.active { color: #08766b; border-color: #89dcd3; background: #e8faf7; }
.asset-id { width: 30px; height: 30px; margin-left: 8px; display: inline-grid; place-items: center; border-radius: 8px; color: #08766b; background: #def7f3; font-weight: 800; }
.soft-chip { display: inline-flex; padding: 5px 8px; border-radius: 18px; color: #52667a; background: var(--soft); font-size: 9px; }
.income-value { color:var(--teal-dark); }
.provider { color: #967028; font-size: 9px; }
.pagination { padding:15px 5px 7px; display:flex; align-items:center; justify-content:center; gap:16px; border-top:1px solid var(--line); color:var(--muted); font-size:10px; }
.pagination button { min-height:34px; padding:0 13px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--surface); font-size:10px; font-weight:700; }
.empty-state { padding:36px 15px; color:var(--muted); text-align:center; font-size:12px; }
.source-errors { margin-top:18px; }
.source-errors > code { margin-top:10px; padding:10px 12px; display:block; border-radius:9px; color:#a32e45; background:#fff1f4; font-size:10px; overflow-wrap:anywhere; }

.income-metrics { margin-bottom: 18px; }
.income-summary-grid { grid-template-columns:repeat(3,1fr); }
.income-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; }
.income-estimate-table { min-width:0; }
.income-estimate-table table { min-width:780px; }
.source-row { padding: 16px 0; display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items:center; border-bottom: 1px solid var(--line); font-size: 11px; }
.source-row > span { display:flex; flex-direction:column; gap:4px; }
.source-row strong { direction: ltr; }
.source-row small { color: var(--muted); font-size:8px; }
.disclosure-card { color: #fff; border: 0; background: linear-gradient(145deg, #1a3049, #1c3d59); }
.disclosure-card > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: #123c37; background: var(--teal); font-weight: 800; }
.disclosure-card h2 { margin: 16px 0 8px; font-size: 18px; }
.disclosure-card p { color: #9fb1c1; font-size: 10px; line-height: 1.9; }
.disclosure-card ul { margin: 18px 0 0; padding-right: 18px; color: #cbd7e1; font-size: 10px; line-height: 2; }
.activity-filters { margin-bottom: 18px; display: flex; align-items: center; justify-content: space-between; }
.activity-filters > span { color: var(--muted); font-size: 10px; }

.data-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.data-kpis article { min-height: 135px; display: flex; flex-direction: column; }
.data-kpis strong { margin-top: 12px; font-size: 22px; }
.data-kpis span { margin-top: auto; color: var(--muted); font-size: 9px; line-height: 1.6; }
.danger-kpi { border-color: #f0ccd3; background: #fff9fa; }
.danger-kpi strong { color: var(--red); }
.pipeline { margin-top: 18px; padding: 20px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.pipeline > div { min-height: 125px; padding: 15px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.pipeline > div > span { color: var(--teal-dark); font-size: 10px; font-weight: 800; }
.pipeline small { margin-top: 12px; color: var(--muted); font-size: 8px; }
.pipeline strong { margin-top: 4px; font-size: 12px; }
.pipeline em { width: max-content; margin-top: auto; padding: 4px 7px; border-radius: 7px; font-size: 8px; font-style: normal; }
.pipeline em.bad { color: #ad3148; background: #ffe7ec; }
.pipeline em.warn { color: #8a621f; background: #fff1d5; }
.pipeline em.good { color: #08766b; background: #daf6f2; }
.pipeline > b { color: #9eabb7; }
.data-layout { margin-top: 18px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.job-row { padding: 14px 0; display: grid; grid-template-columns: 10px 1fr 90px 90px; gap: 12px; align-items: center; border-bottom: 1px solid var(--line); }
.job-row > span { display: flex; flex-direction: column; }
.job-row strong { font-size: 10px; }
.job-row small { margin-top: 4px; color: var(--muted); font-size: 8px; }
code { color: #5f50c9; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; direction: ltr; }
.state { width: max-content; padding: 5px 8px; border-radius: 8px; font-size: 8px; font-style: normal; font-weight: 700; }
.state.good { color: #08766b; background: #dcf7f3; }
.state.warn { color: #8a621f; background: #fff0d3; }
.state.bad { color: #ad3148; background: #ffe7ec; }
.target-panel > div:not(.panel-heading) { padding: 13px 0; border-bottom: 1px solid var(--line); }
.target-panel > div:not(.panel-heading) strong { font-size: 10px; }
.target-panel p { margin: 4px 0 0; color: var(--muted); font-size: 9px; line-height: 1.7; }
.schema-panel { margin-top: 18px; }
.schema-grid { margin-top: 16px; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.schema-grid > div { min-height: 75px; padding: 12px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }
.schema-grid code { font-size: 10px; font-weight: 700; }
.schema-grid span { margin-top: 7px; color: var(--muted); font-size: 9px; }

.admin-summary { display: grid; grid-template-columns: 1.4fr .3fr .3fr; gap: 16px; }
.admin-hero { min-height: 210px; padding: 25px; color: #fff; border-radius: 16px; background: linear-gradient(145deg, #142b44, #1a3b57); box-shadow: 0 16px 35px rgba(18,40,64,.18); }
.admin-hero small { color: var(--teal); }
.admin-hero h2 { max-width: 680px; margin: 12px 0 10px; font-size: 23px; line-height: 1.55; }
.admin-hero p { margin: 0; color: #9fb2c3; font-size: 10px; }
.admin-number { display: flex; flex-direction: column; }
.admin-number strong { margin-top: 20px; font-size: 40px; }
.admin-number span { margin-top: auto; color: var(--muted); font-size: 9px; line-height: 1.6; }
.admin-layout { margin-top: 18px; display: grid; grid-template-columns: 1.25fr .75fr; gap: 18px; }
.priority-list > div:not(.panel-heading) { padding: 14px 0; display: grid; grid-template-columns: 28px 9px 1fr 55px; gap: 10px; align-items: center; border-bottom: 1px solid var(--line); }
.priority-index { color: #a0abb5; font-size: 9px; font-weight: 700; }
.priority-list > div > span:nth-child(3) { display: flex; flex-direction: column; }
.priority-list strong { font-size: 10px; }
.priority-list small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.platform-health > div:not(.panel-heading) { padding: 14px 0; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 10px; }
.platform-health > div > span { display: flex; align-items: center; gap: 9px; }
.platform-health > div > strong { font-size: 9px; }

footer { padding: 28px 3px 2px; display: flex; justify-content: space-between; color: #8f9ba8; font-size: 9px; }

.modal-backdrop { position: fixed; inset: 0; z-index: 80; padding: 20px; display: grid; place-items: center; background: rgba(6,17,29,.66); backdrop-filter: blur(7px); }
.modal { position: relative; width: min(540px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; padding: 30px; border-radius: 20px; background: var(--surface); box-shadow: 0 35px 80px rgba(0,0,0,.32); }
.modal-close { position: absolute; top: 14px; left: 14px; width: 32px; height: 32px; border: 0; border-radius: 9px; color: var(--muted); background: var(--soft); font-size: 19px; }
.modal-kicker { color: var(--teal-dark); font-size: 10px; font-weight: 700; }
.modal h2 { margin: 8px 0 9px; font-size: 23px; }
.modal > p { margin: 0 0 20px; color: var(--muted); font-size: 11px; line-height: 1.8; }
.cash-control { padding: 15px; display: flex; flex-direction: column; gap: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
.cash-control > span { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }
.cash-control strong { color: var(--ink); font-size: 12px; }
.cash-control input { width: 100%; accent-color: var(--teal); }
.simulation-result { margin: 14px 0; padding: 14px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 15px; align-items: center; border-radius: 12px; color: #fff; background: var(--navy); }
.simulation-result > div { display: flex; flex-direction: column; text-align: center; }
.simulation-result small { color: #9eb1c1; font-size: 8px; }
.simulation-result strong { margin-top: 4px; font-size: 20px; }
.simulation-result > span { color: var(--teal); }
.order-list > div { padding: 12px 0; display: flex; justify-content: space-between; border-top: 1px solid var(--line); font-size: 11px; }
.order-list strong { color: var(--teal-dark); direction: ltr; }
.modal-actions { margin-top: 20px; display: flex; justify-content: flex-end; gap: 8px; }
.modal > em { display: block; margin-top: 14px; color: #929eaa; font-size: 8px; font-style: normal; text-align: center; }
.builder label { margin-top: 15px; display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 9px; }
.builder input, .builder select { width: 100%; height: 43px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; outline: 0; color: var(--ink); background: var(--surface); }
.builder-wide { width:min(1080px,100%); }
.builder-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.builder-group, .selected-assets { margin-top: 16px; }
.builder-group > span, .selected-assets > span { color: var(--muted); font-size: 9px; }
.builder-group > small { display: block; margin-top: 8px; color: var(--muted); font-size: 8px; line-height: 1.6; }
.algorithm-grid { margin-top: 7px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.algorithm-grid button { min-height: 40px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); background: var(--surface); font-size: 9px; }
.selected-assets > div { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; }
.selected-assets i { padding: 6px 9px; border-radius: 20px; color: #08766b; background: #e2f8f5; font-size: 8px; font-style: normal; }
.asset-picker { margin-top:18px; }
.asset-picker > span { color:var(--muted); font-size:9px; }
.asset-picker > div { margin-top:7px; display:grid; grid-template-columns:1fr auto; gap:8px; }
.asset-picker select { min-width:0; }
.weight-preview-table { margin-top:14px; overflow:hidden; border:1px solid var(--line); border-radius:12px; }
.weight-preview-head, .weight-preview-row { display:grid; grid-template-columns:minmax(150px,1.1fr) minmax(150px,1fr) 100px 30px; gap:10px; align-items:center; }
.weight-preview-head { padding:9px 12px; color:var(--muted); background:var(--soft); font-size:8px; }
.weight-preview-row { min-height:58px; padding:8px 12px; border-top:1px solid var(--line); }
.weight-preview-row > span { display:flex; flex-direction:column; }
.weight-preview-row > span strong { font-size:10px; }
.weight-preview-row > span small, .weight-preview-row > small { margin-top:3px; color:var(--muted); font-size:8px; }
.weight-preview-row > strong { color:var(--teal-dark); font-size:11px; direction:ltr; text-align:right; }
.weight-preview-row.zero-weight { background:#fffbf4; }
.weight-preview-row.zero-weight > strong { color:#9a6c21; }
.weight-preview-row > button { width:28px; height:28px; border:0; border-radius:7px; color:var(--red); background:#fff0f3; font-size:16px; }
.editable-holdings .weight-preview-head, .editable-holdings .weight-preview-row { grid-template-columns:minmax(140px,1.1fr) minmax(130px,.95fr) 90px 105px 90px 30px; }
.holding-number, .manual-weight { position:relative; margin:0 !important; }
.holding-number input, .manual-weight input { height:36px !important; padding-left:35px !important; direction:ltr; text-align:right; }
.holding-number b, .manual-weight b { position:absolute; left:8px; bottom:11px; color:var(--muted); font-size:7px; font-weight:700; pointer-events:none; }
.builder-error { margin-top:10px; padding:9px 11px; border:1px solid #f1cbd3; border-radius:9px; color:#a82f47; background:#fff4f6; font-size:9px; line-height:1.6; }
.builder-info { margin-top:10px; padding:9px 11px; border:1px solid #f0d8aa; border-radius:9px; color:#7e5a1e; background:#fff9ed; font-size:9px; line-height:1.7; }
.builder-total { margin-top:11px; display:flex; justify-content:space-between; color:var(--muted); font-size:10px; }
.builder-total strong { color:var(--ink); direction:ltr; }

@media (max-width: 680px) {
  .builder-wide { padding:24px 17px; }
  .builder-meta-grid { grid-template-columns:1fr; }
  .algorithm-grid { grid-template-columns:1fr; }
  .weight-preview-head { display:none; }
  .weight-preview-row { grid-template-columns:1fr 90px 28px; gap:7px; }
  .weight-preview-row > small { grid-column:1/-1; grid-row:2; }
  .editable-holdings .weight-preview-row { grid-template-columns:1fr 1fr 28px; }
  .editable-holdings .weight-preview-row > span, .editable-holdings .weight-preview-row > small { grid-column:1/-1; grid-row:auto; }
  .asset-picker > div { grid-template-columns:1fr; }
}

/* Waznah V2.0 landing */
.landing { --land-navy:#102a43; --land-teal:#20b7a7; --land-cream:#f7f6f0; min-height:100vh; overflow:hidden; color:#14263a; background:var(--land-cream); }
.landing a, .register-page a { color:inherit; text-decoration:none; }
.landing-nav { width:min(1280px,calc(100% - 48px)); height:84px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.landing-brand { display:flex; align-items:center; gap:9px; }
.landing-brand > img { width:142px; height:auto; display:block; }
.landing-brand small { padding:3px 6px; border-radius:6px; color:#08766b; background:#daf5f1; font-size:8px; font-weight:800; direction:ltr; }
.landing-nav nav { display:flex; gap:30px; color:#5b6b7b; font-size:12px; font-weight:700; }
.landing-nav nav a:hover { color:#087f74; }
.landing-actions { display:flex; align-items:center; gap:10px; }
.landing-login { padding:12px 8px; color:#42586c !important; font-size:11px; font-weight:700; }
.landing-cta { min-height:52px; padding:0 23px; display:inline-flex; align-items:center; justify-content:center; gap:18px; border:0; border-radius:13px; color:#fff !important; background:linear-gradient(135deg,#1fb9a8,#15978a); box-shadow:0 13px 28px rgba(32,183,167,.22); font-size:12px; font-weight:800; }
.landing-cta:hover { transform:translateY(-2px); }
.landing-cta.small { min-height:42px; padding:0 17px; border-radius:10px; font-size:11px; }
.landing-hero { width:min(1280px,calc(100% - 48px)); min-height:650px; margin:0 auto; padding:78px 0 95px; display:grid; grid-template-columns:.84fr 1.16fr; gap:68px; align-items:center; }
.version-pill { width:max-content; padding:7px 11px; display:inline-flex; align-items:center; gap:8px; border:1px solid #bee6e1; border-radius:20px; color:#08796f; background:#ebfaf8; font-size:10px; font-weight:800; }
.version-pill i { width:7px; height:7px; border-radius:50%; background:var(--land-teal); box-shadow:0 0 0 4px rgba(32,183,167,.12); }
.hero-copy h1 { margin:22px 0 20px; color:var(--land-navy); font-size:clamp(44px,5vw,70px); letter-spacing:-.055em; line-height:1.35; }
.hero-copy h1 em { color:#11998b; font-style:normal; }
.hero-copy > p { max-width:585px; margin:0; color:#617181; font-size:16px; line-height:2; }
.hero-actions { margin-top:30px; display:flex; align-items:center; gap:13px; }
.landing-demo { min-height:52px; padding:0 19px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #d5dcd9; border-radius:13px; color:#3e5367 !important; background:rgba(255,255,255,.7); font-size:12px; font-weight:800; }
.hero-promises { margin:24px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:18px; color:#687888; list-style:none; font-size:10px; }
.hero-promises li { display:flex; align-items:center; gap:6px; }
.hero-promises span { width:18px; height:18px; display:grid; place-items:center; border-radius:50%; color:#087a6f; background:#ddf5f1; font-size:9px; font-weight:900; }
.hero-product { position:relative; direction:rtl; }
.product-window { position:relative; z-index:2; padding:17px; border:1px solid rgba(255,255,255,.8); border-radius:25px; background:rgba(255,255,255,.9); box-shadow:0 35px 80px rgba(26,51,73,.15); transform:rotate(-1.2deg); }
.product-window::before { content:""; position:absolute; inset:-32px -40px auto auto; z-index:-2; width:220px; height:220px; border-radius:50%; background:rgba(32,183,167,.16); filter:blur(3px); }
.product-window::after { content:""; position:absolute; inset:auto auto -45px -35px; z-index:-2; width:190px; height:190px; border-radius:50%; background:rgba(101,87,216,.12); }
.product-top { height:43px; padding:0 5px 12px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid #edf0ef; }
.product-top > span { display:flex; gap:5px; direction:ltr; }
.product-top i { width:7px; height:7px; border-radius:50%; background:#d8dfdf; }
.product-top i:first-child { background:#20b7a7; }
.product-top strong { font-size:11px; }
.product-top small { color:#8a98a2; font-size:8px; text-align:left; direction:ltr; }
.product-kpis { padding:14px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.product-kpis article { min-height:90px; padding:13px; display:flex; flex-direction:column; border:1px solid #e8edeb; border-radius:12px; background:#fbfcfb; }
.product-kpis small { color:#758493; font-size:8px; }
.product-kpis strong { margin-top:9px; font-size:17px; direction:ltr; text-align:right; }
.product-kpis span { margin-top:auto; color:#91a0aa; font-size:8px; }
.product-kpis .loss strong, .product-kpis .loss span { color:#c54760; }
.product-main { display:grid; grid-template-columns:1.55fr .65fr; gap:10px; }
.mock-chart, .mock-alert { min-height:215px; padding:15px; border:1px solid #e8edeb; border-radius:14px; background:#fff; }
.mock-chart > div { display:flex; flex-direction:column; }
.mock-chart small { color:#7b8b98; font-size:8px; }
.mock-chart strong { margin-top:3px; font-size:11px; }
.mock-chart svg { width:100%; height:155px; margin-top:3px; direction:ltr; }
.weight-preview { margin-top:22px; display:grid; gap:17px; }
.weight-preview > div { display:grid; grid-template-columns:1fr 78px 34px; gap:9px; align-items:center; }
.weight-preview > div > span { height:8px; overflow:hidden; border-radius:10px; background:#edf1f0; direction:rtl; }
.weight-preview > div > span i { height:100%; display:block; border-radius:10px; background:linear-gradient(90deg,#20b7a7,#67d5ca); }
.weight-preview small { color:#647686; text-align:right; }
.weight-preview b { color:#19364e; font-size:9px; direction:ltr; }
.mock-alert { color:#fff; border:0; background:linear-gradient(150deg,#16324b,#1e4664); }
.mock-alert > span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#0c5149; background:#5dd2c5; font-weight:900; }
.mock-alert small { display:block; margin-top:23px; color:#8da7b9; font-size:8px; }
.mock-alert strong { display:block; margin-top:5px; font-size:13px; line-height:1.6; }
.mock-alert p { margin:8px 0 0; color:#9db0c0; font-size:8px; line-height:1.7; }
.mock-holding { min-height:65px; margin-top:10px; padding:10px 12px; display:grid; grid-template-columns:34px 1fr auto auto; gap:10px; align-items:center; border:1px solid #e8edeb; border-radius:12px; }
.asset-mark { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#08786d; background:#dcf7f3; font-weight:900; }
.mock-holding > div { display:flex; flex-direction:column; }
.mock-holding strong { font-size:10px; }
.mock-holding small { margin-top:3px; color:#8a98a4; font-size:7px; }
.mock-holding > b { color:#148f83; font-size:9px; direction:ltr; }
.mock-holding > em { padding:5px 7px; border-radius:8px; color:#08796e; background:#e0f6f3; font-size:8px; font-style:normal; font-weight:800; direction:ltr; }
.floating-proof { position:absolute; z-index:3; min-width:150px; padding:11px 13px; display:flex; align-items:center; gap:9px; border:1px solid rgba(255,255,255,.9); border-radius:13px; background:#fff; box-shadow:0 18px 40px rgba(26,51,73,.14); }
.floating-proof > span { width:30px; height:30px; display:grid; place-items:center; border-radius:9px; color:#08796e; background:#ddf5f1; font-weight:900; }
.floating-proof > div { display:flex; flex-direction:column; }
.floating-proof small { color:#8795a0; font-size:7px; }
.floating-proof strong { margin-top:3px; font-size:10px; }
.proof-one { top:85px; left:-64px; }
.proof-two { right:-50px; bottom:58px; }
.trust-strip { position:relative; min-height:350px; padding:66px max(24px,calc((100% - 1180px)/2)); overflow:hidden; color:#fff; background:linear-gradient(135deg,#0f2941 0%,#173d59 66%,#124e58 100%); }
.trust-strip::before { content:""; position:absolute; width:330px; height:330px; top:-190px; right:9%; border:1px solid rgba(95,210,197,.18); border-radius:50%; box-shadow:0 0 0 48px rgba(95,210,197,.035),0 0 0 96px rgba(95,210,197,.025); }
.trust-strip::after { content:""; position:absolute; width:260px; height:260px; bottom:-210px; left:8%; border-radius:50%; background:rgba(32,183,167,.17); filter:blur(2px); }
.trust-heading { position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.trust-heading > div > span { color:#61d1c5; font-size:11px; font-weight:800; }
.trust-heading h2 { margin:10px 0 0; color:#fff; font-size:clamp(27px,3vw,41px); letter-spacing:-.035em; }
.trust-heading p { max-width:390px; margin:0; color:#a9bdca; font-size:12px; line-height:1.9; }
.trust-flow { position:relative; z-index:1; margin-top:35px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; direction:rtl; }
.trust-flow article { position:relative; min-height:132px; padding:21px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid rgba(255,255,255,.11); border-radius:17px; background:rgba(255,255,255,.055); backdrop-filter:blur(5px); }
.trust-flow article > span { width:max-content; padding:5px 8px; border-radius:8px; color:#68d5c9; background:rgba(32,183,167,.13); font-size:9px; font-weight:900; direction:ltr; }
.trust-flow article > div { display:flex; flex-direction:column; gap:5px; }
.trust-flow small { color:#91a8b8; font-size:9px; }
.trust-flow strong { color:#fff; font-size:16px; line-height:1.5; }
.trust-flow article > i { position:absolute; z-index:2; width:22px; height:22px; top:50%; left:-19px; display:grid; place-items:center; color:#54cabe; background:#173c57; font-size:15px; font-style:normal; transform:translateY(-50%); }
.trust-flow article > i::before { content:"←"; }
.trust-flow .trust-decision { border-color:#71d9ce; background:linear-gradient(145deg,#58d0c4,#22ad9e); box-shadow:0 15px 34px rgba(17,141,130,.25); transform:translateY(-8px); }
.trust-flow .trust-decision > span { color:#075e56; background:rgba(255,255,255,.42); }
.trust-flow .trust-decision small { color:#d9f8f4; }
.trust-flow .trust-decision strong { color:#073e3a; font-size:18px; }
.landing-section { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:115px 0; }
.section-intro > span, .how-heading > span, .cost-copy > span, .closing-cta > span { color:#0d9286; font-size:10px; font-weight:800; }
.section-intro h2, .how-heading h2, .cost-copy h2 { margin:13px 0 12px; color:#122b42; font-size:clamp(31px,4vw,49px); letter-spacing:-.04em; line-height:1.45; }
.section-intro p { max-width:560px; margin:0; color:#71808d; font-size:13px; line-height:1.9; }
.algorithm-section { position:relative; }
.algorithm-heading { display:grid; grid-template-columns:.82fr 1.18fr; gap:85px; align-items:center; }
.algorithm-preview { padding:27px; border:1px solid #e1e7e4; border-radius:23px; background:rgba(255,255,255,.8); box-shadow:0 28px 70px rgba(25,52,75,.1); }
.algorithm-preview-head { padding-bottom:18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #e8ecea; }
.algorithm-preview-head > div { display:flex; flex-direction:column; }
.algorithm-preview-head small { color:#80909b; font-size:8px; }
.algorithm-preview-head strong { margin-top:5px; font-size:13px; }
.algorithm-preview-head > span { padding:7px 11px; border:1px solid #91ddd5; border-radius:20px; color:#08786d; background:#e6f8f5; font-size:9px; font-weight:800; }
.allocation-list { margin-top:11px; }
.allocation-list > div { min-height:58px; display:grid; grid-template-columns:34px 128px 1fr 38px; gap:10px; align-items:center; border-bottom:1px solid #edf0ee; }
.allocation-list .asset-mark { width:30px; height:30px; border-radius:9px; font-size:10px; }
.allocation-list strong { font-size:9px; }
.allocation-list > div > i { height:7px; overflow:hidden; border-radius:10px; background:#edf1f0; direction:rtl; }
.allocation-list > div > i b { height:100%; display:block; border-radius:10px; background:linear-gradient(90deg,#20b7a7,#67d5ca); }
.allocation-list em { color:#19384f; font-size:9px; font-style:normal; font-weight:800; direction:ltr; }
.allocation-total { margin-top:18px; padding:13px 15px; display:flex; align-items:center; justify-content:space-between; border-radius:11px; color:#0c675f; background:#e8f8f6; font-size:9px; }
.allocation-total strong { font-size:15px; direction:ltr; }
.algorithm-grid-landing { margin-top:55px; display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.algorithm-grid-landing article { position:relative; min-height:245px; padding:25px; border:1px solid #dfe5e2; border-radius:18px; background:rgba(255,255,255,.56); }
.algorithm-grid-landing article.active { border-color:#9bdcd5; background:#f1fbf9; box-shadow:inset 0 3px #20b7a7; }
.algorithm-grid-landing article > span { width:43px; height:43px; display:grid; place-items:center; border-radius:12px; color:#08786d; background:#ddf5f1; font-size:14px; font-weight:900; }
.algorithm-grid-landing article > small { position:absolute; top:28px; left:25px; color:#aeb9b9; font-size:9px; font-weight:800; direction:ltr; }
.algorithm-grid-landing h3 { margin:34px 0 9px; font-size:17px; }
.algorithm-grid-landing p { margin:0; color:#6f7f8d; font-size:11px; line-height:2; }
.algorithm-disclaimer { margin:17px 0 0; color:#84919b; font-size:9px; line-height:1.8; }
.benefit-grid { margin-top:46px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.benefit-grid article { position:relative; min-height:290px; padding:25px; border:1px solid #e3e5df; border-radius:18px; background:rgba(255,255,255,.62); }
.benefit-grid article > span { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:#08796f; background:#dff5f2; font-size:21px; }
.benefit-grid article > small { position:absolute; top:27px; left:23px; color:#b3bdbd; font-size:9px; font-weight:800; direction:ltr; }
.benefit-grid h3 { margin:43px 0 10px; font-size:17px; line-height:1.6; }
.benefit-grid p { margin:0; color:#6f7f8d; font-size:11px; line-height:2; }
.how-section { border-top:1px solid #e1e4df; }
.how-heading { max-width:720px; }
.steps-grid { margin-top:46px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.steps-grid article { padding:24px; display:flex; gap:18px; border-top:2px solid #cfd9d5; }
.steps-grid article > b { color:#1ba99b; font-size:11px; direction:ltr; }
.steps-grid h3 { margin:0 0 8px; font-size:17px; }
.steps-grid p { margin:0; color:#748391; font-size:11px; line-height:1.9; }
.cost-demo { margin-top:100px; padding:48px; display:grid; grid-template-columns:1fr .72fr; gap:70px; align-items:center; border-radius:25px; color:#fff; background:linear-gradient(145deg,#112b43,#1b405d); box-shadow:0 30px 70px rgba(17,43,67,.16); }
.cost-copy > span { color:#52cabd; }
.cost-copy h2 { color:#fff; }
.cost-copy p { max-width:580px; margin:0; color:#a7b7c5; font-size:12px; line-height:2; }
.cost-copy a { display:inline-block; margin-top:24px; color:#58d0c4; font-size:11px; font-weight:800; }
.cost-card { padding:22px; border:1px solid rgba(255,255,255,.11); border-radius:18px; background:rgba(255,255,255,.07); }
.cost-head { padding-bottom:18px; display:flex; align-items:center; gap:11px; border-bottom:1px solid rgba(255,255,255,.1); }
.cost-head > div { display:flex; flex-direction:column; }
.cost-head strong { font-size:12px; }
.cost-head small { margin-top:3px; color:#94a9b9; font-size:8px; }
.cost-card dl { margin:12px 0 0; }
.cost-card dl > div { padding:10px 0; display:flex; align-items:center; justify-content:space-between; color:#9fb2c1; font-size:9px; border-bottom:1px solid rgba(255,255,255,.08); }
.cost-card dd { margin:0; color:#fff; font-weight:800; direction:ltr; }
.cost-card .loss dd { color:#ff9daf; }
.cost-card dd small { margin-right:6px; font-size:7px; }
.free-section { width:min(1180px,calc(100% - 48px)); min-height:330px; margin:0 auto 30px; padding:50px; display:flex; align-items:center; justify-content:space-between; gap:35px; border-radius:26px; color:#fff; background:linear-gradient(135deg,#158f84,#20b7a7); overflow:hidden; }
.free-section > div { display:flex; align-items:center; gap:32px; }
.free-mark { color:rgba(255,255,255,.17); font-size:150px; font-weight:900; line-height:1; }
.free-section small { color:#c7f3ed; font-size:10px; font-weight:800; }
.free-section h2 { margin:9px 0; font-size:34px; }
.free-section p { max-width:620px; margin:0; color:#d7f5f1; font-size:12px; line-height:1.9; }
.landing-cta.light { color:#0c675f !important; background:#fff; box-shadow:none; white-space:nowrap; }
.faq-section { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; }
.faq-list details { padding:20px 0; border-bottom:1px solid #dce1dd; }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; font-size:14px; font-weight:800; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:#1aaa9b; font-size:19px; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list p { margin:13px 0 0; padding-left:45px; color:#71818e; font-size:11px; line-height:2; }
.closing-cta { width:min(1180px,calc(100% - 48px)); margin:0 auto 80px; padding:70px 30px; border-block:1px solid #dce1dd; text-align:center; }
.closing-cta h2 { margin:12px 0; color:#112b42; font-size:clamp(33px,4vw,52px); }
.closing-cta p { margin:0; color:#72818e; font-size:12px; }
.closing-cta > div { margin-top:27px; display:flex; justify-content:center; gap:11px; }
.landing-footer { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:35px 0 45px; display:grid; grid-template-columns:auto 1fr auto auto; gap:40px; align-items:center; border:0; color:#81909b; font-size:9px; }
.landing-footer p { max-width:420px; margin:0; line-height:1.8; }
.landing-footer > div { display:flex; gap:18px; font-weight:700; }

/* Registration */
.register-page { min-height:100vh; display:grid; grid-template-columns:.9fr 1.1fr; background:#f4f6f4; }
.register-side { min-height:100vh; padding:42px max(42px,calc((100vw - 1280px)/2)); display:flex; flex-direction:column; justify-content:space-between; color:#fff; background:linear-gradient(155deg,#102a43,#173e5b); overflow:hidden; }
.light-brand { color:#fff !important; }
.light-brand small { color:#89e1d7; background:rgba(32,183,167,.12); }
.register-side > div { max-width:540px; }
.dark-pill { color:#8ae1d8; border-color:rgba(91,204,192,.25); background:rgba(32,183,167,.08); }
.register-side h1 { margin:24px 0 15px; font-size:clamp(38px,5vw,62px); line-height:1.45; }
.register-side p { margin:0; color:#a5b7c5; font-size:13px; line-height:1.9; }
.register-side ul { margin:30px 0 0; padding:0; display:grid; gap:15px; color:#dce6ed; list-style:none; font-size:11px; }
.register-side li { display:flex; align-items:center; gap:9px; }
.register-side li span { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; color:#0b655d; background:#72d7cc; font-weight:900; }
.register-side > small { color:#7890a3; font-size:8px; }
.register-form-wrap { padding:50px 30px; display:grid; place-items:center; }
.register-card { width:min(470px,100%); }
.register-kicker { color:#0c8e82; font-size:10px; font-weight:800; }
.register-card h2 { margin:10px 0 5px; color:#14283b; font-size:32px; }
.register-card > p { margin:0 0 27px; color:#788795; font-size:11px; }
.register-card form { display:grid; gap:15px; }
.register-card label { display:flex; flex-direction:column; gap:7px; color:#526476; font-size:10px; font-weight:700; }
.register-card label input { width:100%; height:48px; padding:0 13px; border:1px solid #dbe1de; border-radius:11px; outline:0; color:#14283b; background:#fff; }
.register-card label input:focus { border-color:#57cbbf; box-shadow:0 0 0 4px rgba(32,183,167,.1); }
.register-card .terms-check { margin-top:2px; flex-direction:row; align-items:center; font-weight:500; }
.terms-check input { width:17px !important; height:17px !important; accent-color:#20b7a7; }
.register-submit { width:100%; margin-top:4px; }
.preview-disclaimer { display:block; margin-top:14px; color:#8a97a1; font-size:8px; line-height:1.7; text-align:center; }
.login-line { margin-top:20px !important; text-align:center; }
.login-line a { color:#0c8e82; font-weight:800; }
.register-success { text-align:center; }
.register-success > span { width:68px; height:68px; margin:0 auto 18px; display:grid; place-items:center; border-radius:50%; color:#08786d; background:#d9f5f1; font-size:28px; font-weight:900; }
.register-success > small { color:#0c8e82; font-size:10px; font-weight:800; }
.register-success p { margin:0 0 25px; color:#748391; font-size:11px; line-height:1.9; }
.back-home { display:block; margin-top:18px; color:#71808d !important; font-size:10px; font-weight:700; }

/* Portfolio performance and administration */
.holdings-table { min-width:1360px; }
.gain-cell { display:flex; flex-direction:column; gap:3px; direction:ltr; text-align:right; }
.gain-cell small { font-size:8px; }
.gain-cell.up, .gain-cell.up strong { color:var(--teal-dark) !important; }
.gain-cell.down, .gain-cell.down strong { color:var(--red) !important; }
.table-footnote { margin:13px 0 4px; padding-top:12px; border-top:1px dashed var(--line); color:var(--muted); font-size:8px; line-height:1.7; }
.admin-user-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.admin-user-kpis article { min-height:142px; display:flex; flex-direction:column; }
.admin-user-kpis small { color:var(--teal-dark); font-size:9px; font-weight:800; }
.admin-user-kpis strong { margin-top:15px; font-size:30px; }
.admin-user-kpis span { margin-top:auto; color:var(--muted); font-size:8px; }
.admin-user-kpis .primary-metric small, .admin-user-kpis .primary-metric span { color:#a7bac9; }
.admin-user-kpis .primary-metric strong { font-size:25px; }
.admin-user-kpis em { color:#9db1c1; font-size:9px; font-style:normal; }
.admin-privacy-note { min-height:70px; margin-top:17px; padding:14px 16px; display:grid; grid-template-columns:38px 1fr auto; gap:13px; align-items:center; border:1px solid #b9e3de; border-radius:14px; background:#eefaf8; }
.admin-privacy-note > span { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:#08796f; background:#d7f3ef; font-size:18px; }
.admin-privacy-note strong { font-size:10px; }
.admin-privacy-note p { margin:4px 0 0; color:#637989; font-size:8px; line-height:1.7; }
.admin-privacy-note em { padding:5px 9px; border-radius:8px; color:#08796f; background:#d7f3ef; font-size:8px; font-style:normal; font-weight:800; }
.admin-users-panel { margin-top:18px; }
.admin-search { min-width:280px; height:38px; padding:0 11px; display:flex; align-items:center; gap:7px; border:1px solid var(--line); border-radius:10px; background:var(--soft); }
.admin-search input { width:100%; border:0; outline:0; color:var(--ink); background:transparent; font-size:9px; }
.admin-users-table { min-width:940px; }
.user-avatar { width:31px; height:31px; margin-left:8px; display:inline-grid; place-items:center; border-radius:9px; color:#08796f; background:#ddf5f1; font-weight:900; }
.user-avatar.small { width:29px; height:29px; font-size:9px; }
.user-avatar.large { width:52px; height:52px; margin:0; border-radius:14px; font-size:17px; }
.inspect-user { padding:7px 9px; border:1px solid #bee3df; border-radius:8px; color:#08796f; background:#edf9f7; font-size:8px; font-weight:800; }
.access-log .panel-heading { margin-bottom:7px; }
.access-row { padding:13px 0; display:grid; grid-template-columns:32px 1fr auto; gap:9px; align-items:center; border-bottom:1px solid var(--line); }
.access-row > div { display:flex; flex-direction:column; }
.access-row strong { font-size:9px; }
.access-row small, .access-row time { margin-top:3px; color:var(--muted); font-size:7px; }
.user-inspector { width:min(700px,100%); }
.inspector-user { padding-bottom:18px; display:grid; grid-template-columns:52px 1fr auto; gap:13px; align-items:center; border-bottom:1px solid var(--line); }
.inspector-user h2 { margin:0; font-size:20px; }
.inspector-user p { margin:4px 0 0; color:var(--muted); font-size:8px; text-align:right; }
.inspector-summary { padding:17px 0; display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }
.inspector-summary > div { padding:11px; display:flex; flex-direction:column; gap:6px; border-radius:10px; background:var(--soft); }
.inspector-summary small, .inspector-heading small { color:var(--muted); font-size:8px; }
.inspector-summary strong { font-size:10px; }
.inspector-heading { margin-top:5px; display:flex; align-items:end; justify-content:space-between; }
.inspector-heading h3 { margin:4px 0 0; font-size:16px; }
.inspector-heading > span { color:var(--muted); font-size:7px; }
.inspector-portfolios { margin-top:9px; }
.inspector-portfolios button { width:100%; min-height:62px; padding:9px 5px; display:grid; grid-template-columns:38px 1fr auto 58px 20px; gap:10px; align-items:center; border:0; border-top:1px solid var(--line); color:var(--ink); background:transparent; text-align:right; }
.inspector-portfolios button:hover { background:var(--soft); }
.inspector-portfolios div { display:flex; flex-direction:column; }
.inspector-portfolios strong { font-size:10px; }
.inspector-portfolios small { margin-top:3px; color:var(--muted); font-size:8px; }
.inspector-portfolios b { font-size:9px; direction:ltr; }
.inspector-portfolios em { font-size:8px; font-style:normal; font-weight:800; direction:ltr; }
.inspector-portfolios i { color:var(--teal-dark); font-style:normal; }
.access-reason { margin-top:14px; padding:13px; display:flex; align-items:center; justify-content:space-between; gap:15px; border:1px solid var(--line); border-radius:11px; background:var(--soft); color:var(--muted); font-size:8px; }
.access-reason select { min-width:210px; height:35px; padding:0 9px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--surface); font-size:8px; }
.audit-confirm { margin:11px 0 0 !important; color:#8a98a4 !important; font-size:7px !important; text-align:center; }

/* Functional states, readable financial labels, and keyboard access */
.danger-outline { color:#b63750; border-color:#efc3cc; background:#fff8f9; }
.danger-outline:hover { border-color:#df8f9f; background:#fff0f3; }
.empty-portfolio-state { min-height:360px; display:grid; place-content:center; justify-items:center; text-align:center; }
.empty-portfolio-state h1 { margin:0; font-size:30px; }
.empty-portfolio-state p { margin:10px 0 22px; color:var(--muted); font-size:14px; }
.activity-entry { margin-bottom:18px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.activity-entry label { display:flex; flex-direction:column; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }
.activity-entry input, .activity-entry select { width:100%; min-height:43px; padding:0 11px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:var(--surface); }
.activity-entry .modal-actions { grid-column:1/-1; margin-top:0; }
.history-flow-note { width:max-content; padding:4px 7px; border-radius:7px; color:#8a621f; background:#fff0d3; }
.admin-portfolio-item { min-height:62px; padding:10px 5px; display:grid !important; grid-template-columns:38px 1fr; gap:10px; align-items:center; border-top:1px solid var(--line); }
.admin-portfolio-item > div { min-width:0; }
.admin-portfolio-item small { overflow-wrap:anywhere; white-space:normal; }
.profile a { color:#9fb0bf; font-size:11px; font-weight:700; text-decoration:none; }
.profile a:hover { color:#fff; }
.auth-policy-note { margin-top:18px !important; font-size:12px !important; line-height:1.8; text-align:center; }
.auth-policy-note a { color:#08796f; font-weight:800; }
.policy-page { min-height:100vh; padding:70px 24px; background:#f4f6f4; }
.policy-page article { width:min(820px,100%); margin:0 auto; padding:44px; border:1px solid #dde4e1; border-radius:22px; background:#fff; box-shadow:var(--shadow); }
.policy-brand { color:#08796f; font-size:15px; font-weight:900; text-decoration:none; }
.policy-page h1 { margin:22px 0 6px; font-size:38px; }
.policy-page h2 { margin:30px 0 8px; font-size:20px; }
.policy-page p { margin:0; color:#607184; font-size:14px; line-height:2; }
.policy-page .btn { width:max-content; margin-top:34px; display:inline-flex; align-items:center; text-decoration:none; }

button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline:3px solid rgba(36,191,174,.42);
  outline-offset:3px;
}

/* Desktop copy below 11px was hard to scan on dense finance views. */
.panel-heading small, .metric > small, .data-kpis small, .admin-user-kpis small { font-size:11px; }
.metric > span, .data-kpis span, .admin-user-kpis span { font-size:11px; }
.method-note, .portfolio-name small, .portfolio-value small, .drift-mini small, .portfolio-stats small, .status-legend { font-size:11px; }
th { font-size:11px; }
td { font-size:12px; }
td > small { font-size:10px; }
.chip, .soft-pill, .soft-chip, .provider, .filter-tabs button, .state { font-size:10.5px; }
.history-periods button, .history-readout, .history-caption, .history-warning { font-size:10.5px; }
.builder label, .builder-group > span, .selected-assets > span, .asset-picker > span { font-size:11px; }
.builder-group > small, .weight-preview-head, .weight-preview-row > span small, .weight-preview-row > small, .builder-error, .builder-info, .modal > em { font-size:10.5px; }
.algorithm-grid button { min-height:44px; font-size:11px; }
.weight-preview-row > span strong, .weight-preview-row > strong { font-size:12px; }

.dark { --ink: #e7eef5; --muted: #93a3b5; --soft: #1c2b3c; --canvas: #0e1927; --surface: #162538; --line: #2b3c4f; --shadow: 0 12px 30px rgba(0,0,0,.18); }
.dark .topbar { background: rgba(15,28,43,.9); }
.dark .demo-badge, .dark .data-notice { border-color: #594b31; color: #d1b981; background: #2a271f; }
.dark .data-notice strong { color: #e3c98e; }
.dark .primary-metric, .dark .focus-panel, .dark .admin-hero, .dark .disclosure-card { background: linear-gradient(145deg, #1b3651, #214764); }
.dark .danger-kpi { background: #2a2026; }
.dark .portfolio-row:hover { background: #1c2b3c; }
.dark .market-search input, .dark .builder input, .dark .builder select, .dark .market-sort select, .dark .portfolio-scope select { color: var(--ink); }
.dark .weight-preview-row.zero-weight { background:#2b281f; }
.dark .admin-privacy-note { border-color:#285249; background:#173530; }
.dark .admin-privacy-note > span, .dark .admin-privacy-note em { background:#204a43; }
.dark .admin-search input { color:var(--ink); }
.dark .history-periods button.active { color:#8ae1d8; border-color:#2b7169; background:#173b38; }
.dark .history-warning { color:#dfc17e; background:#30291d; }
.dark .danger-outline { color:#ff9daf; border-color:#67414a; background:#2a2026; }
.dark .activity-entry input, .dark .activity-entry select { color:var(--ink); }

@media (max-width: 1180px) {
  .metric-grid, .data-kpis { grid-template-columns: repeat(2,1fr); }
  .overview-grid, .portfolio-hero-grid, .data-layout, .admin-layout { grid-template-columns: 1fr; }
  .admin-summary { grid-template-columns: 1fr 1fr; }
  .admin-user-kpis { grid-template-columns:repeat(2,1fr); }
  .admin-hero { grid-column: 1/-1; }
  .pipeline { grid-template-columns: 1fr 1fr; }
  .pipeline > b { display: none; }
  .landing-nav nav { display:none; }
  .landing-hero { grid-template-columns:1fr; padding-top:55px; }
  .hero-copy { max-width:760px; }
  .hero-product { width:min(820px,92%); margin:0 auto; }
  .algorithm-heading { gap:45px; }
  .benefit-grid { grid-template-columns:repeat(2,1fr); }
  .benefit-grid article { min-height:240px; }
  .cost-demo { gap:35px; }
}

@media (max-width: 900px) {
  .sidebar { width: 230px; }
  .workspace { margin-right: 230px; }
  .lower-grid, .income-layout { grid-template-columns: 1fr; }
  .portfolio-stats { grid-template-columns: 1fr 1fr; }
  .portfolio-switcher { grid-template-columns:1fr; }
  .market-tools { align-items: stretch; flex-direction: column; }
  .market-search { min-width: 100%; }
  .market-sort { width:100%; }
  .schema-grid { grid-template-columns: repeat(2,1fr); }
  .algorithm-heading { grid-template-columns:1fr; }
  .algorithm-preview { max-width:720px; }
  .faq-section { grid-template-columns:1fr; gap:35px; }
  .free-section { align-items:flex-start; flex-direction:column; }
  .free-section > div { align-items:flex-start; }
  .landing-footer { grid-template-columns:auto 1fr; }
  .landing-footer > div, .landing-footer > small { grid-column:1/-1; }
  .register-page { grid-template-columns:1fr; }
  .register-side { min-height:520px; }
}

@media (max-width: 720px) {
  .sidebar { width: min(300px, 86vw); transform: translateX(110%); transition: .22s ease; }
  .sidebar.open { transform: translateX(0); }
  .mobile-close { position: absolute; top: 13px; left: 13px; display: block; border: 0; color: #b4c2cf; background: transparent; font-size: 25px; }
  .scrim { position: fixed; inset: 0; z-index: 35; display: block; border: 0; background: rgba(7,17,28,.56); }
  .workspace { margin-right: 0; }
  .topbar { height: 62px; padding: 0 15px; }
  .mobile-brand { display: flex; align-items: center; gap: 10px; }
  .mobile-brand button { border: 0; color: var(--ink); background: transparent; font-size: 20px; }
  .mobile-brand img { width: 106px; height: auto; display: block; }
  .breadcrumb { display: none; }
  .demo-badge { display: none; }
  .page-content { padding: 25px 14px 18px; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .heading-actions { width: 100%; }
  .heading-actions .btn { flex: 1; }
  .portfolio-scope { width:100%; }
  .metric-grid, .data-kpis, .lower-grid { grid-template-columns: 1fr; }
  .overview-grid { grid-template-columns: 1fr; }
  .performance-panel { min-height: auto; }
  .history-toolbar { align-items:flex-start; }
  .history-periods { width:100%; }
  .history-periods button { min-height:38px; flex:1 1 auto; font-size:10px; }
  .history-summary { grid-template-columns:1fr; }
  .history-readout { align-items:flex-start; flex-wrap:wrap; font-size:10px; line-height:1.6; }
  .history-readout > strong { width:100%; margin-left:0; font-size:11px; }
  .chart-wrap svg { height: 220px; }
  .history-empty { min-height:240px; }
  .method-note { font-size:10px; }
  .portfolio-row { grid-template-columns: 40px 1fr auto; }
  .drift-mini { grid-column: 2/-1; grid-row: 2; }
  .portfolio-row > b:last-child { display: none; }
  .portfolio-focus-top { flex-direction: column; }
  .drift-card { align-items: flex-start; }
  .pipeline { grid-template-columns: 1fr; }
  .schema-grid { grid-template-columns: 1fr; }
  .admin-summary { grid-template-columns: 1fr; }
  .admin-user-kpis { grid-template-columns:1fr; }
  .admin-hero { grid-column: auto; }
  .data-notice { align-items: flex-start; flex-direction: column; }
  footer { gap: 10px; flex-direction: column; }
  .landing-nav { width:calc(100% - 28px); height:70px; }
  .landing-login { display:none; }
  .landing-hero { width:calc(100% - 28px); padding:45px 0 70px; }
  .hero-copy h1 { font-size:43px; }
  .hero-copy > p { font-size:13px; }
  .hero-product { width:100%; }
  .product-window { padding:11px; border-radius:18px; transform:none; }
  .floating-proof { display:none; }
  .product-main { grid-template-columns:1fr; }
  .mock-alert { min-height:150px; }
  .mock-holding { grid-template-columns:34px 1fr auto; }
  .mock-holding > em { display:none; }
  .trust-strip { min-height:auto; padding:48px 14px; }
  .trust-strip::before { width:250px; height:250px; top:-165px; right:-25px; }
  .trust-heading { display:block; }
  .trust-heading > div > span { font-size:12px; }
  .trust-heading h2 { margin-top:9px; font-size:30px; line-height:1.45; }
  .trust-heading p { margin-top:13px; max-width:none; font-size:15px; line-height:1.85; }
  .trust-flow { margin-top:27px; grid-template-columns:1fr; gap:16px; }
  .trust-flow article { min-height:116px; padding:19px; }
  .trust-flow article > span { font-size:11px; }
  .trust-flow small { font-size:12px; }
  .trust-flow strong { font-size:18px; }
  .trust-flow article > i { top:auto; bottom:-19px; left:50%; transform:translateX(-50%); }
  .trust-flow article > i::before { content:"↓"; }
  .trust-flow .trust-decision { min-height:128px; transform:none; }
  .trust-flow .trust-decision strong { font-size:20px; }
  .landing-section { width:calc(100% - 28px); padding:75px 0; }
  .algorithm-grid-landing { grid-template-columns:1fr; }
  .algorithm-grid-landing article { min-height:220px; }
  .benefit-grid { grid-template-columns:1fr; }
  .steps-grid { grid-template-columns:1fr; }
  .cost-demo { margin-top:65px; padding:28px; grid-template-columns:1fr; }
  .free-section { width:calc(100% - 28px); padding:30px; }
  .free-mark { font-size:85px; }
  .free-section h2 { font-size:26px; }
  .closing-cta, .landing-footer { width:calc(100% - 28px); }
  .landing-footer { grid-template-columns:1fr; gap:22px; }
  .landing-footer > div, .landing-footer > small { grid-column:auto; }
  .register-side { min-height:480px; padding:30px 24px; }
  .register-form-wrap { padding:45px 20px; }
  .admin-privacy-note { grid-template-columns:36px 1fr; }
  .admin-privacy-note em { grid-column:2; width:max-content; }
  .admin-users-panel .panel-heading { align-items:stretch; flex-direction:column; }
  .admin-search { min-width:100%; }
  .inspector-summary { grid-template-columns:1fr; }
  .activity-entry { grid-template-columns:1fr; }
  .policy-page { padding:28px 14px; }
  .policy-page article { padding:28px 20px; border-radius:16px; }
  .policy-page h1 { font-size:30px; }

  /* Mobile typography: keep financial data and marketing copy readable without zooming. */
  .btn { font-size:13px; }
  .eyebrow { font-size:12px; }
  .page-heading p { font-size:14px; line-height:1.85; }
  .panel-heading small, .metric > small, .data-kpis small, .admin-hero small, .admin-number small { font-size:12px; }
  .panel-heading h2 { font-size:18px; }
  .soft-pill, .source-chip { font-size:11px; }
  .data-notice { font-size:13px; line-height:1.75; }
  .data-notice button { font-size:12px; }
  .metric > span { font-size:11px; line-height:1.7; }
  .metric strong em { font-size:12px; }
  .return-strip small { font-size:11px; }
  .check-list strong { font-size:13px; }
  .check-list small { font-size:11px; line-height:1.6; }
  .legend > div { font-size:12px; }
  .portfolio-name strong, .portfolio-value strong { font-size:13px; }
  .portfolio-name small, .portfolio-value small, .drift-mini small { font-size:11px; }
  .portfolio-switcher button strong { font-size:14px; }
  .portfolio-switcher button small { font-size:11px; }
  .status-legend { font-size:11px; }
  th { font-size:11px; }
  td { font-size:12px; }
  td > small { font-size:10px; }
  .table-footnote { font-size:10.5px; line-height:1.8; }
  .market-search input { font-size:13px; }
  .market-sort, .portfolio-scope { font-size:11px; }
  .market-sort select, .portfolio-scope select { min-height:44px; font-size:12px; }
  .filter-tabs button { min-height:40px; font-size:11.5px; }
  .pagination { align-items:stretch; flex-direction:column; text-align:center; font-size:11px; }
  .pagination button { min-height:42px; font-size:12px; }
  .soft-chip, .provider { font-size:10.5px; }
  .text-action { font-size:12px; }
  footer { font-size:11px; }

  .landing-actions .landing-cta.small { font-size:12.5px; }
  .version-pill { font-size:12px; line-height:1.5; }
  .hero-copy > p { font-size:16px; line-height:1.95; }
  .hero-promises { gap:13px; font-size:13px; line-height:1.6; }
  .landing-cta, .landing-demo { font-size:14px; }
  .product-top strong { font-size:12px; }
  .product-top small { font-size:10px; }
  .product-kpis small { font-size:10px; }
  .product-kpis span { font-size:10px; }
  .mock-chart small { font-size:10.5px; }
  .mock-chart strong { font-size:12px; }
  .weight-preview small, .weight-preview b { font-size:10.5px; }
  .mock-alert small { font-size:10px; }
  .mock-alert strong { font-size:14px; }
  .mock-alert p { font-size:11px; line-height:1.8; }
  .mock-holding strong { font-size:11.5px; }
  .mock-holding small { font-size:10px; }
  .mock-holding > b { font-size:11px; }
  .section-intro > span, .how-heading > span, .cost-copy > span, .closing-cta > span { font-size:12px; }
  .section-intro p { font-size:15px; line-height:1.9; }
  .algorithm-preview-head small { font-size:10.5px; }
  .algorithm-preview-head strong { font-size:14px; }
  .algorithm-preview-head > span { font-size:11.5px; }
  .allocation-list strong { font-size:11.5px; }
  .allocation-list em { font-size:11.5px; }
  .allocation-total { font-size:11.5px; }
  .algorithm-grid-landing h3, .benefit-grid h3, .steps-grid h3 { font-size:19px; }
  .algorithm-grid-landing p, .benefit-grid p, .steps-grid p { font-size:14px; line-height:1.9; }
  .algorithm-grid-landing article, .benefit-grid article { min-height:auto; }
  .algorithm-disclaimer { font-size:11.5px; line-height:1.8; }
  .cost-copy p, .free-section p { font-size:14px; line-height:1.9; }
  .cost-copy a { font-size:13px; }
  .cost-head strong { font-size:13px; }
  .cost-head small { font-size:10.5px; }
  .cost-card dl > div { font-size:11.5px; }
  .free-section small { font-size:12px; }
  .faq-list summary { font-size:16px; line-height:1.7; }
  .faq-list p { font-size:14px; line-height:1.9; }
  .closing-cta p { font-size:14px; line-height:1.8; }
  .landing-footer { font-size:12px; }
  .landing-footer p { line-height:1.9; }

  .register-side p { font-size:15px; }
  .register-side ul { font-size:14px; }
  .register-kicker { font-size:12px; }
  .register-card > p { font-size:14px; line-height:1.7; }
  .register-card label { font-size:13px; }
  .register-card label input { font-size:16px; }
  .register-card .terms-check { font-size:13px; line-height:1.7; }
  .preview-disclaimer { font-size:10.5px; line-height:1.8; }
  .login-line { font-size:14px !important; }
}

@media (max-width: 460px) {
  .page-heading h1 { font-size: 28px; }
  .allocation-body { align-items: stretch; flex-direction: column; }
  .donut { margin: 12px auto 0; }
  .legend { width: 100%; }
  .return-strip { grid-template-columns: 1fr; }
  .return-strip > div:not(:last-child) { border-left: 0; border-bottom: 1px solid var(--line); }
  .portfolio-stats { grid-template-columns: 1fr 1fr; }
  .job-row { grid-template-columns: 10px 1fr; }
  .job-row > span:nth-child(3), .job-row .state { grid-column: 2; }
  .priority-list > div:not(.panel-heading) { grid-template-columns: 24px 9px 1fr; }
  .priority-list .state { grid-column: 3; }
  .modal { padding: 26px 17px; }
  .landing-actions .landing-cta { min-height:39px; padding:0 12px; }
  .landing-brand > img { width:118px; }
  .hero-copy h1 { font-size:37px; }
  .trust-heading h2 { font-size:27px; }
  .hero-actions, .closing-cta > div { align-items:stretch; flex-direction:column; }
  .landing-cta, .landing-demo { width:100%; }
  .hero-promises { align-items:flex-start; flex-direction:column; }
  .product-kpis { grid-template-columns:1fr; }
  .product-kpis article { min-height:76px; }
  .mock-chart { min-height:190px; }
  .mock-chart svg { height:125px; }
  .weight-preview > div { grid-template-columns:1fr 64px 32px; }
  .algorithm-preview { padding:18px; }
  .allocation-list > div { grid-template-columns:30px 1fr 38px; gap:8px; }
  .allocation-list > div > i { grid-column:2/4; width:100%; }
  .free-section > div { flex-direction:column; gap:10px; }
  .faq-list p { padding-left:0; }
  .inspector-user { grid-template-columns:52px 1fr; }
  .inspector-user > em { grid-column:2; width:max-content; }
  .inspector-heading { align-items:flex-start; flex-direction:column; gap:6px; }
  .inspector-portfolios button { grid-template-columns:38px 1fr auto; }
  .inspector-portfolios button > em, .inspector-portfolios button > i { display:none; }
  .access-reason { align-items:stretch; flex-direction:column; }
  .access-reason select { min-width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Public markets */
.public-market { --market-navy:#102a43; --market-teal:#20b7a7; min-height:100vh; overflow-x:hidden; color:#14263a; background:#eef3f4; }
.public-market a { color:inherit; text-decoration:none; }
.public-market-header { width:min(1280px,calc(100% - 48px)); height:82px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.public-market-header nav { display:flex; align-items:center; gap:28px; color:#5d6d7d; font-size:13px; font-weight:700; }
.public-market-header nav a { padding:10px 0; border-bottom:2px solid transparent; }
.public-market-header nav a:hover, .public-market-header nav a.active { color:#08796f; border-color:#20b7a7; }
.public-market-hero { width:min(1280px,calc(100% - 48px)); min-height:310px; margin:0 auto; padding:55px 58px; display:flex; align-items:center; justify-content:space-between; gap:55px; overflow:hidden; border-radius:28px; color:#fff; background:linear-gradient(135deg,#102a43 0%,#17415f 70%,#126266 100%); box-shadow:0 28px 65px rgba(16,42,67,.16); }
.public-market-hero > div { max-width:690px; }
.market-kicker { display:inline-flex; align-items:center; gap:9px; color:#76ded4; font-size:13px; font-weight:800; }
.market-kicker i { width:8px; height:8px; border-radius:50%; background:#39d0bf; box-shadow:0 0 0 5px rgba(57,208,191,.13); }
.public-market-hero h1 { margin:16px 0 12px; font-size:clamp(38px,4.4vw,62px); letter-spacing:-.045em; line-height:1.35; }
.public-market-hero h1 em { color:#65d8cc; font-style:normal; }
.public-market-hero p { max-width:650px; margin:0; color:#bfd0dc; font-size:16px; line-height:1.9; }
.public-market-hero aside { min-width:340px; padding:20px; display:grid; grid-template-columns:12px 1fr; gap:8px 12px; align-items:center; border:1px solid rgba(255,255,255,.13); border-radius:17px; background:rgba(255,255,255,.07); backdrop-filter:blur(12px); }
.market-live-dot { width:9px; height:9px; border-radius:50%; background:#35d2c0; box-shadow:0 0 0 5px rgba(53,210,192,.12); }
.market-live-dot.bad { background:#f0788e; box-shadow:0 0 0 5px rgba(240,120,142,.12); }
.public-market-hero aside > div { display:flex; flex-direction:column; gap:5px; }
.public-market-hero aside small { color:#9fb5c5; font-size:12px; }
.public-market-hero aside strong { color:#fff; font-size:14px; }
.public-market-hero aside button { grid-column:1/-1; min-height:42px; margin-top:8px; border:1px solid rgba(255,255,255,.16); border-radius:10px; color:#fff; background:rgba(255,255,255,.08); font-size:13px; font-weight:800; }
.public-market-hero aside button:disabled { cursor:not-allowed; opacity:.55; }
.public-market-summary { width:min(1160px,calc(100% - 72px)); margin:-34px auto 0; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; position:relative; z-index:2; }
.public-market-summary article { min-height:125px; padding:20px; display:flex; flex-direction:column; border:1px solid #dfe7e8; border-radius:16px; background:#fff; box-shadow:0 13px 30px rgba(16,42,67,.07); }
.public-market-summary small { color:#718191; font-size:12px; }
.public-market-summary strong { margin-top:9px; font-size:25px; line-height:1.35; direction:ltr; text-align:right; }
.public-market-summary span { margin-top:auto; color:#8a98a5; font-size:11px; }
.public-market-notice, .public-market-disclosure { width:min(1160px,calc(100% - 48px)); margin:22px auto 0; padding:15px 17px; display:flex; align-items:flex-start; gap:13px; border:1px solid #ecd8af; border-radius:13px; color:#715a31; background:#fffaf0; }
.public-market-notice > span, .public-market-disclosure > span { width:27px; height:27px; flex:0 0 auto; display:grid; place-items:center; border-radius:8px; color:#744f12; background:#f6dda8; font-size:13px; font-weight:900; }
.public-market-notice p, .public-market-disclosure p { margin:0; font-size:13px; line-height:1.8; }
.public-market-notice strong, .public-market-disclosure strong { color:#5e461e; }
.public-market-panel { width:min(1160px,calc(100% - 48px)); margin:24px auto 0; overflow:hidden; border:1px solid #dfe6e8; border-radius:20px; background:#fff; box-shadow:0 15px 40px rgba(16,42,67,.06); }
.public-market-tools { padding:22px; display:grid; grid-template-columns:1fr 245px; gap:14px; align-items:end; }
.public-market-tools label { display:flex; flex-direction:column; gap:7px; color:#718191; font-size:12px; font-weight:700; }
.public-market-tools input, .public-market-tools select { width:100%; min-height:45px; padding:0 13px; border:1px solid #dce4e6; border-radius:10px; color:#14263a; background:#f9fbfb; font-size:14px; outline:none; }
.public-market-tools input:focus, .public-market-tools select:focus { border-color:#55cbbf; box-shadow:0 0 0 3px rgba(32,183,167,.12); }
.public-market-tabs { padding:0 22px 18px; display:flex; gap:7px; overflow-x:auto; }
.public-market-tabs button { min-height:37px; padding:0 14px; flex:0 0 auto; border:1px solid #dce4e6; border-radius:9px; color:#607181; background:#fff; font-size:12px; font-weight:700; }
.public-market-tabs button.active { color:#08766b; border-color:#91dcd4; background:#eaf9f7; }
.public-market-table-wrap { overflow-x:auto; border-top:1px solid #e6ecee; }
.public-market-table { width:100%; border-collapse:collapse; min-width:1020px; }
.public-market-table th { padding:12px 14px; color:#748391; background:#f6f8f8; text-align:right; white-space:nowrap; font-size:11px; }
.public-market-table td { padding:13px 14px; border-top:1px solid #edf1f2; color:#344a5d; white-space:nowrap; font-size:12px; }
.public-market-table tbody tr:hover { background:#f9fcfb; }
.market-asset-name { min-width:210px; display:flex; align-items:center; gap:10px; }
.market-asset-name > span, .market-card-head > span { width:36px; height:36px; flex:0 0 auto; display:grid; place-items:center; border-radius:10px; color:#08796f; background:#ddf6f2; font-weight:900; }
.market-asset-name > div, .market-card-head > div { display:flex; flex-direction:column; gap:4px; }
.market-asset-name strong { color:#152a3d; font-size:12px; }
.market-asset-name small { color:#8795a2; font-size:10px; }
.ltr-value { direction:ltr; display:inline-block; }
.market-row-link { width:30px; height:30px; display:grid; place-items:center; border-radius:8px; color:#08796f !important; background:#e5f7f4; font-size:15px; font-weight:900; }
.public-market-empty { padding:45px; color:#7d8b98; text-align:center; font-size:14px; }
.market-skeleton td { padding:16px; }
.market-skeleton span { height:34px; display:block; border-radius:8px; background:linear-gradient(90deg,#f2f5f5 25%,#e7eded 50%,#f2f5f5 75%); background-size:200% 100%; animation:market-shimmer 1.2s infinite; }
@keyframes market-shimmer { to { background-position:-200% 0; } }
.public-market-mobile-list { display:none; }
.public-market-pagination { padding:16px 22px; display:flex; align-items:center; justify-content:center; gap:20px; border-top:1px solid #e8edee; color:#6d7c8b; font-size:12px; }
.public-market-pagination button { min-height:36px; padding:0 16px; border:1px solid #dce4e6; border-radius:9px; color:#42586b; background:#fff; font-size:12px; font-weight:700; }
.public-market-pagination button:disabled { cursor:not-allowed; opacity:.4; }
.public-market-disclosure { margin-bottom:36px; border-color:#dce5e7; color:#617281; background:#f7f9f9; }
.public-market-disclosure > span { color:#0a6b62; background:#d9f2ee; }
.public-market-disclosure strong { display:block; margin-bottom:4px; color:#254055; }
.public-market-footer { width:min(1160px,calc(100% - 48px)); min-height:100px; margin:0 auto; padding:25px 0; display:flex; align-items:center; justify-content:space-between; gap:25px; border-top:1px solid #d8e1e3; color:#738391; font-size:12px; }
.public-market-footer div { display:flex; gap:18px; }

/* Public asset detail */
.asset-detail-shell { width:min(1160px,calc(100% - 48px)); margin:22px auto 55px; }
.asset-breadcrumb { display:flex; align-items:center; gap:9px; color:#748493; font-size:12px; }
.asset-breadcrumb a { color:#08796f; font-weight:800; }
.asset-detail-hero { min-height:230px; margin-top:17px; padding:38px 42px; display:flex; align-items:center; justify-content:space-between; gap:35px; border-radius:24px; color:#fff; background:linear-gradient(135deg,#102a43,#18425f 72%,#126064); box-shadow:0 24px 55px rgba(16,42,67,.15); }
.asset-identity { display:flex; align-items:center; gap:20px; }
.asset-identity > span { width:74px; height:74px; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,255,255,.16); border-radius:20px; color:#0c5951; background:#72ddcf; font-size:28px; font-weight:900; }
.asset-identity small { color:#79d8ce; font-size:12px; font-weight:800; }
.asset-identity h1 { margin:5px 0 4px; font-size:clamp(30px,4vw,48px); line-height:1.4; }
.asset-identity p { margin:0; color:#a9bdca; font-size:12px; direction:ltr; text-align:right; }
.asset-price { min-width:250px; display:flex; flex-direction:column; align-items:flex-start; }
.asset-price small { color:#a8bdcb; font-size:12px; }
.asset-price strong { margin:7px 0 5px; font-size:34px; direction:ltr; }
.asset-price span { font-size:14px; font-weight:900; direction:ltr; }
.asset-detail-grid { margin-top:18px; display:grid; grid-template-columns:1.25fr .75fr; gap:18px; }
.asset-detail-panel { padding:24px; border:1px solid #dfe6e8; border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(16,42,67,.05); }
.asset-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.asset-panel-heading small { color:#118b7e; font-size:11px; font-weight:800; }
.asset-panel-heading h2 { margin:5px 0 0; font-size:20px; }
.asset-panel-heading > span { color:#7f8e9b; font-size:11px; }
.asset-performance-bars { margin-top:27px; display:grid; gap:21px; }
.asset-performance-row { display:grid; grid-template-columns:110px 1fr 84px; gap:13px; align-items:center; }
.asset-performance-row > span { color:#657687; font-size:12px; }
.asset-performance-row > div { height:10px; position:relative; border-radius:8px; background:#edf1f2; direction:ltr; }
.asset-performance-row > div > i { width:1px; height:18px; position:absolute; top:-4px; left:50%; z-index:2; background:#9eabb4; }
.asset-performance-row b { height:10px; position:absolute; top:0; border-radius:8px; }
.asset-performance-row b.positive { left:50%; background:#21b9a8; }
.asset-performance-row b.negative { right:50%; background:#d65b72; }
.asset-performance-row > strong { text-align:left; direction:ltr; font-size:12px; }
.asset-range { margin-top:37px; }
.asset-range > div { height:10px; position:relative; border-radius:10px; background:linear-gradient(90deg,#d8e1e3,#39c6b6); direction:ltr; }
.asset-range > div i { width:18px; height:18px; position:absolute; top:50%; border:4px solid #fff; border-radius:50%; background:#173a54; box-shadow:0 2px 7px rgba(16,42,67,.25); transform:translate(50%,-50%); }
.asset-range > span { width:50%; margin-top:15px; display:inline-flex; flex-direction:column; gap:3px; }
.asset-range > span:last-child { align-items:flex-end; }
.asset-range b { font-size:12px; direction:ltr; }
.asset-range small, .asset-missing { color:#7c8b98; font-size:11px; }
.asset-missing { min-height:115px; display:grid; place-items:center; text-align:center; }
.asset-trading-panel { margin-top:18px; }
.asset-stat-grid { margin:22px 0 0; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #e4eaec; border-right:1px solid #e4eaec; }
.asset-stat-grid > div { min-height:96px; padding:16px; display:flex; flex-direction:column; gap:9px; border-left:1px solid #e4eaec; border-bottom:1px solid #e4eaec; }
.asset-stat-grid dt { color:#778795; font-size:11px; }
.asset-stat-grid dd { margin:0; color:#243e53; font-size:14px; font-weight:800; direction:ltr; text-align:right; }
.asset-disclosure { width:100%; }
.asset-state { min-height:420px; margin-top:17px; display:grid; place-content:center; justify-items:center; gap:15px; border:1px solid #dfe6e8; border-radius:22px; background:#fff; color:#5f7181; }
.asset-state.error strong { color:#ba4058; }
.asset-state a { color:#08796f; font-weight:800; }
.asset-loader { width:34px; height:34px; border:3px solid #dce7e7; border-top-color:#20b7a7; border-radius:50%; animation:history-spin .8s linear infinite; }

/* Landing market preview */
.landing-market-preview { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:100px 0 90px; }
.landing-market-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.landing-market-heading > div { max-width:700px; }
.landing-market-heading span { color:#0b8b7f; font-size:12px; font-weight:800; }
.landing-market-heading h2 { margin:9px 0 7px; color:#102a43; font-size:clamp(32px,4vw,48px); }
.landing-market-heading p { margin:0; color:#667686; font-size:15px; line-height:1.9; }
.landing-market-heading > a { min-height:46px; padding:0 17px; display:inline-flex; align-items:center; gap:17px; flex:0 0 auto; border:1px solid #cbd8d7; border-radius:11px; color:#23465c !important; background:#fff; font-size:13px; font-weight:800; }
.landing-market-heading > a b { color:#0a8c80; font-size:17px; }
.landing-market-grid { margin-top:35px; display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.landing-market-grid > a { min-height:145px; padding:18px; display:grid; grid-template-columns:1fr auto; gap:8px; border:1px solid #dce4e1; border-radius:16px; background:rgba(255,255,255,.72); box-shadow:0 10px 27px rgba(16,42,67,.045); transition:.18s ease; }
.landing-market-grid > a:hover { border-color:#99d9d1; background:#fff; transform:translateY(-3px); }
.landing-market-grid > a > div { display:flex; align-items:center; gap:9px; }
.landing-market-grid > a > div span { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#08796f; background:#ddf6f2; font-weight:900; }
.landing-market-grid > a > div small { color:#81909d; font-size:11px; direction:ltr; }
.landing-market-grid > a > strong { grid-column:1/-1; color:#19364c; font-size:14px; }
.landing-market-grid > a > b { align-self:end; color:#153348; font-size:15px; direction:ltr; text-align:right; }
.landing-market-grid > a > em { align-self:end; font-size:12px; font-style:normal; font-weight:900; direction:ltr; }
.landing-market-note { margin-top:17px; display:block; color:#85919a; font-size:11px; }
.landing-market-skeleton { min-height:145px; padding:18px; display:grid; gap:13px; border:1px solid #e0e7e4; border-radius:16px; background:rgba(255,255,255,.58); }
.landing-market-skeleton > * { display:block; border-radius:7px; background:#e6ece9; }
.landing-market-skeleton span { width:40px; height:34px; }
.landing-market-skeleton i { width:70%; height:15px; }
.landing-market-skeleton b { width:45%; height:18px; }
.landing-market-error { grid-column:1/-1; min-height:145px; padding:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; text-align:center; border:1px solid #f0c9c9; border-radius:16px; background:#fff7f7; color:#8d3434; }
.landing-market-error strong { font-size:16px; }
.landing-market-error span { color:#786b6b; font-size:13px; }

@media (max-width: 960px) {
  .public-market-hero { align-items:flex-start; flex-direction:column; }
  .public-market-hero aside { width:100%; min-width:0; }
  .public-market-summary { grid-template-columns:repeat(2,1fr); }
  .asset-detail-grid { grid-template-columns:1fr; }
  .asset-stat-grid { grid-template-columns:repeat(2,1fr); }
  .landing-market-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 720px) {
  .public-market-header { width:calc(100% - 28px); height:70px; }
  .public-market-header nav { display:none; }
  .public-market-header .landing-cta { min-height:40px; padding:0 13px; font-size:12px; }
  .public-market-hero { width:calc(100% - 28px); min-height:0; padding:36px 22px; border-radius:20px; gap:28px; }
  .public-market-hero h1 { font-size:37px; }
  .public-market-hero p { font-size:15px; }
  .market-kicker { font-size:12px; }
  .public-market-summary { width:calc(100% - 42px); margin-top:-20px; grid-template-columns:1fr 1fr; gap:8px; }
  .public-market-summary article { min-height:112px; padding:15px; }
  .public-market-summary strong { font-size:21px; }
  .public-market-notice, .public-market-panel, .public-market-disclosure, .public-market-footer, .asset-detail-shell { width:calc(100% - 28px); }
  .public-market-tools { padding:17px; grid-template-columns:1fr; }
  .public-market-tools label { font-size:13px; }
  .public-market-tabs { padding:0 17px 16px; }
  .public-market-tabs button { min-height:40px; font-size:12px; }
  .public-market-table-wrap { display:none; }
  .public-market-mobile-list { padding:0 14px 14px; display:grid; gap:10px; }
  .public-market-card { padding:15px; display:block; border:1px solid #e0e7e8; border-radius:13px; background:#fff; }
  .market-card-head { display:grid; grid-template-columns:38px 1fr auto; gap:9px; align-items:center; }
  .market-card-head strong { font-size:14px; }
  .market-card-head small { color:#83919d; font-size:11px; }
  .market-card-head > b { font-size:12px; direction:ltr; }
  .public-market-card dl { margin:14px 0 0; padding-top:12px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; border-top:1px solid #ebeff0; }
  .public-market-card dl > div { display:flex; flex-direction:column; gap:5px; }
  .public-market-card dt { color:#82909d; font-size:10px; }
  .public-market-card dd { margin:0; color:#263f53; font-size:11px; font-weight:800; direction:ltr; text-align:right; }
  .public-market-footer { align-items:flex-start; flex-direction:column; }
  .asset-detail-shell { margin-top:12px; }
  .asset-detail-hero { padding:28px 20px; align-items:flex-start; flex-direction:column; border-radius:19px; }
  .asset-identity { align-items:flex-start; }
  .asset-identity > span { width:54px; height:54px; border-radius:15px; font-size:22px; }
  .asset-identity h1 { font-size:31px; }
  .asset-price { min-width:0; }
  .asset-price strong { font-size:30px; }
  .asset-detail-panel { padding:19px 16px; }
  .asset-panel-heading { flex-direction:column; gap:6px; }
  .asset-performance-row { grid-template-columns:1fr 72px; }
  .asset-performance-row > div { grid-column:1/-1; grid-row:2; }
  .asset-performance-row > strong { grid-column:2; grid-row:1; }
  .asset-stat-grid { grid-template-columns:1fr 1fr; }
  .asset-stat-grid > div { min-height:90px; padding:13px; }
  .asset-stat-grid dt { font-size:11px; }
  .asset-stat-grid dd { font-size:12px; }
  .landing-market-preview { width:calc(100% - 28px); padding:75px 0; }
  .landing-market-heading { align-items:flex-start; flex-direction:column; gap:20px; }
  .landing-market-heading p { font-size:15px; }
  .landing-market-heading > a { width:100%; justify-content:center; font-size:14px; }
  .landing-market-grid { margin-top:25px; grid-template-columns:1fr; }
  .landing-market-grid > a { min-height:132px; }
  .landing-market-note { font-size:12px; line-height:1.8; }
}

@media (max-width: 420px) {
  .public-market-summary { grid-template-columns:1fr; }
  .public-market-card dl { grid-template-columns:1fr 1fr; }
  .asset-stat-grid { grid-template-columns:1fr; }
}
