:root {
  --bg: #f7f8fa;
  --surface: #ffffff;
  --surface-strong: #f0f3f5;
  --ink: #15181d;
  --muted: #68707b;
  --line: #dfe4e8;
  --green: #0f8b6f;
  --green-strong: #06634f;
  --blue: #2f62d6;
  --amber: #b7791f;
  --red: #c2413e;
  --violet: #6b4fd8;
  --shadow: 0 18px 50px rgba(35, 42, 52, 0.12);
  --radius: 8px;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
}

body {
  min-height: 100%;
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  font-size: 15px;
  letter-spacing: 0;
}

body.modal-open {
  overflow: hidden;
}

button,
input,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

.is-hidden {
  display: none !important;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.auth-view {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    linear-gradient(120deg, rgba(15, 139, 111, 0.08), transparent 42%),
    linear-gradient(300deg, rgba(47, 98, 214, 0.1), transparent 46%),
    var(--bg);
}

.auth-shell {
  width: min(980px, 100%);
  display: grid;
  grid-template-columns: minmax(280px, 420px) 1fr;
  gap: 24px;
  align-items: stretch;
}

.auth-shell-login {
  width: min(1040px, 100%);
  grid-template-columns: 1fr;
  gap: 14px;
}

.auth-brand,
.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.auth-brand {
  grid-column: 1 / -1;
}

.landing-page {
  min-height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  background: var(--bg);
}

.gadget-background {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.gadget-shape {
  position: absolute;
  left: 50%;
  top: 46%;
  opacity: 0;
  border: 2px solid rgba(21, 24, 29, 0.055);
  background: rgba(21, 24, 29, 0.014);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.58),
    0 28px 86px rgba(15, 139, 111, 0.035);
  transform: translate(-50%, -50%) scale(0.9);
  animation: gadget-cycle 42s ease-in-out infinite;
}

.gadget-phone {
  width: min(180px, 34vw);
  height: min(330px, 62vw);
  border-radius: 34px;
}

.gadget-phone::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 50%;
  width: 58px;
  height: 10px;
  border-radius: 999px;
  background: rgba(21, 24, 29, 0.05);
  transform: translateX(-50%);
}

.gadget-phone::after {
  content: "";
  position: absolute;
  right: 22px;
  bottom: 24px;
  left: 22px;
  height: 8px;
  border-radius: 999px;
  background: rgba(15, 139, 111, 0.045);
}

.gadget-laptop {
  width: min(430px, 70vw);
  height: min(250px, 38vw);
  border-radius: 18px;
  animation-delay: 6s;
}

.gadget-laptop::before {
  content: "";
  position: absolute;
  right: 24px;
  bottom: 22px;
  left: 24px;
  height: 1px;
  background: rgba(21, 24, 29, 0.055);
}

.gadget-laptop::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -22px;
  left: -34px;
  height: 20px;
  border: 2px solid rgba(21, 24, 29, 0.045);
  border-radius: 0 0 22px 22px;
  background: rgba(21, 24, 29, 0.012);
}

.gadget-speaker {
  width: min(260px, 50vw);
  height: min(260px, 50vw);
  border-radius: 50%;
  animation-delay: 12s;
}

.gadget-speaker::before,
.gadget-speaker::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}

.gadget-speaker::before {
  inset: 42px;
  border: 2px solid rgba(21, 24, 29, 0.045);
}

.gadget-speaker::after {
  inset: 96px;
  background: rgba(15, 139, 111, 0.05);
}

.gadget-tablet {
  width: min(300px, 56vw);
  height: min(390px, 70vw);
  border-radius: 30px;
  animation-delay: 18s;
}

.gadget-tablet::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(15, 139, 111, 0.05);
  transform: translateX(-50%);
}

.gadget-tablet::after {
  content: "";
  position: absolute;
  right: 96px;
  bottom: 20px;
  left: 96px;
  height: 7px;
  border-radius: 999px;
  background: rgba(21, 24, 29, 0.045);
}

.gadget-watch {
  width: min(170px, 36vw);
  height: min(210px, 44vw);
  border-radius: 42px;
  animation-delay: 24s;
}

.gadget-watch::before,
.gadget-watch::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 88px;
  height: 62px;
  border: 2px solid rgba(21, 24, 29, 0.045);
  background: rgba(21, 24, 29, 0.01);
  transform: translateX(-50%);
}

.gadget-watch::before {
  top: -62px;
  border-bottom: 0;
  border-radius: 28px 28px 0 0;
}

.gadget-watch::after {
  bottom: -62px;
  border-top: 0;
  border-radius: 0 0 28px 28px;
}

.gadget-airpods {
  width: min(290px, 58vw);
  height: min(230px, 48vw);
  border: 0;
  background: transparent;
  box-shadow: none;
  animation-delay: 30s;
}

.gadget-airpods::before,
.gadget-airpods::after {
  content: "";
  position: absolute;
  top: 18px;
  width: 76px;
  height: 170px;
  border: 2px solid rgba(21, 24, 29, 0.055);
  border-radius: 44px 44px 58px 58px;
  background: rgba(21, 24, 29, 0.014);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.58);
}

.gadget-airpods::before {
  left: 60px;
  transform: rotate(-8deg);
}

.gadget-airpods::after {
  right: 60px;
  transform: rotate(8deg);
}

.gadget-galaxy {
  width: min(170px, 34vw);
  height: min(330px, 62vw);
  border-radius: 30px;
  animation-delay: 36s;
}

.gadget-galaxy::before,
.gadget-galaxy::after {
  content: "";
  position: absolute;
  top: 16px;
  width: 124px;
  height: 286px;
  border: 2px solid rgba(21, 24, 29, 0.045);
  border-radius: 28px;
  background: rgba(15, 139, 111, 0.012);
}

.gadget-galaxy::before {
  left: -82px;
  transform: rotate(-7deg);
}

.gadget-galaxy::after {
  right: -82px;
  transform: rotate(7deg);
}

.landing-header {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px clamp(18px, 5vw, 64px);
}

.landing-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  text-decoration: none;
}

.landing-brand strong,
.auth-brand strong,
.app-brand strong {
  letter-spacing: 0;
}

.landing-brand small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.landing-main {
  flex: 1;
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  justify-items: center;
  padding: 32px clamp(18px, 5vw, 64px) 10px;
  text-align: center;
}

.landing-hero {
  width: min(760px, 100%);
  min-height: min(560px, 78vh);
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 18px;
  margin: 0 auto;
}

.landing-logo {
  width: min(340px, 76vw);
  height: auto;
  filter: drop-shadow(0 16px 30px rgba(21, 24, 29, 0.08));
}

.landing-copy {
  max-width: 640px;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 18px;
  font-weight: 650;
  line-height: 1.5;
}

.landing-intro {
  width: min(720px, 100%);
  color: var(--muted);
  font-size: 18px;
  font-weight: 750;
  line-height: 1.5;
}

.landing-intro p {
  margin-bottom: 0;
}

.landing-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

.landing-status .sync-dot {
  width: 10px;
  height: 10px;
}

.landing-language {
  min-height: 34px;
  grid-template-columns: repeat(2, 36px);
  margin: -2px 0 2px;
  background: rgba(255, 255, 255, 0.68);
  backdrop-filter: blur(10px);
}

.landing-actions {
  width: min(520px, 100%);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  justify-content: center;
  margin-top: 4px;
}

.landing-action {
  min-height: 68px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  padding: 14px 16px;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 18px 45px rgba(35, 42, 52, 0.1);
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.landing-action:hover {
  border-color: rgba(15, 139, 111, 0.24);
  box-shadow: 0 22px 56px rgba(35, 42, 52, 0.14);
  transform: translateY(-2px);
}

.landing-action-primary {
  border-color: rgba(15, 139, 111, 0.28);
  background: var(--green);
  color: #fff;
}

.landing-action span {
  color: inherit;
  font-size: 13px;
  font-weight: 800;
  opacity: 0.72;
}

.landing-action strong {
  font-size: 22px;
}

.landing-section {
  width: min(1120px, 100%);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 18px 50px rgba(35, 42, 52, 0.08);
  backdrop-filter: blur(12px);
  padding: 22px;
  text-align: left;
}

.landing-section h2 {
  max-width: 780px;
  font-size: 28px;
}

.landing-section p {
  color: var(--muted);
  font-weight: 700;
  line-height: 1.55;
}

.landing-copy-grid,
.landing-money,
.landing-payments {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 18px;
  align-items: start;
}

.flow-heading {
  margin-bottom: 18px;
}

.partnership-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  position: relative;
}

.partnership-flow article {
  min-height: 172px;
  position: relative;
  display: grid;
  align-content: start;
  gap: 8px;
  border: 1px solid #d8e6df;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff 0%, #f4faf7 100%);
  padding: 14px;
  animation: flow-card-pulse 5s ease-in-out infinite;
}

.partnership-flow article:nth-child(2) {
  animation-delay: 0.35s;
}

.partnership-flow article:nth-child(3) {
  animation-delay: 0.7s;
}

.partnership-flow article:nth-child(4) {
  animation-delay: 1.05s;
}

.partnership-flow article:nth-child(5) {
  animation-delay: 1.4s;
}

.partnership-flow article::after {
  content: "";
  position: absolute;
  top: 29px;
  right: -10px;
  width: 10px;
  height: 2px;
  background: #99c9b7;
}

.partnership-flow article:last-child::after {
  display: none;
}

.partnership-flow span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #0f8b6f;
  color: #fff;
  font-weight: 900;
}

.partnership-flow strong,
.split-board strong {
  color: var(--ink);
}

.partnership-flow p,
.split-board small {
  margin-bottom: 0;
  font-size: 13px;
  line-height: 1.45;
}

.split-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.split-board div {
  min-height: 156px;
  display: grid;
  align-content: start;
  gap: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}

.split-board span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.split-board strong {
  font-size: 24px;
}

.payment-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.payment-actions .secondary-action {
  min-width: 190px;
}

.powered-footer {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.powered-footer a {
  color: var(--green);
  text-decoration: none;
}

.powered-footer a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.landing-powered {
  position: relative;
  z-index: 1;
  padding: 18px clamp(18px, 5vw, 64px) 24px;
  text-align: center;
}

.ni-public {
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 18% 18%, rgba(15, 139, 111, 0.12), transparent 30%),
    radial-gradient(circle at 82% 12%, rgba(47, 98, 214, 0.1), transparent 26%),
    linear-gradient(135deg, #f5fbf8 0%, #f7f8fa 46%, #eef5f1 100%);
}

.investment-background {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.investment-background::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(21, 24, 29, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 24, 29, 0.035) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), transparent 78%);
}

.market-line {
  position: absolute;
  left: -10%;
  width: 120%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(15, 139, 111, 0.16), transparent);
  transform: rotate(-8deg);
  animation: market-drift 14s linear infinite;
}

.line-a {
  top: 25%;
}

.line-b {
  top: 48%;
  animation-delay: -5s;
  transform: rotate(6deg);
}

.line-c {
  top: 72%;
  animation-delay: -9s;
}

.floating-tile {
  position: absolute;
  min-width: 124px;
  border: 1px solid rgba(15, 139, 111, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.58);
  color: rgba(21, 24, 29, 0.42);
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 900;
  backdrop-filter: blur(12px);
  animation: tile-float 18s ease-in-out infinite;
}

.tile-phone {
  top: 22%;
  left: 5%;
}

.tile-watch {
  top: 20%;
  right: 8%;
  animation-delay: -4s;
}

.tile-laptop {
  bottom: 18%;
  left: 10%;
  animation-delay: -8s;
}

.tile-galaxy {
  right: 12%;
  bottom: 24%;
  animation-delay: -12s;
}

.public-header,
.public-main,
.public-footer {
  position: relative;
  z-index: 1;
}

.public-header {
  min-height: 74px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 22px;
  padding: 16px clamp(18px, 4.8vw, 70px);
  border-bottom: 1px solid rgba(211, 220, 226, 0.72);
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(18px);
  position: sticky;
  top: 0;
  z-index: 10;
}

.public-brand,
.public-nav,
.public-actions,
.hero-actions,
.public-footer nav {
  display: flex;
  align-items: center;
}

.public-brand {
  gap: 10px;
  color: var(--ink);
  font-size: 21px;
  font-weight: 950;
  text-decoration: none;
}

.public-brand img {
  width: 38px;
  height: 38px;
  border-radius: 8px;
}

.public-brand span span {
  color: var(--green);
}

.public-nav {
  justify-content: center;
  gap: 20px;
}

.public-nav a,
.public-footer a {
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
}

.public-actions {
  justify-content: flex-end;
  gap: 10px;
}

.public-login,
.hero-primary,
.hero-secondary {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 900;
  text-decoration: none;
}

.public-login,
.hero-primary {
  background: var(--ink);
  color: #fff;
  padding: 0 16px;
}

.hero-secondary {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  padding: 0 16px;
}

.public-main {
  display: grid;
  gap: 18px;
  padding: 38px clamp(18px, 4.8vw, 70px) 0;
}

.public-hero {
  min-height: calc(100vh - 112px);
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
  gap: clamp(24px, 4vw, 62px);
  align-items: center;
}

.hero-copy {
  display: grid;
  gap: 18px;
  text-align: left;
}

.hero-copy h1 {
  max-width: 760px;
  font-size: clamp(42px, 6.6vw, 86px);
  line-height: 0.94;
  letter-spacing: 0;
}

.hero-copy p:not(.landing-status) {
  max-width: 640px;
  color: var(--muted);
  font-size: 18px;
  font-weight: 760;
  line-height: 1.55;
}

.hero-actions {
  gap: 10px;
  flex-wrap: wrap;
}

.hero-dashboard,
.public-section {
  border: 1px solid rgba(211, 220, 226, 0.78);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 26px 76px rgba(35, 42, 52, 0.11);
  backdrop-filter: blur(18px);
}

.hero-dashboard {
  display: grid;
  gap: 14px;
  padding: 18px;
  transform: perspective(1200px) rotateY(-5deg) rotateX(2deg);
}

.dashboard-topline {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 14px;
  align-items: end;
}

.dashboard-topline span,
.hero-kpi-grid span,
.return-card span,
.metric-large span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.dashboard-topline strong {
  grid-row: span 2;
  color: var(--green);
  font-size: 60px;
  line-height: 0.9;
}

.dashboard-topline small,
.metric-large small,
.return-card small {
  color: var(--muted);
  font-weight: 750;
}

.hero-kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.hero-kpi-grid article,
.metric-large,
.return-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 14px;
}

.hero-kpi-grid strong,
.metric-large strong,
.return-card strong {
  display: block;
  margin-top: 8px;
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
}

.live-chart {
  height: 220px;
  display: flex;
  align-items: end;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(rgba(15, 139, 111, 0.08) 1px, transparent 1px),
    linear-gradient(180deg, #fff, #f2f8f5);
  background-size: 100% 44px;
  padding: 16px;
}

.live-chart span {
  flex: 1;
  border-radius: 8px 8px 4px 4px;
  background: linear-gradient(180deg, #0f8b6f, #b7dfcc);
  animation: bar-live 2.8s ease-in-out infinite;
}

.live-chart span:nth-child(even) {
  animation-delay: -1s;
}

.deal-stream {
  display: flex;
  gap: 10px;
  overflow: hidden;
}

.deal-stream div {
  min-width: 210px;
  border: 1px solid #d7e8df;
  border-radius: 8px;
  background: #f4faf7;
  padding: 12px;
  animation: stream-slide 12s linear infinite;
}

.deal-stream strong,
.deal-stream span {
  display: block;
}

.deal-stream span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.public-section {
  padding: 24px;
}

.section-heading {
  display: grid;
  gap: 6px;
  margin-bottom: 18px;
}

.section-heading h2 {
  max-width: 820px;
  font-size: clamp(28px, 3.2vw, 46px);
}

.motion-lane {
  display: flex;
  gap: 12px;
  overflow: hidden;
}

.motion-lane article {
  min-width: min(310px, 76vw);
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #eef9f4);
  padding: 18px;
  animation: lane-drift 16s ease-in-out infinite alternate;
}

.motion-lane span {
  width: 38px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--ink);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.motion-lane p,
.market-note {
  color: var(--muted);
  font-weight: 760;
  line-height: 1.5;
}

.performance-grid,
.comparison-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.comparison-board {
  grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
}

.metric-large {
  min-height: 190px;
  display: grid;
  align-content: space-between;
}

.metric-large strong {
  font-size: clamp(30px, 4vw, 52px);
}

.mini-line-chart {
  height: 112px;
  display: flex;
  align-items: end;
  gap: 8px;
  margin-top: 12px;
}

.mini-line-chart span {
  flex: 1;
  min-height: 20px;
  position: relative;
  border-radius: 8px 8px 4px 4px;
  background: linear-gradient(180deg, #f1c95a, #0f8b6f);
}

.mini-line-chart b {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 5px);
  color: var(--muted);
  font-size: 10px;
  transform: translateX(-50%);
}

.return-card {
  min-height: 162px;
  display: grid;
  align-content: space-between;
}

.return-card.is-featured {
  background: var(--ink);
  color: #fff;
}

.return-card.is-featured span,
.return-card.is-featured small {
  color: rgba(255, 255, 255, 0.72);
}

.return-card.is-featured strong {
  color: #fff;
  font-size: clamp(44px, 5vw, 72px);
}

.market-note {
  max-width: 840px;
  margin: 14px 0 0;
  font-size: 13px;
}

.public-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 24px;
  padding: 24px clamp(18px, 4.8vw, 70px);
  border-top: 1px solid rgba(211, 220, 226, 0.8);
  background: rgba(255, 255, 255, 0.72);
}

.public-footer div {
  display: grid;
  gap: 3px;
}

.public-footer span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.public-footer small,
.public-disclaimer,
.public-powered {
  font-size: 11px;
  line-height: 1.45;
  color: var(--muted);
  max-width: 560px;
}

.public-powered a {
  color: var(--emerald);
  text-decoration: none;
}

.public-powered a:hover {
  text-decoration: underline;
}

.public-footer nav {
  justify-content: flex-end;
  gap: 16px;
  flex-wrap: wrap;
}

.contact-main {
  max-width: 980px;
  margin: 0 auto;
  width: 100%;
  display: grid;
  gap: 18px;
}

.contact-main h1 {
  margin: 0;
  font-size: clamp(32px, 3vw, 44px);
}

.contact-main p {
  margin: 0;
  color: var(--muted);
}

.contact-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contact-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(16, 22, 23, 0.01);
}

.contact-card strong {
  display: block;
  margin-bottom: 6px;
}

.contact-card a {
  text-decoration: none;
  color: #0d3b2e;
}

.contact-card a:hover {
  text-decoration: underline;
}

@keyframes market-drift {
  from {
    transform: translateX(-8%) rotate(-8deg);
  }

  to {
    transform: translateX(8%) rotate(-8deg);
  }
}

@keyframes tile-float {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-18px);
  }
}

@keyframes bar-live {
  0%,
  100% {
    filter: saturate(1);
    transform: scaleY(0.96);
  }

  50% {
    filter: saturate(1.2);
    transform: scaleY(1.04);
  }
}

@keyframes stream-slide {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-230px);
  }
}

@keyframes lane-drift {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-52px);
  }
}

@keyframes gadget-cycle {
  0%,
  7% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.9) rotate(-1.5deg);
  }

  11%,
  19% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(0deg);
  }

  25%,
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.07) rotate(1.5deg);
  }
}

@keyframes flow-card-pulse {
  0%,
  100% {
    border-color: #d8e6df;
    box-shadow: none;
    transform: translateY(0);
  }

  45% {
    border-color: rgba(15, 139, 111, 0.38);
    box-shadow: 0 12px 30px rgba(15, 139, 111, 0.1);
    transform: translateY(-2px);
  }
}

.auth-powered,
.portal-powered {
  text-align: center;
}

.portal-powered {
  margin-top: 18px;
}

.auth-language {
  margin-left: auto;
}

.brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: var(--radius);
  background: var(--ink);
  overflow: hidden;
  flex: 0 0 auto;
}

.brand-mark img {
  width: 42px;
  height: 42px;
  display: block;
}

.auth-brand span,
.sidebar-brand span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 13px;
}

.login-panel,
.auth-snapshot,
.metric-card,
.chart-panel,
.table-panel,
.detail-panel,
.filter-bar,
.report-tile,
.timeline-panel,
.presentation-hero,
.presentation-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.login-panel {
  padding: 28px;
}

.panel-heading {
  margin-bottom: 24px;
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  margin-bottom: 0;
  font-size: 32px;
  line-height: 1.1;
}

h2 {
  margin-bottom: 0;
  font-size: 28px;
  line-height: 1.15;
}

h3 {
  margin-bottom: 10px;
  font-size: 18px;
}

.field {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
  color: var(--muted);
  font-weight: 700;
}

.field input,
.field select,
.filter-bar input,
.filter-bar select,
.inline-input {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  padding: 10px 12px;
  outline: none;
}

.field input:focus,
.filter-bar input:focus,
.filter-bar select:focus,
.inline-input:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(47, 98, 214, 0.14);
}

.primary-action,
.secondary-action,
.ghost-button,
.small-action,
.danger-action,
.icon-action {
  min-height: 38px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 13px;
  font-weight: 800;
  white-space: nowrap;
}

.primary-action {
  width: 100%;
  background: var(--green);
  color: #fff;
}

.primary-action:hover {
  background: var(--green-strong);
}

.secondary-action {
  background: #edf4ff;
  color: var(--blue);
  border-color: #c9d8ff;
}

.ghost-button {
  background: #fff;
  color: var(--ink);
  border-color: var(--line);
}

.install-action {
  color: var(--green);
}

.auth-install-action {
  width: 100%;
  margin-top: 10px;
}

.form-link-row {
  display: flex;
  justify-content: flex-end;
  margin: -8px 0 14px;
}

.auth-link {
  color: var(--green);
  font-size: 13px;
}

.auth-note {
  margin: -4px 0 14px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.small-action {
  min-height: 32px;
  padding: 6px 9px;
  background: var(--ink);
  color: #fff;
  font-size: 13px;
}

.danger-action {
  background: #fff4f4;
  color: var(--red);
  border-color: #f4caca;
}

.icon-action {
  width: 38px;
  min-width: 38px;
  padding: 7px;
  background: #fff;
  color: var(--blue);
  border-color: var(--line);
}

.icon-action:hover {
  border-color: #a9bde9;
  background: #f4f7ff;
}

.button-icon {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
}

.auth-snapshot {
  padding: 28px;
  display: grid;
  align-content: center;
  gap: 22px;
}

.auth-snapshot div {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.auth-snapshot div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.metric-label {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.auth-snapshot strong {
  display: block;
  margin-top: 6px;
  font-size: 30px;
}

.portal-view {
  min-height: 100vh;
  display: block;
}

.app-header {
  min-height: 70px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 14px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 20;
  padding: 12px 22px;
}

.app-brand {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.app-brand span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 13px;
}

.sidebar {
  min-height: 100vh;
  border-right: 1px solid var(--line);
  background: #fff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: sticky;
  top: 0;
}

.main-nav {
  grid-column: 1 / -1;
  grid-row: 2;
  min-width: 0;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: thin;
}

body[data-portal="admin"] .main-nav.admin-nav {
  grid-column: 1;
  grid-row: 2;
  gap: 10px;
  padding: 3px;
  width: fit-content;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-strong);
}

body[data-portal="admin"] .main-nav.admin-nav .nav-item {
  border: 1px solid #cfe2d5;
  border-radius: 9px;
  background: #fff;
  color: var(--ink);
  min-height: 38px;
  gap: 8px;
  padding: 7px 12px;
  font-weight: 900;
  box-shadow: 0 1px 2px rgba(16, 24, 40, 0.12);
}

body[data-portal="admin"] .main-nav.admin-nav .nav-item:hover {
  border-color: #a8ccb9;
  background: #edf7f2;
}

body[data-portal="admin"] .main-nav.admin-nav .nav-item.is-active {
  border-color: #0f8b6f;
  background: #0f8b6f;
  color: #fff;
}

body[data-portal="admin"] .main-nav.admin-nav .nav-item.is-active .nav-icon {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

body[data-portal="admin"] .main-nav.admin-nav .nav-icon {
  width: 20px;
  height: 20px;
  border-radius: 6px;
  background: #e9f4ef;
  color: #0f8b6f;
}

body[data-portal="admin"] .sync-status .live-status,
body[data-portal="admin"] .sync-status .risk-status {
  border: 0;
  padding: 0;
  min-height: auto;
  background: transparent;
}

.topbar-actions {
  grid-column: 2;
  grid-row: 1;
}

.nav-item {
  width: auto;
  min-height: 36px;
  flex: 0 0 auto;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: transparent;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 7px 10px;
  text-align: left;
  font-weight: 800;
}

.nav-item:hover,
.nav-item.is-active {
  border-color: var(--line);
  background: var(--surface-strong);
  color: var(--ink);
}

.nav-icon {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  display: grid;
  place-items: center;
  background: #e8f3ef;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}

.text-action {
  min-height: auto;
  border: 0;
  background: transparent;
  color: var(--ink);
  padding: 0;
  font-weight: 900;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: rgba(47, 98, 214, 0.35);
  text-underline-offset: 4px;
}

.sidebar-footer {
  margin-top: auto;
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.sync-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(15, 139, 111, 0.12);
  animation: live-pulse 1.2s ease-in-out infinite;
}

.main-shell {
  min-width: 0;
  padding: 14px 22px 22px;
}

.topbar {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}

.topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.language-switch {
  min-height: 38px;
  display: inline-grid;
  grid-template-columns: repeat(2, 38px);
  align-items: stretch;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface-strong);
  padding: 2px;
}

.language-option {
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.language-option.is-active {
  background: #fff;
  color: var(--ink);
  box-shadow: 0 1px 3px rgba(35, 42, 52, 0.12);
}

.sync-status {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 24px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  margin-left: 8px;
}

.sync-status .live-status,
.sync-status .risk-status {
  height: 28px;
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  color: var(--muted);
  line-height: 1;
  white-space: nowrap;
}

.sync-status .sync-dot,
.sync-status .risk-dot {
  display: block;
  flex: 0 0 auto;
  align-self: center;
  margin: 0;
}

.sync-status #syncLabel,
.sync-status .risk-label {
  display: block !important;
  align-self: center;
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: 12px;
  line-height: 1;
}

.risk-status {
  --risk-rgb: 15, 139, 111;
  position: relative;
  min-height: 28px;
  border: 0;
  border-radius: 99px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  padding: 0 8px 0 14px;
  font: inherit;
  letter-spacing: 0;
}

.risk-status::before {
  content: "";
  position: absolute;
  left: -13px;
  top: 50%;
  width: 1px;
  height: 18px;
  background: var(--line);
  transform: translateY(-50%);
}

.risk-status:hover,
.risk-status.is-open {
  color: var(--ink);
}

.risk-dot {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: rgb(var(--risk-rgb));
  box-shadow: 0 0 0 4px rgba(var(--risk-rgb), 0.14);
  animation: risk-pulse 1.45s ease-in-out infinite;
}

.risk-popover {
  position: absolute;
  z-index: 20;
  top: 32px;
  left: 0;
  width: 240px;
  max-width: calc(100vw - 34px);
  display: none;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  padding: 9px 10px;
  box-shadow: 0 16px 38px rgba(21, 24, 29, 0.14);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
}

.risk-status:not(.is-open) .risk-popover {
  display: none;
}

.risk-status.is-open .risk-popover {
  display: block;
}

@keyframes live-pulse {
  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 0 3px rgba(15, 139, 111, 0.18);
  }

  50% {
    opacity: 0.45;
    box-shadow: 0 0 0 7px rgba(15, 139, 111, 0.04);
  }
}

@keyframes risk-pulse {
  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 0 4px rgba(var(--risk-rgb), 0.18);
  }

  50% {
    opacity: 0.5;
    box-shadow: 0 0 0 8px rgba(var(--risk-rgb), 0.04);
  }
}

.content {
  display: grid;
  gap: 14px;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.compact-metric-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.metric-card {
  position: relative;
  min-height: 104px;
  padding: 14px 42px 14px 14px;
  box-shadow: none;
}

.metric-card.is-compact {
  min-height: 82px;
  padding: 12px 40px 12px 12px;
}

.metric-card strong {
  display: block;
  margin-top: 8px;
  font-size: 24px;
  line-height: 1.05;
}

.metric-card.is-compact strong {
  font-size: 20px;
}

.metric-info {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 6;
}

.metric-info summary {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--muted);
  cursor: pointer;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  list-style: none;
}

.metric-info summary::-webkit-details-marker {
  display: none;
}

.metric-info[open] summary {
  border-color: #b7c7d4;
  color: var(--ink);
}

.metric-popover {
  position: absolute;
  top: 31px;
  right: 0;
  width: 206px;
  max-width: calc(100vw - 42px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  padding: 9px 10px;
  box-shadow: 0 16px 38px rgba(21, 24, 29, 0.14);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.trend {
  color: var(--green);
}

.trend.warn {
  color: var(--amber);
}

.trend.bad {
  color: var(--red);
}

.dashboard-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 14px;
}

.dashboard-grid-tight {
  grid-template-columns: minmax(0, 1fr) 380px;
}

.operation-stage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.stage-panel .table-header {
  align-items: flex-start;
}

.stage-panel .table-header h3 {
  margin-bottom: 0;
}

.stage-list {
  display: grid;
}

.stage-item {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto auto auto;
  align-items: center;
  gap: 14px;
  min-height: 72px;
  border-top: 1px solid var(--line);
  padding: 10px 0;
}

.stage-identity {
  min-width: 0;
}

.stage-identity > span,
.stage-value span,
.stage-progress span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.stage-identity > span {
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.stage-value,
.stage-progress {
  text-align: right;
  white-space: nowrap;
}

.stage-value strong,
.stage-progress strong {
  display: block;
  margin-top: 4px;
}

.stage-empty,
.empty-table {
  color: var(--muted);
  font-weight: 700;
  text-align: center;
}

.stage-empty {
  border-top: 1px solid var(--line);
  padding: 24px 12px 12px;
}

.chart-panel,
.table-panel,
.detail-panel,
.timeline-panel {
  min-width: 0;
  padding: 16px;
  box-shadow: none;
}

.chart-bars {
  height: 260px;
  display: flex;
  align-items: end;
  gap: 14px;
  padding-top: 20px;
}

.chart-bars.is-compact {
  height: 210px;
}

.bar-group {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 8px;
  align-items: end;
}

.bar {
  width: 100%;
  min-height: 22px;
  border-radius: 6px 6px 0 0;
  background: var(--blue);
}

.bar.is-green {
  background: var(--green);
}

.bar.is-amber {
  background: var(--amber);
}

.bar-label {
  min-height: 38px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.risk-stack {
  display: grid;
  gap: 10px;
}

.risk-compact {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.summary-list {
  display: grid;
  gap: 0;
}

.summary-list div {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
}

.summary-list div:last-child {
  border-bottom: 0;
}

.summary-list span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.summary-list strong {
  text-align: right;
}

.risk-row {
  display: grid;
  grid-template-columns: 88px 1fr 52px;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font-weight: 800;
}

.risk-track {
  height: 10px;
  border-radius: 99px;
  background: var(--surface-strong);
  overflow: hidden;
}

.default-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
}

.default-strip div {
  min-height: 62px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcfd;
}

.default-strip span,
.fact-item span,
.presentation-stat span,
.story-line span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.default-strip strong {
  display: block;
  margin-top: 6px;
}

.presentation-hero {
  min-height: 230px;
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  align-items: center;
  box-shadow: none;
}

.presentation-hero h3 {
  margin-bottom: 12px;
  font-size: 30px;
}

.presentation-hero p,
.presentation-panel p {
  margin-bottom: 0;
  color: #4f5965;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 650;
}

.hero-metrics,
.company-facts,
.presentation-grid,
.story-line {
  display: grid;
  gap: 12px;
}

.hero-metrics {
  grid-template-columns: 1fr;
}

.presentation-stat,
.fact-item {
  min-height: 72px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcfd;
}

.presentation-stat strong,
.fact-item strong {
  display: block;
  margin-top: 6px;
  font-size: 18px;
}

.presentation-grid {
  grid-template-columns: 1fr 1fr;
}

.presentation-panel {
  padding: 18px;
  box-shadow: none;
}

.presentation-panel p + p {
  margin-top: 12px;
}

.clean-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-left: 20px;
  color: #4f5965;
  font-weight: 700;
  line-height: 1.45;
}

.company-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.story-line {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.story-line div {
  min-height: 96px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcfd;
}

.story-line strong {
  display: block;
  margin-top: 8px;
  line-height: 1.35;
}

.risk-fill {
  height: 100%;
  border-radius: inherit;
  background: var(--green);
}

.risk-fill.medium {
  background: var(--amber);
}

.risk-fill.high {
  background: var(--red);
}

.table-panel {
  overflow: hidden;
}

.operation-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}

.operation-code {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.operation-code .icon-action {
  width: 32px;
  min-width: 32px;
  min-height: 32px;
  padding: 5px;
}

.operation-code .chart-button-icon {
  width: 17px;
  height: 15px;
}

.chart-button-icon {
  width: 19px;
  height: 18px;
  display: inline-flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
}

.chart-button-icon i {
  width: 4px;
  border-radius: 2px 2px 0 0;
  background: currentColor;
}

.chart-button-icon i:nth-child(1) {
  height: 7px;
}

.chart-button-icon i:nth-child(2) {
  height: 12px;
}

.chart-button-icon i:nth-child(3) {
  height: 17px;
}

.table-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.collapsible-generated-header {
  margin-bottom: 12px;
}

.collapse-toggle {
  width: 32px;
  min-width: 32px;
  height: 32px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  color: var(--ink);
  display: inline-grid;
  place-items: center;
  padding: 0;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.collapse-toggle:hover {
  border-color: #b9c3cc;
  background: var(--surface-strong);
}

.collapsible-panel.is-collapsed > :not(.table-header) {
  display: none !important;
}

.collapsible-panel.is-collapsed > .table-header {
  margin-bottom: 0;
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 12px 10px;
  text-align: left;
  vertical-align: middle;
}

.compact-table th,
.compact-table td {
  padding: 9px 8px;
}

.compact-table table {
  min-width: 820px;
}

.dashboard-grid .compact-table table {
  min-width: 650px;
}

th {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  white-space: nowrap;
}

td {
  font-weight: 650;
}

tbody tr:hover {
  background: #fbfcfd;
}

.status,
.risk-badge {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  border-radius: 99px;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.status {
  background: #edf4ff;
  color: var(--blue);
}

.status.success {
  background: #e8f3ef;
  color: var(--green);
}

.status.warn {
  background: #fff3dc;
  color: var(--amber);
}

.status.bad {
  background: #fff0ef;
  color: var(--red);
}

.workflow-indicator {
  --workflow-rgb: 79, 130, 185;
  --workflow-fill: #284c75;
  position: relative;
  z-index: 1;
  display: inline-flex;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  vertical-align: middle;
  outline: none;
}

.workflow-indicator.is-released {
  --workflow-rgb: 63, 155, 117;
  --workflow-fill: #245f49;
}

.workflow-indicator.is-needs-configuration {
  --workflow-rgb: 200, 91, 89;
  --workflow-fill: #773734;
}

.workflow-indicator.is-ready-for-review {
  --workflow-rgb: 79, 130, 185;
  --workflow-fill: #284c75;
}

.workflow-indicator-orb {
  position: relative;
  display: inline-flex;
  width: 16px;
  height: 16px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(var(--workflow-rgb), 0.58);
  border-radius: 50%;
  background: var(--workflow-fill);
  color: #fffdf8;
  box-shadow:
    0 0 0 2px rgba(var(--workflow-rgb), 0.08),
    0 0 8px rgba(var(--workflow-rgb), 0.3);
}

.workflow-indicator-orb::after {
  position: absolute;
  inset: -4px;
  border: 1px solid rgba(var(--workflow-rgb), 0.22);
  border-radius: inherit;
  content: "";
  opacity: 0;
  animation: workflow-status-pulse 3.4s ease-out infinite;
}

.workflow-indicator-symbol {
  position: relative;
  z-index: 1;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}

.workflow-indicator::after {
  position: absolute;
  bottom: calc(100% + 7px);
  left: 50%;
  z-index: 20;
  width: max-content;
  max-width: 190px;
  padding: 5px 7px;
  border: 1px solid rgba(184, 202, 193, 0.18);
  border-radius: 4px;
  background: #101915;
  color: #fffdf8;
  box-shadow: 0 8px 20px rgba(6, 16, 13, 0.18);
  content: attr(data-tooltip);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.01em;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  text-transform: none;
  transform: translate(-50%, 3px);
  transition: opacity 140ms ease, transform 140ms ease;
  white-space: nowrap;
}

.workflow-indicator:hover::after,
.workflow-indicator:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.workflow-indicator:focus-visible {
  box-shadow: 0 0 0 2px rgba(var(--workflow-rgb), 0.24);
}

@keyframes workflow-status-pulse {
  0%, 64%, 100% {
    opacity: 0;
    transform: scale(0.82);
  }
  76% {
    opacity: 0.42;
  }
  94% {
    opacity: 0;
    transform: scale(1.2);
  }
}

@media (prefers-reduced-motion: reduce) {
  .workflow-indicator-orb::after {
    animation: none;
  }
}

.system-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  border: 1px solid rgba(15, 139, 111, 0.18);
  border-radius: 8px;
  background: rgba(15, 139, 111, 0.08);
  padding: 10px 12px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.netmore-field-summary {
  flex: 1 1 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 6px;
  min-width: 0;
}

.netmore-field-summary span {
  display: grid;
  gap: 2px;
  min-width: 0;
  border: 1px solid rgba(15, 139, 111, 0.16);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.58);
  padding: 7px 8px;
  overflow-wrap: anywhere;
}

.netmore-field-summary strong {
  color: var(--ink);
}

.system-notice + .system-notice,
.system-notice + .admin-grid {
  margin-top: 10px;
}

.system-notice strong {
  color: var(--green);
}

.system-notice b {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  letter-spacing: 0;
}

.system-notice.is-warn {
  border-color: rgba(201, 139, 14, 0.25);
  background: rgba(251, 191, 36, 0.13);
}

.system-notice.is-warn strong {
  color: #9a6700;
}

.system-notice.is-success {
  border-color: rgba(15, 139, 111, 0.25);
  background: rgba(15, 139, 111, 0.1);
}

.risk-badge.low {
  background: #e8f3ef;
  color: var(--green);
}

.risk-badge.medium {
  background: #fff3dc;
  color: var(--amber);
}

.risk-badge.high {
  background: #fff0ef;
  color: var(--red);
}

.opportunity-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
}

.filter-bar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 150px 170px 145px;
  gap: 10px;
  padding: 12px;
  box-shadow: none;
}

.detail-panel {
  align-self: start;
  position: sticky;
  top: 22px;
}

.detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 16px 0;
}

.decision-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
}

.decision-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px;
  gap: 18px;
  align-items: center;
  margin-bottom: 14px;
}

.decision-hero h3 {
  font-size: 24px;
}

.decision-hero p {
  margin-bottom: 0;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.45;
}

.decision-score {
  min-height: 120px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: grid;
  place-items: center;
  padding: 12px;
  text-align: center;
  background: #fbfcfd;
}

.decision-score span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.decision-score strong {
  font-size: 42px;
  line-height: 1;
}

.decision-metric-grid,
.decision-grid {
  display: grid;
  gap: 14px;
}

.decision-metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 14px;
}

.decision-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 14px;
}

.fact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.document-list,
.score-factor-list {
  display: grid;
  gap: 10px;
}

.document-item,
.score-factor-list div {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
}

.document-item:last-child,
.score-factor-list div:last-child {
  border-bottom: 0;
}

.score-track {
  height: 12px;
  border-radius: 99px;
  background: var(--surface-strong);
  overflow: hidden;
  margin: 2px 0 14px;
}

.score-track div {
  height: 100%;
  border-radius: inherit;
  background: var(--green);
}

.score-inline {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.score-inline span {
  color: var(--muted);
  font-weight: 900;
  font-size: 12px;
}

.detail-item {
  min-height: 72px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcfd;
}

.detail-item span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.detail-item strong {
  display: block;
  margin-top: 6px;
}

.split-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.wallet-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.subtab-bar {
  display: inline-flex;
  gap: 4px;
  margin-bottom: 14px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}

.admin-subtab-bar {
  width: fit-content;
  margin-bottom: 10px;
  background: #f3faf7;
}

.subtab {
  min-height: 34px;
  border: 0;
  border-radius: calc(var(--radius) - 2px);
  background: transparent;
  color: var(--muted);
  padding: 7px 12px;
  font-weight: 850;
}

.subtab.is-active {
  background: var(--surface-strong);
  color: var(--ink);
}

.timeline {
  display: grid;
  gap: 12px;
}

.timeline-item {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 12px;
  align-items: center;
  min-height: 58px;
  border-bottom: 1px solid var(--line);
}

.timeline-item:last-child {
  border-bottom: 0;
}

.timeline-date {
  color: var(--muted);
  font-weight: 800;
}

.admin-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 18px;
}

.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.admin-form-grid.is-single {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-form-wide {
  grid-column: 1 / -1;
}

.access-form-grid {
  align-items: end;
  margin-bottom: 18px;
}

.action-field {
  justify-content: flex-end;
}

.admin-main-action {
  width: auto;
}

.cash-metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cash-form-grid {
  display: grid;
  grid-template-columns: 180px minmax(220px, 1fr) auto;
  align-items: end;
  gap: 12px;
}

.cash-form-grid .field {
  margin-bottom: 0;
}

.cash-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 1px;
}

.withdrawal-form-grid {
  grid-template-columns: 180px minmax(220px, 1fr) auto;
}

.admin-cash-form-grid {
  grid-template-columns: minmax(180px, 0.85fr) 170px minmax(220px, 1fr) auto;
}

.admin-account-grid {
  grid-template-columns: 1.1fr 0.9fr;
}

.admin-management-metrics {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.admin-management-metrics .metric-card:nth-child(odd),
.admin-snapshot-item.is-success {
  background: #f2faf7;
}

.admin-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.admin-comparison-panel,
.admin-snapshot-panel {
  min-height: 220px;
}

.admin-compare-list,
.admin-snapshot-grid {
  display: grid;
  gap: 8px;
}

.admin-compare-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  border-bottom: 1px solid var(--line);
}

.admin-compare-row:last-child {
  border-bottom: 0;
}

.admin-compare-row span,
.admin-compare-row small,
.admin-snapshot-item span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}

.admin-compare-row strong {
  white-space: nowrap;
}

.admin-snapshot-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-snapshot-item {
  min-height: 58px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcfd;
  padding: 10px;
  width: 100%;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.admin-snapshot-item:hover,
.admin-snapshot-item:focus-visible,
.metric-card-navigable:hover,
.metric-card-navigable:focus-within {
  transform: translateY(-1px);
  border-color: var(--admin-line-strong);
  box-shadow: 0 8px 20px rgba(20, 42, 34, 0.08);
}

.admin-snapshot-item:focus-visible,
.metric-card-action:focus-visible {
  outline: 2px solid #47745f;
  outline-offset: 2px;
}

.metric-card-navigable {
  position: relative;
  padding: 0;
}

.metric-card-action {
  display: grid;
  width: 100%;
  min-height: inherit;
  padding: 14px 42px 14px 14px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.metric-card.is-compact .metric-card-action {
  padding: 12px 40px 12px 12px;
}

.metric-card-action strong {
  align-self: end;
}

.metric-card-arrow {
  position: absolute;
  right: 12px;
  bottom: 10px;
  color: var(--admin-muted);
  font-size: 13px;
}

.metric-card-navigable .metric-info {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
}

.reconciliation-queue {
  margin-bottom: var(--space-4);
}

.reconciliation-queue-list {
  display: grid;
  gap: 10px;
}

.reconciliation-queue-card {
  border: 1px solid var(--admin-line);
  background: var(--admin-surface-raised);
  padding: 12px;
}

.reconciliation-queue-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.reconciliation-queue-heading h3 {
  margin: 2px 0 0;
  font-size: 15px;
}

.reconciliation-evidence-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.reconciliation-evidence-item {
  min-width: 0;
  border-top: 1px solid var(--admin-line);
  padding-top: 7px;
}

.reconciliation-evidence-item span,
.reconciliation-evidence-item strong {
  display: block;
  overflow-wrap: anywhere;
}

.reconciliation-evidence-item span {
  color: var(--admin-muted);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.reconciliation-evidence-item strong {
  margin-top: 3px;
  font-size: 12px;
}

.reconciliation-actions {
  margin-top: 12px;
}

.partner-payment-actions {
  display: grid;
  gap: 5px;
}

.payment-report-help {
  margin-top: 8px;
}

.partner-credit-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
  padding: 10px;
  border: 1px solid var(--line);
  background: var(--surface);
}

.partner-credit-strip div {
  min-width: 0;
}

.partner-credit-strip span,
.partner-credit-account span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.partner-credit-strip strong {
  display: block;
  margin-top: 3px;
}

.partner-credit-strip p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.partner-credit-account-list {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.partner-credit-account {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) repeat(2, minmax(120px, .7fr));
  gap: 10px;
  align-items: start;
  padding: 10px;
  border: 1px solid var(--admin-line);
  background: var(--admin-surface-raised);
}

.partner-credit-account > div > strong,
.partner-credit-account > div > span {
  display: block;
}

.unallocated-credit-row {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--admin-line);
}

.partner-credit-form {
  margin-top: 12px;
}

.admin-snapshot-item.is-warn {
  background: #fff9ee;
}

.admin-snapshot-item strong {
  display: block;
  margin-top: 5px;
  font-size: 18px;
}

.admin-account-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.admin-account-metrics .presentation-stat {
  min-height: auto;
  padding: 2px 10px 2px 0;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}

.admin-account-metrics .presentation-stat:last-child {
  border-right: 0;
}

.credential-stack {
  display: grid;
  gap: 2px;
}

.credential-stack span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.pin-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  letter-spacing: 0;
}

.access-actions {
  min-width: 126px;
  gap: 5px;
}

.access-actions .small-action {
  min-height: 28px;
  padding: 5px 7px;
  font-size: 11px;
}

.access-card-list {
  display: grid;
  gap: 8px;
}

.passkey-management-panel{
  gap:10px;
}

.passkey-management-panel>.secondary-action{
  justify-self:start;
}

.passkey-list{
  margin-top:8px;
}

.access-card {
  display: grid;
  gap: 8px;
  border-top: 1px solid var(--line);
  padding: 10px 0 0;
}

.access-card:first-child {
  border-top: 0;
}

.access-card strong,
.access-card span,
.access-card small {
  display: block;
}

.access-card > div:first-child span,
.access-card small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.access-card-meta,
.access-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}

.access-card-meta > span {
  color: var(--muted);
  font-weight: 900;
}

.partner-email-action-list {
  margin-bottom: 12px;
}

.partner-email-action-card .small-action {
  min-width: 168px;
}

.withdrawal-request-list {
  display: grid;
  gap: 10px;
}

.withdrawal-request-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.withdrawal-request-item:last-child {
  border-bottom: 0;
}

.withdrawal-request-item strong,
.withdrawal-request-item span,
.withdrawal-request-item small {
  display: block;
}

.withdrawal-request-item span,
.withdrawal-request-item small {
  margin-top: 3px;
  color: var(--muted);
}

.transaction-investor {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.transaction-table {
  min-width: 900px;
}

.amount-positive {
  color: var(--green);
}

.amount-negative {
  color: var(--red);
}

.inline-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.inline-input {
  width: 76px;
  min-height: 34px;
  padding: 6px 8px;
}

.report-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.report-tile {
  min-height: 168px;
  padding: 18px;
  display: grid;
  align-content: space-between;
  box-shadow: none;
}

.report-tile p {
  margin-bottom: 14px;
  color: var(--muted);
  font-weight: 650;
}

.analysis-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(21, 24, 29, 0.58);
}

.analysis-dialog {
  width: min(920px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  position: relative;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  padding: 24px;
  box-shadow: var(--shadow);
}

.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  color: var(--ink);
  font-size: 22px;
}

.analysis-heading {
  padding-right: 52px;
  margin-bottom: 18px;
}

.analysis-heading h3 {
  margin-bottom: 5px;
  font-size: 24px;
}

.analysis-heading p {
  margin-bottom: 0;
  color: var(--muted);
  font-weight: 700;
}

.analysis-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.analysis-metric {
  min-height: 78px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcfd;
}

.analysis-metric span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.analysis-metric strong {
  display: block;
  margin-top: 7px;
  font-size: 19px;
}

.analysis-chart-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 18px;
}

.comparison-panel {
  min-width: 0;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}

.comparison-panel h4 {
  margin: 0 0 14px;
  font-size: 15px;
}

.comparison-bars {
  display: grid;
  gap: 13px;
}

.comparison-row {
  display: grid;
  grid-template-columns: 150px minmax(120px, 1fr) 64px;
  align-items: center;
  gap: 10px;
}

.comparison-row > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.comparison-row strong {
  text-align: right;
  font-size: 13px;
}

.comparison-track {
  height: 16px;
  overflow: hidden;
  border-radius: 4px;
  background: var(--surface-strong);
}

.comparison-fill {
  height: 100%;
  min-width: 3px;
  border-radius: inherit;
  background: var(--blue);
}

.comparison-fill.is-green {
  background: var(--green);
}

.comparison-fill.is-amber {
  background: var(--amber);
}

.comparison-fill.is-red {
  background: var(--red);
}

.analysis-note {
  margin: 18px 0 0;
  padding: 11px 12px;
  border-left: 3px solid var(--amber);
  background: #fff8eb;
  color: #725016;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
}

.modal-guide {
  display: grid;
  gap: 14px;
}

.guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.guide-card {
  min-height: 156px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fbfcfd;
  padding: 14px;
}

.guide-card h4 {
  margin: 0 0 10px;
  font-size: 15px;
}

.guide-card ol {
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.45;
}

.guide-card li + li {
  margin-top: 6px;
}

.modal-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.modal-actions .primary-action {
  width: auto;
}

.toast {
  position: fixed;
  right: 18px;
  bottom: 18px;
  max-width: min(420px, calc(100vw - 36px));
  border-radius: var(--radius);
  background: var(--ink);
  color: #fff;
  padding: 13px 15px;
  font-weight: 800;
  box-shadow: var(--shadow);
  transform: translateY(24px);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 160ms ease,
    transform 160ms ease;
}

.toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 761px) {
  body {
    font-size: 13px;
  }

  h1 {
    font-size: 26px;
  }

  h2 {
    font-size: 22px;
  }

  h3 {
    font-size: 15px;
  }

  .brand-mark,
  .brand-mark img {
    width: 32px;
    height: 32px;
  }

  .app-header {
    min-height: 68px;
    gap: 6px 10px;
    padding: 7px 16px;
  }

  .app-brand {
    min-width: 0;
    gap: 10px;
  }

  .app-brand strong {
    font-size: 15px;
  }

  .app-brand span {
    font-size: 12px;
  }

  .sync-status {
    min-height: 28px;
    gap: 14px;
    font-size: 11px;
    margin-left: 4px;
  }

  .risk-status {
    min-height: 24px;
    padding: 0 6px 0 12px;
  }

  .main-nav {
    gap: 6px;
  }

  .nav-item {
    min-height: 32px;
    gap: 7px;
    padding: 5px 8px;
    font-size: 14px;
  }

  .nav-icon {
    width: 20px;
    height: 20px;
    border-radius: 6px;
    font-size: 11px;
  }

  .main-shell {
    padding: 9px 16px 16px;
  }

  .topbar {
    min-height: 34px;
    margin-bottom: 8px;
  }

  .content,
  .metric-grid,
  .dashboard-grid,
  .operation-stage-grid,
  .report-grid {
    gap: 10px;
  }

  .admin-grid,
  .opportunity-layout {
    gap: 12px;
  }

  .chart-panel,
  .table-panel,
  .detail-panel,
  .timeline-panel,
  .presentation-panel,
  .report-tile {
    padding: 12px;
  }

  .table-header {
    gap: 10px;
    margin-bottom: 10px;
  }

  .collapsible-generated-header {
    margin-bottom: 8px;
  }

  .collapse-toggle {
    width: 28px;
    min-width: 28px;
    height: 28px;
    font-size: 16px;
  }

  .metric-card {
    min-height: 78px;
    padding: 10px 32px 10px 10px;
  }

  .metric-card.is-compact {
    min-height: 62px;
    padding: 9px 32px 9px 10px;
  }

  .metric-card strong {
    font-size: 18px;
  }

  .metric-card.is-compact strong {
    font-size: 16px;
  }

  .field {
    gap: 6px;
    margin-bottom: 12px;
    font-size: 14px;
  }

  .field input,
  .field select,
  .filter-bar input,
  .filter-bar select,
  .inline-input {
    min-height: 38px;
    padding: 8px 10px;
  }

  .primary-action,
  .secondary-action,
  .ghost-button,
  .small-action,
  .danger-action,
  .icon-action {
    min-height: 34px;
    padding: 7px 11px;
  }

  .admin-form-grid {
    gap: 10px;
  }

  .admin-account-metrics {
    gap: 8px;
    margin-bottom: 12px;
  }

  .cash-form-grid,
  .withdrawal-form-grid {
    grid-template-columns: 150px minmax(180px, 1fr) auto;
    gap: 10px;
  }

  .admin-cash-form-grid {
    grid-template-columns: minmax(160px, 0.8fr) 130px minmax(180px, 1fr) auto;
    gap: 10px;
  }

  th,
  td {
    padding: 9px 8px;
  }

  .report-tile {
    min-height: 140px;
  }
}

@media (min-width: 1121px) {
  .admin-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .admin-grid > .table-panel:first-child {
    grid-column: span 2;
  }

  .access-admin-grid > .table-panel:first-child {
    grid-column: span 1;
  }

  .access-admin-grid > .table-panel:last-child {
    grid-column: span 2;
  }

  .access-admin-grid > .table-panel:first-child .admin-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .access-admin-grid > .table-panel:last-child .admin-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .access-admin-grid .compact-table th,
  .access-admin-grid .compact-table td {
    padding: 7px 6px;
  }

  .access-admin-grid .compact-table table {
    min-width: 760px;
  }
}

@media (max-width: 1120px) {
  .public-header {
    grid-template-columns: 1fr auto;
  }

  .public-nav {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }

  .public-hero {
    min-height: auto;
    grid-template-columns: 1fr;
    padding: 22px 0;
  }

  .hero-dashboard {
    transform: none;
  }

  .comparison-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .partnership-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .partnership-flow article::after {
    display: none;
  }

  .landing-money,
  .landing-payments {
    grid-template-columns: 1fr;
  }

  .split-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payment-actions {
    justify-content: flex-start;
  }

  .app-header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
  }

  .app-brand {
    min-width: 0;
  }

  .main-nav {
    grid-column: 1 / -1;
  }

  .metric-grid,
  .compact-metric-grid,
  .cash-metric-grid,
  .wallet-grid,
  .admin-management-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-grid,
  .opportunity-layout,
  .admin-grid,
  .admin-overview-grid,
  .presentation-grid,
  .presentation-hero,
  .analysis-chart-grid,
  .decision-grid {
    grid-template-columns: 1fr;
  }

  .decision-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .detail-panel {
    position: static;
  }

  .report-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .topbar-actions {
    grid-column: 2;
    grid-row: 1;
    justify-content: flex-end;
  }

  .stage-item {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
  }

  .stage-value {
    grid-column: 1;
    grid-row: 2;
    text-align: left;
  }

  .stage-progress {
    grid-column: 2;
    grid-row: 2;
  }

  .stage-item > .status {
    grid-column: 2;
    grid-row: 1;
  }

  .cash-form-grid,
  .admin-cash-form-grid {
    grid-template-columns: 160px minmax(0, 1fr);
  }

  .admin-account-grid {
    grid-template-columns: 1fr;
  }

  .cash-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .public-header {
    position: static;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .public-brand,
  .public-actions {
    justify-content: center;
  }

  .public-nav {
    justify-content: center;
    gap: 12px;
  }

  .public-main {
    padding: 18px 14px 0;
  }

  .hero-copy {
    text-align: center;
    justify-items: center;
  }

  .hero-copy h1 {
    font-size: 40px;
  }

  .hero-copy p:not(.landing-status) {
    font-size: 15px;
  }

  .hero-kpi-grid,
  .performance-grid,
  .comparison-board {
    grid-template-columns: 1fr;
  }

  .live-chart {
    height: 168px;
  }

  .public-section {
    padding: 16px;
  }

  .section-heading h2 {
    font-size: 26px;
  }

  .public-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .public-footer nav {
    justify-content: flex-start;
  }

  .landing-main {
    align-items: center;
    padding: 30px 18px;
  }

  .landing-hero {
    min-height: auto;
    padding: 34px 0 20px;
  }

  .landing-section {
    padding: 16px;
  }

  .landing-section h2 {
    font-size: 22px;
  }

  .landing-copy-grid,
  .partnership-flow,
  .split-board {
    grid-template-columns: 1fr;
  }

  .partnership-flow article {
    min-height: auto;
  }

  .landing-intro {
    font-size: 15px;
  }

  .landing-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .contact-grid {
    grid-template-columns: 1fr;
  }

  .landing-action {
    min-height: 62px;
    padding: 11px 10px;
  }

  .landing-action span {
    font-size: 11px;
  }

  .landing-action strong {
    font-size: 18px;
  }

  .landing-status {
    font-size: 12px;
  }

  .auth-shell {
    grid-template-columns: 1fr;
  }

  .app-header {
    position: static;
    padding: 12px 16px;
  }

  .app-brand {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .sync-status {
    flex-basis: 100%;
    gap: 24px;
    margin-left: 0;
  }

  .main-nav {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(46px, 1fr));
    gap: 6px;
    overflow: visible;
    scrollbar-width: none;
  }

  .main-nav::-webkit-scrollbar {
    display: none;
  }

  .nav-item {
    min-width: 0;
    justify-content: center;
    gap: 0;
    padding: 7px;
  }

  .nav-label {
    display: none;
  }

  .nav-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
    font-size: 16px;
  }

  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .topbar-actions {
    width: 100%;
    justify-content: space-between;
  }

  .topbar-actions .install-action {
    min-width: 42px;
    padding-inline: 11px;
  }

  .topbar-actions .install-action span:last-child {
    display: none;
  }

  .guide-grid {
    grid-template-columns: 1fr;
  }

  .analysis-dialog {
    padding: 20px 16px;
  }

  .analysis-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .comparison-row {
    grid-template-columns: 112px minmax(80px, 1fr) 56px;
  }

  .admin-form-grid,
  .admin-form-grid.is-single {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .admin-form-grid .field {
    min-width: 0;
    margin-bottom: 4px;
  }

  .admin-form-grid .field > span {
    min-height: 34px;
    display: flex;
    align-items: flex-end;
    line-height: 1.25;
  }

  .admin-form-grid .field input,
  .admin-form-grid .field select {
    min-height: 40px;
    padding: 8px 10px;
  }

  .cash-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cash-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cash-actions .primary-action,
  .cash-actions .secondary-action {
    width: 100%;
    white-space: normal;
    text-align: center;
  }

  .admin-account-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-overview-grid {
    grid-template-columns: 1fr;
  }

  .withdrawal-request-item {
    grid-template-columns: 1fr;
  }

  .filter-bar,
  .metric-grid,
  .report-grid,
  .company-facts,
  .story-line,
  .decision-hero,
  .decision-metric-grid,
  .fact-grid {
    grid-template-columns: 1fr;
  }

  .wallet-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .decision-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .decision-toolbar .split-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .decision-score {
    min-height: 96px;
  }

  .main-shell {
    padding: 16px;
  }

  .chart-bars {
    height: 220px;
  }

  .timeline-item {
    grid-template-columns: 1fr;
  }

  .operation-stage-grid {
    grid-template-columns: 1fr;
  }

  .stage-item {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
  }

  .stage-value {
    grid-column: 1;
    grid-row: 2;
    text-align: left;
  }

  .stage-progress {
    grid-column: 2;
    grid-row: 2;
  }

  .stage-item > .status {
    grid-column: 2;
    grid-row: 1;
  }
}

/* NetInvest Alternative B — approved visual tokens */
:root {
  --ni-mint-100:#d5e1db; --ni-mint-300:#8fa99d; --ni-mint-500:#668979; --ni-mint-700:#435f54;
  --ni-gold-300:#d1bc94; --ni-gold-500:#b59662;

  --partner-bg:#ece9e1; --partner-bg-soft:#f2efe8; --partner-surface:#f8f6ef;
  --partner-surface-raised:#fffdf8; --partner-surface-hover:#eef3ed;
  --partner-line:rgba(17,36,28,.09); --partner-line-strong:rgba(17,36,28,.16);
  --partner-text:#17201b; --partner-text-soft:#46534c; --partner-muted:#66736d;
  --partner-accent:#47745f; --partner-accent-strong:#315e4b; --partner-gold:#aa8a58;
  --partner-danger:#b96d61;
  --partner-shadow:0 1px 0 rgba(255,255,255,.82) inset,0 12px 30px rgba(18,35,28,.055);

  --admin-bg:#ece9e1; --admin-bg-soft:#f2efe8; --admin-surface:#f8f6ef;
  --admin-surface-raised:#fffdf8; --admin-sidebar:#081510; --admin-sidebar-raised:#0e211a;
  --admin-text:#17201b; --admin-text-soft:#46534c; --admin-muted:#737e78;
  --admin-line:rgba(17,36,28,.09); --admin-line-strong:rgba(17,36,28,.16);
  --admin-accent:#6c9582; --admin-gold:#aa8a58; --admin-danger:#b96d61;
  --admin-shadow:0 1px 0 rgba(255,255,255,.82) inset,0 12px 30px rgba(18,35,28,.055);

  --font-ui:"Geist","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-data:"Geist Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
  --text-2xs:.625rem; --text-xs:.6875rem; --text-sm:.8125rem; --text-base:.875rem;
  --text-md:1rem; --text-lg:1.125rem; --text-xl:1.375rem; --text-2xl:1.75rem; --text-3xl:2.125rem;
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem;
  --radius-xs:5px; --radius-sm:8px; --radius-md:10px; --radius-lg:12px;
  --control-height:40px; --tap-target:44px;
  --ease-standard:cubic-bezier(.22,1,.36,1); --duration-fast:150ms; --duration-normal:220ms;
}

/*
  NetInvest Alternative B — single portal visual layer.
  Remove the previous experimental Alternative B block before installing this file.
*/

body[data-portal]{margin:0;min-width:320px;font-family:var(--font-ui);font-size:var(--text-base);line-height:1.45;letter-spacing:-.012em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body[data-portal] button,body[data-portal] input,body[data-portal] select,body[data-portal] textarea{font:inherit}
body[data-portal] button,body[data-portal] a,body[data-portal] input,body[data-portal] select{transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}
body[data-portal] :focus-visible{outline:2px solid var(--ni-mint-300);outline-offset:2px}
body[data-portal] .eyebrow,body[data-portal] .metric-label,body[data-portal] th,body[data-portal] .status,body[data-portal] .risk-badge,body[data-portal] .portal-card-id,body[data-portal] .reference{font-family:var(--font-data);font-size:var(--text-xs);font-weight:550;letter-spacing:.055em;text-transform:uppercase}
body[data-portal] .topbar h2,body[data-portal] .panel-heading h1,body[data-portal] .table-panel h3,body[data-portal] .portal-card h3{margin:0;font-family:var(--font-ui);font-weight:610;letter-spacing:-.038em}
body[data-portal] .topbar h2{font-size:clamp(var(--text-2xl),4vw,var(--text-3xl));line-height:1.04}
body[data-portal] .content{display:grid;gap:var(--space-4)}
body[data-portal] .metric-card,body[data-portal] .table-panel,body[data-portal] .portal-card,body[data-portal] .detail-item,body[data-portal] .fact-item,body[data-portal] .system-notice,body[data-portal] .checkout-reservation-panel{border-radius:var(--radius-md)}
body[data-portal] .metric-card{display:grid;align-content:space-between;min-height:82px;padding:var(--space-3)}
body[data-portal] .metric-card strong{font-size:clamp(var(--text-lg),5vw,var(--text-xl));font-variant-numeric:tabular-nums;line-height:1.08}
body[data-portal] .metric-card small{display:none}
body[data-portal] .metric-currency-values{display:grid;gap:4px}
body[data-portal] .metric-currency-value{display:flex;align-items:baseline;justify-content:space-between;gap:8px;white-space:nowrap}
body[data-portal] .metric-currency-code{color:var(--partner-muted);font-family:var(--font-mono);font-size:.62em;font-weight:650;letter-spacing:.06em}
body[data-portal] .compact-metric-grid,body[data-portal] .detail-grid,body[data-portal] .fact-grid,body[data-portal] .portal-card-grid,body[data-portal] .decision-metric-grid{display:grid;gap:var(--space-3)}
body[data-portal] .detail-item,body[data-portal] .fact-item{display:grid;align-content:space-between;gap:var(--space-2);min-height:74px;padding:var(--space-3)}
body[data-portal] .detail-item span,body[data-portal] .fact-item span{font-size:var(--text-sm);font-weight:480}
body[data-portal] .detail-item strong,body[data-portal] .fact-item strong{font-size:var(--text-md);font-weight:610;font-variant-numeric:tabular-nums}
body[data-portal] .primary-action,body[data-portal] .secondary-action,body[data-portal] .ghost-button{min-height:var(--control-height);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:650;letter-spacing:.035em;text-transform:uppercase}
body[data-portal] .primary-action:hover,body[data-portal] .secondary-action:hover,body[data-portal] .ghost-button:hover{transform:translateY(-1px)}
body[data-portal] .status,body[data-portal] .risk-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;line-height:1}

.netinvest-risk-score{display:grid;gap:9px;min-width:0}
.risk-score-header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.risk-score-header>div{display:grid;gap:3px;min-width:0}
.risk-score-header span{color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}
.risk-score-header strong{color:var(--ink);font-size:1.5rem;font-variant-numeric:tabular-nums;line-height:1}
.risk-score-track{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:26px;margin:12px 7px 0;border:1px solid rgba(24,35,30,.14);border-radius:6px;background:none!important;box-shadow:inset 0 1px 2px rgba(6,16,13,.12)}
.risk-score-segment{display:grid;place-items:center;min-width:0;color:rgba(255,255,255,.88);font-size:8px;font-weight:760;letter-spacing:.035em;line-height:1;text-transform:uppercase}
.risk-score-segment:first-child{border-radius:5px 0 0 5px}
.risk-score-segment:last-of-type{border-radius:0 5px 5px 0}
.risk-score-segment.is-poor{background:#c24136}
.risk-score-segment.is-moderate{background:#bea20f;color:#241f08}
.risk-score-segment.is-good{background:#409155}
.risk-score-segment.is-excellent{background:#186743}
.risk-score-marker{position:absolute;bottom:calc(100% + 1px);z-index:3;display:grid;justify-items:center;transform:translateX(-50%);pointer-events:none}
.risk-score-marker::after{width:0;height:0;border-right:5px solid transparent;border-top:7px solid #15221c;border-left:5px solid transparent;content:""}
.risk-score-marker>span{padding:2px 5px;border-radius:4px;background:#15221c;color:#fff;font-size:9px;font-weight:780;font-variant-numeric:tabular-nums;line-height:1.2;box-shadow:0 2px 6px rgba(6,16,13,.18)}
.risk-score-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;color:var(--muted);font-size:9px;line-height:1.25;text-align:center}
body[data-portal] .risk-badge.risk-category-poor{border-color:rgba(194,65,54,.28);background:rgba(194,65,54,.1);color:#9d3028}
body[data-portal] .risk-badge.risk-category-moderate{border-color:rgba(190,162,15,.32);background:rgba(190,162,15,.12);color:#766200}
body[data-portal] .risk-badge.risk-category-good{border-color:rgba(64,145,85,.28);background:rgba(64,145,85,.1);color:#2f7241}
body[data-portal] .risk-badge.risk-category-excellent{border-color:rgba(24,103,67,.28);background:rgba(24,103,67,.1);color:#185f40}
.opportunity-profit-schedule{display:grid;gap:9px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}
.opportunity-profit-schedule-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px}
.opportunity-profit-schedule-track>div{position:relative;display:grid;justify-items:center;gap:3px;min-width:0;padding-top:7px;border-top:1px solid var(--line)}
.opportunity-profit-schedule-track>div>span{position:absolute;top:-4px;width:7px;height:7px;border:1px solid var(--green);border-radius:50%;background:var(--surface)}
.opportunity-profit-schedule-track small{color:var(--muted);font-size:9px}
.opportunity-profit-schedule-track strong{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.opportunity-profit-schedule footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;font-weight:650;text-transform:uppercase}
.opportunity-profit-schedule footer strong{color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}
.projected-profit-contracts{color:var(--muted);font-size:11px;line-height:1.5}
@media(max-width:480px){.opportunity-profit-schedule-track{grid-template-columns:repeat(3,minmax(0,1fr))}.opportunity-profit-schedule-track strong{font-size:10px}}

/* Partner light workspace aligned with the Admin visual language */
body[data-portal="partner"]{--ink:var(--partner-text);--muted:var(--partner-muted);--line:var(--partner-line-strong);--surface-strong:var(--partner-surface-raised);background:var(--partner-bg);color:var(--partner-text)}
body[data-portal="partner"] .portal-view{min-height:100vh;background:radial-gradient(circle at 100% 0%,rgba(170,138,88,.08),transparent 24rem),var(--partner-bg)}
body[data-portal="partner"] .app-header{background:#081510;border-color:rgba(177,208,193,.1);color:#edf2ee;backdrop-filter:blur(18px)}
body[data-portal="partner"] .app-header .app-brand strong{color:#f2f4f1}
body[data-portal="partner"] .app-header .app-brand>div>span,body[data-portal="partner"] .app-header .sync-status{color:rgba(232,238,233,.58)}
body[data-portal="partner"] .app-header .main-nav{scrollbar-width:none}
body[data-portal="partner"] .app-header .main-nav::-webkit-scrollbar{display:none}
body[data-portal="partner"] .app-header .nav-item{color:rgba(232,238,233,.68)}
body[data-portal="partner"] .app-header .nav-item:hover,body[data-portal="partner"] .app-header .nav-item.is-active{border-color:rgba(177,208,193,.12);background:rgba(181,202,191,.07);color:#d5e1db}
body[data-portal="partner"] .app-header .live-status,body[data-portal="partner"] .app-header .risk-label{color:rgba(232,238,233,.72)}
body[data-portal="partner"] .app-header .ghost-button{border-color:rgba(177,208,193,.12);color:rgba(237,242,238,.78)}
body[data-portal="partner"] .app-header .language-switch{border-color:rgba(177,208,193,.12);background:rgba(255,255,255,.035)}
body[data-portal="partner"] .app-header .language-switch button{color:rgba(232,238,233,.6)}
body[data-portal="partner"] .app-header .language-switch button.is-active{background:#0e211a;color:#edf2ee}
body[data-portal="partner"] .mobile-menu-backdrop{display:none}
body[data-portal="partner"] .topbar{border-color:var(--partner-line)}
body[data-portal="partner"] .eyebrow{color:var(--partner-gold)}
body[data-portal="partner"] .metric-card,body[data-portal="partner"] .table-panel,body[data-portal="partner"] .portal-card,body[data-portal="partner"] .detail-item,body[data-portal="partner"] .fact-item,body[data-portal="partner"] .checkout-reservation-panel,body[data-portal="partner"] .system-notice{border:1px solid var(--partner-line);background:var(--partner-surface);color:var(--partner-text);box-shadow:var(--partner-shadow)}
body[data-portal="partner"] .metric-card:hover,body[data-portal="partner"] .portal-card:hover{border-color:var(--partner-line-strong);background:var(--partner-surface-raised)}
body[data-portal="partner"] .metric-label,body[data-portal="partner"] .detail-item span,body[data-portal="partner"] .fact-item span,body[data-portal="partner"] th{color:var(--partner-muted)}
body[data-portal="partner"] .metric-card strong,body[data-portal="partner"] .detail-item strong,body[data-portal="partner"] .fact-item strong,body[data-portal="partner"] .portal-card h3{color:var(--partner-text)}
body[data-portal="partner"] .portal-card-id,body[data-portal="partner"] .reference{color:var(--partner-gold)}
body[data-portal="partner"] .primary-action{border:1px solid #315e4b;background:#315e4b;color:#fffdf8;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
body[data-portal="partner"] .primary-action:hover{background:#285942;border-color:#285942}
body[data-portal="partner"] .secondary-action{border:1px solid var(--partner-line-strong);background:var(--partner-surface-raised);color:#315e4b}
body[data-portal="partner"] .ghost-button{border:1px solid var(--partner-line);background:rgba(255,253,248,.58);color:var(--partner-text-soft)}
body[data-portal="partner"] .status,body[data-portal="partner"] .risk-badge{border:1px solid rgba(108,149,130,.28);background:rgba(108,149,130,.1);color:#47745f}
body[data-portal="partner"] .status.warn{border-color:rgba(170,138,88,.28);background:rgba(170,138,88,.11);color:#846634}
body[data-portal="partner"] .risk-score-header strong{font-family:var(--font-ui);font-size:var(--text-2xl);font-weight:620}

@media(max-width:760px){
 body[data-portal="partner"] .app-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:62px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px}
 body[data-portal="partner"] .app-brand strong{font-size:var(--text-md);font-weight:620}
 body[data-portal="partner"] .app-brand>div>span,body[data-portal="partner"] .sync-status,body[data-portal="partner"] #mobileMenuButton{display:none}
 body[data-portal="partner"] .topbar-actions{display:flex;justify-content:flex-end}
 body[data-portal="partner"] .portal-home-link,body[data-portal="partner"] .install-action,body[data-portal="partner"] #logoutButton .logout-label{display:none}
 body[data-portal="partner"] .main-shell{padding:var(--space-4) var(--space-4) calc(82px + env(safe-area-inset-bottom))}
 body[data-portal="partner"] .topbar{padding:4px 0 var(--space-4);border-bottom:0}
 body[data-portal="partner"] .topbar h2{font-size:1.75rem}
 body[data-portal="partner"] .app-header .main-nav{position:fixed!important;z-index:70;right:10px;bottom:8px;left:10px;top:auto!important;display:grid;grid-template-columns:repeat(5,1fr);height:calc(62px + env(safe-area-inset-bottom));padding:5px 4px calc(5px + env(safe-area-inset-bottom));border:1px solid rgba(177,208,193,.12);border-radius:var(--radius-lg);background:rgba(8,21,16,.98);box-shadow:0 -12px 34px rgba(18,35,28,.18);backdrop-filter:blur(18px)}
 body[data-portal="partner"] .app-header .nav-item{display:grid;align-content:center;justify-items:center;gap:2px;min-width:0;min-height:50px;padding:5px 2px;border:0;border-radius:0;background:transparent;color:rgba(232,238,233,.62);box-shadow:none}
 body[data-portal="partner"] .app-header .nav-item:hover,body[data-portal="partner"] .app-header .nav-item.is-active{background:transparent;color:var(--ni-mint-300);box-shadow:none}
 body[data-portal="partner"] .app-header .nav-item.is-active .nav-icon{filter:none}
 body[data-portal="partner"] .app-header .nav-icon{width:20px;height:20px;border:0!important;border-radius:0!important;background:transparent!important;color:currentColor!important;box-shadow:none!important}
 body[data-portal="partner"] .app-header .nav-label{display:block;max-width:66px;overflow:hidden;font-size:.54rem;font-weight:520;text-overflow:ellipsis;text-transform:none;white-space:nowrap}
 body[data-portal="partner"] .compact-metric-grid.partner-dashboard-kpis,body[data-portal="partner"] .decision-metric-grid,body[data-portal="partner"] .detail-grid,body[data-portal="partner"] .fact-grid,body[data-portal="partner"] .portal-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 body[data-portal="partner"] .metric-card{min-height:78px;padding:12px}
 body[data-portal="partner"] .metric-card strong{font-size:1.12rem}
 body[data-portal="partner"] .insight-strip{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:46px;padding:10px 12px;border:1px solid var(--partner-line);border-radius:var(--radius-md);background:rgba(181,202,191,.026);color:var(--partner-text-soft);font-size:var(--text-sm)}
 body[data-portal="partner"] .filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--partner-line);border-radius:var(--radius-md);background:var(--partner-surface)}
 body[data-portal="partner"] .filter-bar>:first-child{grid-column:1/-1}
 body[data-portal="partner"] .filter-bar input,body[data-portal="partner"] .filter-bar select{width:100%;min-height:38px;border:1px solid var(--partner-line);border-radius:var(--radius-sm);background:var(--partner-bg-soft);color:var(--partner-text)}
 body[data-portal="partner"] .opportunity-card-list,body[data-portal="partner"] .operation-card-list{display:grid;gap:10px}
 body[data-portal="partner"] .portal-card{padding:14px}
 body[data-portal="partner"] .opportunity-card .portal-card-grid{margin-top:10px}
 body[data-portal="partner"] .opportunity-card .portal-card-grid>div{min-height:58px;padding:10px;border-top:1px solid var(--partner-line)}
 body[data-portal="partner"] .portal-card .primary-action{width:100%;margin-top:10px}
 body[data-portal="partner"] .checkout-focus-shell{display:grid;gap:12px}
 body[data-portal="partner"] .checkout-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body[data-portal="partner"] .checkout-summary-grid .detail-item{min-height:68px;padding:10px}
 body[data-portal="partner"] .checkout-badges{display:flex;flex-wrap:wrap;gap:8px}
 body[data-portal="partner"] .checkout-action-panel{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:20;display:grid;gap:8px;padding:12px;border:1px solid var(--partner-line-strong);border-radius:var(--radius-md);background:rgba(255,253,248,.97);box-shadow:0 12px 34px rgba(18,35,28,.14);backdrop-filter:blur(16px)}
 body[data-portal="partner"] .checkout-action-panel .primary-action,body[data-portal="partner"] .checkout-action-panel .secondary-action{width:100%}
}

/* Admin light workspace + dark sidebar */
body[data-portal="admin"]{background:var(--admin-bg);color:var(--admin-text)}
body[data-portal="admin"] .eyebrow{color:var(--admin-gold)}
body[data-portal="admin"] .metric-card,body[data-portal="admin"] .table-panel,body[data-portal="admin"] .portal-card,body[data-portal="admin"] .detail-item,body[data-portal="admin"] .fact-item,body[data-portal="admin"] .system-notice{border:1px solid var(--admin-line);background:var(--admin-surface);color:var(--admin-text);box-shadow:var(--admin-shadow)}
body[data-portal="admin"] .metric-label,body[data-portal="admin"] .detail-item span,body[data-portal="admin"] .fact-item span,body[data-portal="admin"] th{color:var(--admin-muted)}
body[data-portal="admin"] .primary-action{border:1px solid #315e4b;background:#315e4b;color:#fffdf8}
body[data-portal="admin"] .secondary-action{border:1px solid var(--admin-line-strong);background:transparent;color:#315e4b}
body[data-portal="admin"] .status{border:1px solid rgba(108,149,130,.28);background:rgba(108,149,130,.1);color:#47745f}
body[data-portal="admin"] .status.warn{border-color:rgba(170,138,88,.28);background:rgba(170,138,88,.11);color:#846634}

@media(min-width:900px){
 body[data-portal="admin"] .portal-view:not(.is-hidden){display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100vh;background:var(--admin-bg)}
 body[data-portal="admin"] .app-header{position:sticky;top:0;grid-column:1;display:flex;flex-direction:column;align-self:stretch;gap:var(--space-5);min-height:100vh;padding:var(--space-5) var(--space-3);border-right:1px solid rgba(177,208,193,.08);background:var(--admin-sidebar);color:#e8eee9}
 body[data-portal="admin"] .app-brand{display:grid;gap:8px;padding:0 6px}
 body[data-portal="admin"] .app-brand strong{color:#f2f4f1;font-size:var(--text-md)}
 body[data-portal="admin"] .app-brand>div>span{color:rgba(232,238,233,.58);font-size:var(--text-xs)}
 body[data-portal="admin"] .main-nav.admin-nav{display:grid;gap:4px}
 body[data-portal="admin"] .main-nav.admin-nav .nav-item{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;justify-content:start;gap:10px;min-height:39px;padding:8px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:rgba(232,238,233,.62);text-align:left}
 body[data-portal="admin"] .main-nav.admin-nav .nav-item:hover{background:rgba(154,187,170,.06);color:#edf2ee}
 body[data-portal="admin"] .main-nav.admin-nav .nav-item.is-active{background:var(--admin-sidebar-raised);color:var(--ni-mint-300);box-shadow:inset 2px 0 0 var(--ni-mint-500)}
 body[data-portal="admin"] .main-nav.admin-nav .nav-icon{width:17px;height:17px}
 body[data-portal="admin"] .topbar-actions{display:grid;gap:5px;margin-top:auto;padding-top:var(--space-4);border-top:1px solid rgba(177,208,193,.08)}
 body[data-portal="admin"] .topbar-actions .ghost-button{justify-content:flex-start;min-height:36px;border:0;color:rgba(232,238,233,.62)}
 body[data-portal="admin"] .main-shell{grid-column:2;min-width:0;padding:var(--space-6);background:radial-gradient(circle at 100% 0%,rgba(181,150,98,.08),transparent 24rem),var(--admin-bg)}
 body[data-portal="admin"] .topbar{padding:0 0 var(--space-5);border-color:var(--admin-line)}
 body[data-portal="admin"] .topbar h2{font-size:var(--text-2xl);color:var(--admin-text)}
 body[data-portal="admin"] .compact-metric-grid.admin-action-metrics{grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px}
 body[data-portal="admin"] .admin-action-metrics .metric-card{min-height:74px}
 body[data-portal="admin"] .admin-overview-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:12px}
 body[data-portal="admin"] .table-panel{padding:14px}
 body[data-portal="admin"] .table-wrap{border:0;overflow:auto}
 body[data-portal="admin"] table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}
 body[data-portal="admin"] th,body[data-portal="admin"] td{padding:10px 8px;border-bottom:1px solid var(--admin-line);text-align:left}
 body[data-portal="admin"] tbody tr:hover td{background:rgba(108,149,130,.045)}
 body[data-portal="admin"] .admin-opportunities-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,minmax(118px,.35fr));gap:7px;align-items:end}
}

@media(prefers-reduced-motion:reduce){body[data-portal] *,body[data-portal] *::before,body[data-portal] *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

@media(max-width:899px){
 body[data-portal="admin"] .reconciliation-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="admin"] .reconciliation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="admin"] .reconciliation-actions .secondary-action{grid-column:1/-1}
 body[data-portal="admin"] .reconciliation-queue-card{max-width:100%;overflow:hidden}
 body[data-portal="partner"] .partner-payment-actions .primary-action{white-space:normal}
 body[data-portal="admin"] .partner-credit-account{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="admin"] .partner-credit-account>div:first-child{grid-column:1/-1}
 body[data-portal="admin"] .unallocated-credit-row{display:grid}
}

@media(max-width:359px){
 body[data-portal="admin"] .reconciliation-evidence-grid{grid-template-columns:1fr}
}

/* Alternative B screen contract bindings */
body[data-portal] .nav-icon svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55}
body[data-portal="partner"] .nav-item,body[data-portal="partner"] .nav-item:hover,body[data-portal="partner"] .nav-item.is-active{background:transparent;box-shadow:none}
body[data-portal="partner"] .nav-icon,body[data-portal="partner"] .nav-item.is-active .nav-icon{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:none!important}
body[data-portal] .button-icon{display:inline-grid;place-items:center}
body[data-portal] .button-icon svg{width:16px;height:16px}
body[data-portal] .reference-code{font-family:var(--font-data);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase}
body[data-portal] .brand-mark{border:1px solid rgba(181,150,98,.26);background:rgba(255,255,255,.035)}
body[data-portal] .brand-mark img{display:block}
body[data-portal] .portal-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}
body[data-portal] .portal-card-id{margin:0 0 4px}
body[data-portal] .portal-card h3{line-height:1.15}
body[data-portal] .portal-card-grid{margin-top:var(--space-3)}
body[data-portal] .portal-card .split-actions{margin-top:var(--space-3)}
body[data-portal] .analysis-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:inherit;opacity:.78}
body[data-portal] .compact-metric-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}
body[data-portal] .decision-metric-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
body[data-portal] .detail-grid,body[data-portal] .fact-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}
body[data-portal] .checkout-badges{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-3) 0}
body[data-portal] .checkout-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:var(--space-3)}
body[data-portal] .checkout-redirect-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start}
body[data-portal] .checkout-redirect-notice strong,body[data-portal] .checkout-redirect-notice span{display:block}
body[data-portal] .checkout-redirect-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:999px}
body[data-portal] .decision-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4)}
body[data-portal] .decision-hero p{max-width:48ch;margin:var(--space-2) 0 0;font-size:var(--text-sm);opacity:.78}
body[data-portal] .decision-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}
body[data-portal] .decision-action-panel{display:grid;gap:var(--space-3)}
body[data-portal] .score-panel{display:grid;gap:var(--space-3)}
body[data-portal] .empty-state{margin:0;padding:var(--space-3);border:1px dashed currentColor;border-radius:var(--radius-md);opacity:.7}
body[data-portal] .marketplace-panel{display:grid;gap:10px}
body[data-portal="partner"] .marketplace-query-bar{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:8px}
body[data-portal="partner"] .marketplace-query-bar input,body[data-portal="partner"] .marketplace-query-bar select{min-height:38px}
body[data-portal="partner"] .marketplace-mobile-sort{display:none}
body[data-portal] .marketplace-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body[data-portal] .marketplace-heading h3{font-size:clamp(1.62rem,3vw,2rem);line-height:.95;letter-spacing:-.055em;text-transform:uppercase}
body[data-portal] .marketplace-heading span:not(.status){display:block;margin-top:6px;color:var(--partner-text-soft);font-size:var(--text-sm)}
body[data-portal] .marketplace-list{position:relative;display:grid;gap:1px;border:1px solid var(--partner-line);border-radius:var(--radius-md);overflow:visible;background:var(--partner-line)}
body[data-portal] .marketplace-list-head,body[data-portal] .marketplace-row{display:grid;grid-template-columns:minmax(112px,.88fr) minmax(104px,.8fr) minmax(78px,.58fr) minmax(108px,.84fr) minmax(96px,.72fr) minmax(94px,.72fr) minmax(52px,.4fr) 22px;align-items:center;gap:7px}
body[data-portal] .marketplace-list-head{min-height:40px;padding:0 12px;background:var(--partner-bg-soft);color:var(--partner-muted);font-family:var(--font-mono);font-size:.64rem;font-weight:760;letter-spacing:.065em}
body[data-portal="partner"] .marketplace-sort-header{display:inline-flex;align-items:center;gap:4px;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}
body[data-portal="partner"] .marketplace-sort-header:hover,body[data-portal="partner"] .marketplace-sort-header:focus-visible{color:var(--partner-text)}
body[data-portal="partner"] .marketplace-sort-header:focus-visible{outline:1px solid var(--partner-accent);outline-offset:3px}
body[data-portal="partner"] .marketplace-sort-header.is-active{color:var(--partner-accent)}
body[data-portal="partner"] .marketplace-sort-arrow{flex:0 0 auto;color:var(--partner-accent);font-size:.72rem;line-height:1}
body[data-portal] .marketplace-row{width:100%;min-height:52px;padding:6px 12px;border:0;border-radius:0;background:var(--partner-surface);color:var(--partner-text);font:inherit;text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
body[data-portal] .marketplace-row:hover{background:var(--partner-surface-raised)}
body[data-portal] .marketplace-row:visited{color:var(--partner-text)}
body[data-portal] .marketplace-row:focus-visible{position:relative;z-index:2;outline:2px solid var(--partner-accent);outline-offset:-2px}
body[data-portal="partner"] .marketplace-ref{display:flex;align-items:center;gap:5px;min-width:0;color:var(--partner-text);font-family:var(--font-mono);white-space:nowrap}
body[data-portal="partner"] .marketplace-ref>time{color:var(--partner-muted);font-size:.64rem;font-weight:680;font-variant-numeric:tabular-nums}
body[data-portal="partner"] .marketplace-ref>span{color:var(--partner-line-strong);font-size:.62rem}
body[data-portal="partner"] .marketplace-ref>strong{font-family:var(--font-mono);font-size:.83rem;font-weight:760}
body[data-portal] .marketplace-row>span:not(.marketplace-ref):not(.marketplace-arrow){display:grid;gap:2px;min-width:0}
body[data-portal] .marketplace-row small{display:none;color:var(--partner-muted);font-family:var(--font-mono);font-size:.61rem;font-weight:720;letter-spacing:.055em;text-transform:uppercase}
body[data-portal] .marketplace-row strong{overflow:hidden;color:var(--partner-text);font-size:.79rem;font-weight:690;text-overflow:ellipsis;white-space:nowrap}
body[data-portal] .marketplace-profit,body[data-portal] .marketplace-roi{gap:2px!important}
body[data-portal] .marketplace-profit strong,body[data-portal] .marketplace-roi strong{color:var(--partner-accent)}
body[data-portal] .marketplace-arrow{justify-self:end;font-size:1.05rem;color:var(--partner-text)}
body[data-portal] .partner-financial-label{display:inline-flex;align-items:center;gap:4px;min-width:0}
body[data-portal="partner"] .financial-help.metric-info{position:relative;z-index:12;top:auto;right:auto;display:inline-block;flex:0 0 auto}
body[data-portal="partner"] .financial-help summary{width:18px;height:18px;border-color:var(--partner-line-strong);background:rgba(108,149,130,.08);color:var(--partner-text-soft);font-size:10px}
body[data-portal="partner"] .financial-help[open] summary{border-color:rgba(142,170,156,.42);color:var(--partner-text)}
body[data-portal="partner"] .financial-help-popover{top:24px;right:auto;left:0;z-index:120;display:grid;gap:6px;width:260px;max-width:min(82vw,300px);border-color:var(--partner-line-strong);background:var(--partner-surface-raised);color:var(--partner-text-soft);font-family:var(--font-sans);font-size:.72rem;font-weight:520;letter-spacing:0;line-height:1.45;text-transform:none;box-shadow:0 18px 44px rgba(18,35,28,.14)}
body[data-portal="partner"] .financial-help-popover>strong{color:var(--partner-text);font-size:.76rem}
body[data-portal="partner"] .financial-help-popover>span{display:block}
body[data-portal="partner"] .marketplace-list-head>:nth-child(6) .financial-help-popover{right:0;left:auto}
body[data-portal="partner"] .partner-profit-schedule{margin-top:10px;border-top:1px solid var(--partner-line);padding-top:8px}
body[data-portal="partner"] .partner-profit-schedule summary{color:var(--partner-text-soft);font-size:.72rem;font-weight:700;cursor:pointer}
body[data-portal="partner"] .partner-profit-schedule ol{display:grid;gap:5px;margin:8px 0 0;padding:0;list-style:none}
body[data-portal="partner"] .partner-profit-schedule li{display:flex;justify-content:space-between;gap:12px;color:var(--partner-muted);font-size:.7rem}
body[data-portal="partner"] .partner-profit-schedule li strong{color:var(--partner-text);font-family:var(--font-mono)}
body[data-portal="partner"] .partner-schedule-pending{margin-top:10px}
body[data-portal="partner"] .partner-schedule-pending.is-compact{margin:0;color:var(--partner-muted);font-family:var(--font-mono);font-size:.58rem;font-weight:700;line-height:1.25}
body[data-portal="partner"] .partner-operation-list{display:grid;gap:1px;min-width:0;overflow:visible;border:1px solid var(--partner-line);border-radius:var(--radius-md);background:var(--partner-line)}
body[data-portal="partner"] .partner-operation-list-head,body[data-portal="partner"] .partner-operation-row{display:grid;grid-template-columns:minmax(132px,1.25fr) minmax(84px,.72fr) minmax(86px,.72fr) minmax(86px,.72fr) minmax(44px,.36fr) minmax(44px,.36fr) minmax(98px,.86fr) minmax(46px,.38fr) minmax(74px,.6fr);align-items:center;gap:6px;min-width:0}
body[data-portal="partner"] .partner-operation-list-head{min-height:34px;padding:0 8px;background:var(--partner-bg-soft);color:var(--partner-muted);font-family:var(--font-mono);font-size:.54rem;font-weight:720;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}
body[data-portal="partner"] .partner-operation-row{min-height:58px;padding:7px 10px;background:var(--partner-surface);color:var(--partner-text)}
body[data-portal="partner"] .partner-operation-row:hover{background:var(--partner-surface-raised)}
body[data-portal="partner"] .partner-operation-cell{display:grid;gap:2px;min-width:0;color:var(--partner-text-soft);font-size:.71rem}
body[data-portal="partner"] .partner-operation-cell::before{display:none;content:attr(data-label)}
body[data-portal="partner"] .partner-operation-cell strong{overflow:hidden;color:var(--partner-text);font-size:.73rem;font-weight:690;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="partner"] .partner-operation-cell small{color:var(--partner-accent);font-family:var(--font-mono);font-size:.61rem;font-weight:700}
body[data-portal="partner"] .partner-operation-cell.is-reference strong{color:var(--partner-gold)}
body[data-portal="partner"] .partner-operation-cell.is-primary small{overflow:hidden;color:var(--partner-text-soft);text-overflow:ellipsis;white-space:nowrap}
body[data-portal="partner"] .partner-operation-cell.is-profit strong{color:var(--partner-accent)}
body[data-portal="partner"] .partner-operation-cell.is-status{justify-items:start}
body[data-portal="partner"] .partner-operation-cell.is-action{position:relative;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
body[data-portal="partner"] .partner-operation-remove{padding:0;border:0;color:var(--partner-text-soft);font-size:.65rem;font-weight:700;text-decoration:underline;text-underline-offset:3px}
body[data-portal="partner"] .partner-operation-remove:hover{color:var(--partner-text)}
body[data-portal="partner"] .partner-profit-schedule.is-compact{position:relative;margin:0;padding:0;border:0}
body[data-portal="partner"] .partner-profit-schedule.is-compact summary{font-size:.63rem;white-space:nowrap}
body[data-portal="partner"] .partner-profit-schedule.is-compact ol{position:absolute;z-index:30;right:0;width:220px;margin-top:7px;padding:9px;border:1px solid var(--partner-line-strong);border-radius:var(--radius-sm);background:var(--partner-surface-raised);box-shadow:0 16px 34px rgba(0,0,0,.22)}
body[data-portal="partner"] .partner-operations-empty{border:0;border-radius:0;background:var(--partner-surface);text-align:center}
body[data-portal="partner"] .partner-operation-confirmation{max-width:54ch}
body[data-portal="partner"] .partner-operation-confirmation p{color:var(--partner-text-soft)}
@media(max-width:899px){
 body[data-portal="partner"] .partner-operation-list{gap:9px;border:0;background:transparent}
 body[data-portal="partner"] .partner-operation-list-head{display:none}
 body[data-portal="partner"] .partner-operation-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;min-height:0;padding:0;border:1px solid var(--partner-line);border-radius:var(--radius-md);overflow:visible;background:var(--partner-surface)}
 body[data-portal="partner"] .partner-operation-cell{min-height:58px;padding:9px 10px;border-top:1px solid var(--partner-line);font-size:.71rem}
 body[data-portal="partner"] .partner-operation-cell::before{display:block;color:var(--partner-muted);font-family:var(--font-mono);font-size:.58rem;font-weight:720;letter-spacing:.045em;text-transform:uppercase}
 body[data-portal="partner"] .partner-operation-cell:nth-child(-n+2){border-top:0}
 body[data-portal="partner"] .partner-operation-cell:nth-child(odd){border-right:1px solid var(--partner-line)}
 body[data-portal="partner"] .partner-operation-cell.is-status,body[data-portal="partner"] .partner-operation-cell.is-action{align-content:center;min-height:48px}
 body[data-portal="partner"] .partner-operation-cell.is-action{display:flex;align-items:center;justify-content:flex-end}
 body[data-portal="partner"] .partner-operation-cell.is-action::before{margin-right:auto}
 body[data-portal="partner"] .partner-profit-schedule.is-compact ol{right:0;bottom:calc(100% + 4px)}
}
@media(max-width:360px){
 body[data-portal="partner"] .partner-operation-cell{min-height:54px;padding:8px}
 body[data-portal="partner"] .partner-operation-cell strong{font-size:.68rem}
}
body[data-portal="partner"] .financial-help-breakdown{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 9px;margin-top:3px;padding-top:7px;border-top:1px solid var(--partner-line)}
body[data-portal="partner"] .financial-help-breakdown span{color:var(--partner-muted)}
body[data-portal="partner"] .financial-help-breakdown strong{color:var(--partner-text);font-size:.69rem;text-align:right;white-space:nowrap}
body[data-portal] .marketplace-mobile-help{display:none}
body[data-portal] .marketplace-pagination-shell{display:grid;justify-items:center;gap:5px;padding:2px 0 4px;text-align:center}
body[data-portal] .marketplace-page-info{margin:0;color:var(--partner-muted);font-family:var(--font-mono);font-size:.61rem;font-weight:700;letter-spacing:.045em}
body[data-portal] .marketplace-pagination{display:flex;align-items:center;justify-content:center;gap:6px}
body[data-portal] .marketplace-pagination .is-active{border-color:var(--partner-line-strong);background:var(--partner-surface-raised);color:var(--partner-text)}
body[data-portal] .marketplace-pagination .small-action{display:grid;place-items:center;min-width:32px;height:32px;padding:0}
body[data-portal] .marketplace-page-gap{padding:0 2px;color:var(--partner-muted)}
body[data-portal] .decision-product-shell{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:10px;align-items:stretch;margin-bottom:10px}
body[data-portal] .opportunity-product-visual{min-height:168px;margin:0;border:1px solid var(--partner-line);border-radius:var(--radius-md);overflow:hidden;background:linear-gradient(145deg,var(--partner-bg-soft),var(--partner-surface));box-shadow:var(--partner-shadow)}
body[data-portal] .opportunity-product-visual img{display:block;width:100%;height:100%;min-height:168px;object-fit:cover}
body[data-portal] .opportunity-product-visual.is-placeholder{display:grid;place-items:center;color:var(--partner-gold);font-family:var(--font-mono);font-size:2rem;font-weight:780;letter-spacing:.18em}
body[data-portal="partner"] .partner-financial-sequence-panel{display:grid;gap:10px}
body[data-portal="partner"] .partner-financial-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:visible;border:1px solid var(--partner-line);border-radius:var(--radius-md);background:var(--partner-line)}
body[data-portal="partner"] .partner-financial-metric{position:relative;display:grid;align-content:start;gap:5px;min-width:0;min-height:68px;padding:8px 9px;background:var(--partner-surface)}
body[data-portal="partner"] .partner-financial-metric strong{overflow:hidden;color:var(--partner-text);font-size:.83rem;font-weight:720;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="partner"] .partner-financial-metric small{color:var(--partner-accent);font-family:var(--font-mono);font-size:.71rem;font-weight:760}
body[data-portal="partner"] .partner-financial-metric .partner-financial-label{color:var(--partner-muted);font-family:var(--font-mono);font-size:.64rem;font-weight:720;letter-spacing:.045em;text-transform:uppercase}
body[data-portal="partner"] .partner-pay-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--partner-line);border-radius:var(--radius-sm);background:var(--partner-line)}
body[data-portal="partner"] .partner-pay-summary-row{display:grid;gap:3px;min-width:0;padding:8px 10px;background:var(--partner-surface)}
body[data-portal="partner"] .partner-pay-summary-row span{color:var(--partner-muted);font-family:var(--font-mono);font-size:.61rem;font-weight:720;letter-spacing:.045em;text-transform:uppercase}
body[data-portal="partner"] .partner-pay-summary-row strong{overflow:hidden;color:var(--partner-text-soft);font-size:.76rem;font-weight:680;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="partner"] .partner-pay-summary-row.is-important{background:var(--partner-surface-raised)}
body[data-portal="partner"] .partner-pay-summary-row.is-important strong{color:var(--partner-text)}
body[data-portal="partner"] .stage-panel{container-type:inline-size}
.main-nav{min-height:44px}
body.is-mobile-menu-open .mobile-menu-backdrop{display:block}
body.is-mobile-menu-open .main-nav{position:fixed}
.responsive-card-list{display:grid;gap:var(--space-3)}
.opportunity-table-wrap{display:none}

body[data-portal="partner"] .portal-powered{color:var(--partner-muted)}
body[data-portal="partner"] .portal-powered a{color:var(--partner-gold)}
body[data-portal="partner"] .language-switch{border:1px solid var(--partner-line);background:rgba(255,253,248,.56)}
body[data-portal="partner"] .language-switch button{color:var(--partner-muted)}
body[data-portal="partner"] .language-switch button.is-active{background:var(--partner-surface-raised);color:var(--partner-text)}
body[data-portal="partner"] #logoutButton .logout-label{display:none}
body[data-portal="partner"] .checkout-redirect-mark{border:1px solid var(--partner-line-strong);background:rgba(218,226,219,.026);color:var(--partner-accent)}
body[data-portal="partner"] .checkout-redirect-notice{color:var(--partner-text-soft);font-size:var(--text-xs)}
body[data-portal="partner"] .checkout-redirect-notice strong{color:var(--partner-text);font-size:var(--text-sm)}
body[data-portal="partner"] .decision-action-panel{border:1px solid var(--partner-line-strong);border-radius:var(--radius-md);background:rgba(255,253,248,.97);padding:var(--space-3);box-shadow:var(--partner-shadow)}
body[data-portal="partner"] .decision-action-panel .primary-action{width:100%}
body[data-portal="partner"] .score-panel .analysis-note{color:var(--partner-text-soft)}
body[data-portal="partner"] .compact-risk-panel{position:relative;gap:7px;padding:10px 12px}
body[data-portal="partner"] .compact-risk-panel .netinvest-risk-score{display:grid;gap:7px}
body[data-portal="partner"] .compact-risk-panel .risk-score-header strong{font-size:1.35rem}
body[data-portal="partner"] .compact-risk-panel .risk-score-legend{font-size:.62rem}
@media(max-width:480px){
 .risk-score-track{height:22px;margin-inline:5px}
 .risk-score-segment{font-size:7px;letter-spacing:0}
 .risk-score-legend{font-size:7px;gap:2px}
 .risk-score-marker>span{font-size:8px}
}
body[data-portal="partner"] .compact-risk-help{position:absolute;top:10px;right:10px;z-index:12}
body[data-portal="partner"] .compact-risk-help summary{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--partner-line-strong);border-radius:999px;color:var(--partner-text-soft);font-size:.72rem;cursor:pointer;list-style:none}
body[data-portal="partner"] .compact-risk-help summary::-webkit-details-marker{display:none}
body[data-portal="partner"] .compact-risk-help p{position:absolute;top:30px;right:0;width:min(300px,78vw);margin:0;padding:10px;border:1px solid var(--partner-line-strong);border-radius:var(--radius-sm);background:var(--partner-surface-raised);color:var(--partner-text-soft);font-size:.72rem;line-height:1.45;box-shadow:0 18px 44px rgba(18,35,28,.14)}
body[data-portal="partner"] .master-agreement-panel{display:grid;gap:10px}
body[data-portal="partner"] .master-agreement-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
body[data-portal="partner"] .master-agreement-summary .detail-item{min-height:56px;padding:8px 10px}
body[data-portal="partner"] .master-agreement-download{margin:0}
body[data-portal="partner"] .master-agreement-download .small-action{width:auto}
body[data-portal="partner"] .agreement-acceptance-form{grid-template-columns:minmax(140px,.55fr) minmax(220px,1fr);align-items:end;gap:8px}
body[data-portal="partner"] .agreement-acceptance-form .primary-action{width:100%}
body[data-portal="partner"] .agreement-certificate{margin:0;color:var(--partner-text-soft);font-size:.75rem}
body[data-portal="partner"] .legal-history-block{border:1px solid var(--partner-line);border-radius:var(--radius-md);background:var(--partner-surface)}
body[data-portal="partner"] .legal-history-block>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:var(--partner-text);font-size:.78rem;font-weight:700;cursor:pointer;list-style:none}
body[data-portal="partner"] .legal-history-block>summary::-webkit-details-marker{display:none}
body[data-portal="partner"] .legal-history-block>summary span{color:var(--partner-muted);font-family:var(--font-mono)}
body[data-portal="partner"] .legal-history-block>.responsive-card-list{padding:0 10px 10px}

@media(max-width:899px){
 body[data-portal="partner"] .marketplace-query-bar{gap:7px}
 body[data-portal="partner"] .marketplace-mobile-sort{display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,.65fr);gap:7px}
 body[data-portal="partner"] .marketplace-mobile-sort label{display:grid;gap:4px;min-width:0;color:var(--partner-muted);font-family:var(--font-mono);font-size:.59rem;font-weight:700;letter-spacing:.04em}
 body[data-portal="partner"] .marketplace-mobile-sort select{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--partner-line-strong);border-radius:var(--radius-xs);background:var(--partner-bg-soft);color:var(--partner-text);font-family:var(--font-ui);font-size:.72rem;letter-spacing:0}
 body[data-portal="partner"] .marketplace-list-head{display:none}
 body[data-portal="partner"] .marketplace-mobile-help{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;background:var(--partner-bg-soft);color:var(--partner-muted);font-size:.63rem}
 body[data-portal="partner"] .marketplace-mobile-help>strong{width:100%;color:var(--partner-text-soft);font-family:var(--font-mono);font-size:.63rem;letter-spacing:.05em;text-transform:uppercase}
 body[data-portal="partner"] .marketplace-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"ref arrow" "investment deposit" "instalments final" "profit roi";gap:9px 12px;min-height:0;padding:10px 12px}
 body[data-portal="partner"] .marketplace-ref{grid-area:ref}
 body[data-portal="partner"] .marketplace-deposit{grid-area:deposit}
 body[data-portal="partner"] .marketplace-investment{grid-area:investment}
 body[data-portal="partner"] .marketplace-instalments{grid-area:instalments}
 body[data-portal="partner"] .marketplace-final-value{grid-area:final}
 body[data-portal="partner"] .marketplace-profit{grid-area:profit}
 body[data-portal="partner"] .marketplace-roi{grid-area:roi}
 body[data-portal="partner"] .marketplace-row small{display:block}
 body[data-portal="partner"] .marketplace-row strong{font-size:.85rem;white-space:normal}
 body[data-portal="partner"] .marketplace-arrow{grid-area:arrow}
 body[data-portal="partner"] .marketplace-pagination{max-width:100%;justify-content:center;gap:4px}
}

@media(max-width:760px){
 body[data-portal="partner"] .app-header{-webkit-backdrop-filter:none;backdrop-filter:none}
 body[data-portal="partner"] .main-shell{max-width:430px;margin:0 auto}
 body[data-portal="partner"] .content{gap:12px}
 body[data-portal="partner"] .topbar{display:none}
 body[data-portal="partner"] .table-wrap{display:none}
 body[data-portal="partner"] .operation-stage-grid{display:grid;grid-template-columns:1fr;gap:12px}
 body[data-portal="partner"] .stage-panel{padding:12px}
 body[data-portal="partner"] .table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
 body[data-portal="partner"] .table-header h3{font-size:var(--text-md)}
 body[data-portal="partner"] .filter-bar .primary-action{grid-column:1/-1}
 body[data-portal="partner"] .opportunity-layout{display:grid;gap:12px}
 body[data-portal="partner"] .opportunity-layout>.detail-panel{display:none}
 body[data-portal="partner"] .marketplace-panel{gap:8px}
 body[data-portal="partner"] .marketplace-heading{display:grid;gap:8px}
 body[data-portal="partner"] .marketplace-heading h3{font-size:1.68rem}
 body[data-portal="partner"] .marketplace-list-head{display:none}
 body[data-portal="partner"] .marketplace-mobile-help{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;background:var(--partner-bg-soft);color:var(--partner-muted);font-size:.63rem}
 body[data-portal="partner"] .marketplace-mobile-help>strong{width:100%;color:var(--partner-text-soft);font-family:var(--font-mono);font-size:.63rem;letter-spacing:.05em;text-transform:uppercase}
 body[data-portal="partner"] .marketplace-mobile-help .partner-financial-label{gap:3px}
 body[data-portal="partner"] .marketplace-mobile-help .financial-help-popover{right:auto;left:0}
 body[data-portal="partner"] .marketplace-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"ref arrow" "investment deposit" "instalments final" "profit roi";gap:9px 12px;min-height:0;padding:10px 12px}
 body[data-portal="partner"] .marketplace-ref{grid-area:ref}
 body[data-portal="partner"] .marketplace-deposit{grid-area:deposit}
 body[data-portal="partner"] .marketplace-investment{grid-area:investment}
 body[data-portal="partner"] .marketplace-instalments{grid-area:instalments}
 body[data-portal="partner"] .marketplace-final-value{grid-area:final}
 body[data-portal="partner"] .marketplace-profit{grid-area:profit}
 body[data-portal="partner"] .marketplace-roi{grid-area:roi}
 body[data-portal="partner"] .marketplace-row small{display:block}
 body[data-portal="partner"] .marketplace-row strong{font-size:.85rem;white-space:normal}
 body[data-portal="partner"] .marketplace-profit strong{font-size:.92rem}
 body[data-portal="partner"] .marketplace-arrow{grid-area:arrow}
 body[data-portal="partner"] .marketplace-pagination{max-width:100%;justify-content:center;gap:4px}
 body[data-portal="partner"] .marketplace-pagination .small-action{min-width:30px;height:30px}
 body[data-portal="partner"] .decision-product-shell{grid-template-columns:1fr;margin-bottom:10px}
 body[data-portal="partner"] .opportunity-product-visual{min-height:140px}
 body[data-portal="partner"] .opportunity-product-visual img{min-height:140px}
 body[data-portal="partner"] .decision-toolbar{position:sticky;top:66px;z-index:35;background:linear-gradient(180deg,var(--partner-bg),rgba(236,233,225,.9));padding:2px 0 8px}
 body[data-portal="partner"] .decision-toolbar .secondary-action{max-width:160px;padding-inline:10px}
 body[data-portal="partner"] .decision-hero{display:grid;padding:14px}
 body[data-portal="partner"] .decision-hero h3{font-size:1.32rem}
 body[data-portal="partner"] .decision-metric-grid,body[data-portal="partner"] .checkout-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="partner"] .partner-financial-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="partner"] .partner-financial-metric{min-height:72px;padding:9px}
 body[data-portal="partner"] .partner-financial-metric .financial-help-popover{right:auto;left:0}
 body[data-portal="partner"] .partner-financial-metric:nth-child(even) .financial-help-popover{right:0;left:auto}
 body[data-portal="partner"] .partner-pay-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="partner"] .master-agreement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="partner"] .agreement-acceptance-form{grid-template-columns:1fr}
 body[data-portal="partner"] .checkout-reservation-panel{padding-bottom:132px}
 body[data-portal="partner"] .checkout-reservation-panel .checkout-redirect-notice span{display:none}
 body[data-portal="partner"] .checkout-reservation-panel .analysis-note{display:none}
 body[data-portal="partner"] .checkout-reservation-panel .table-header h3{font-size:1.08rem;line-height:1.18}
 body[data-portal="partner"] .checkout-reservation-panel .checkout-badges{margin:8px 0}
 body[data-portal="partner"] .checkout-summary-grid{gap:8px}
 body[data-portal="partner"] .checkout-summary-grid .detail-item{min-height:64px;padding:10px}
 body[data-portal="partner"] .decision-action-panel{position:sticky;bottom:calc(72px + env(safe-area-inset-bottom));z-index:25;background:rgba(255,253,248,.985);box-shadow:0 12px 34px rgba(18,35,28,.16)}
 body[data-portal="partner"] .checkout-action-panel{position:fixed;right:16px;bottom:calc(76px + env(safe-area-inset-bottom));left:16px;z-index:80;max-width:398px;margin:0 auto;background:rgba(255,253,248,.99)}
 body[data-portal="partner"] .portal-card .split-actions{display:block}
 body[data-portal="partner"] .portal-card .split-actions .primary-action{margin-top:0}
}

body[data-portal="admin"] .portal-powered{color:var(--admin-muted)}
body[data-portal="admin"] .portal-powered a{color:var(--admin-gold)}
body[data-portal="admin"] .app-brand .sync-status{color:rgba(232,238,233,.58)}
body[data-portal="admin"] #logoutButton .logout-label{display:inline}
body[data-portal="admin"] #logoutButton .button-icon{display:none}
body[data-portal="admin"] .admin-opportunities-command .table-header{align-items:flex-end}
body[data-portal="admin"] .admin-opportunities-command .table-header p{margin:0}
body[data-portal="admin"] .admin-opportunities-toolbar input,body[data-portal="admin"] .admin-opportunities-toolbar select{min-height:36px;border:1px solid var(--admin-line);border-radius:var(--radius-sm);background:var(--admin-surface-raised);color:var(--admin-text);padding:0 9px;font-size:var(--text-xs)}
body[data-portal="admin"] .admin-opportunities-toolbar input::placeholder{color:var(--admin-muted)}
@media(min-width:900px){
 body[data-portal="admin"] .topbar{display:none}
 body[data-portal="admin"] .portal-view:not(.is-hidden){align-items:start}
 body[data-portal="admin"] .main-shell{min-height:100vh}
 body[data-portal="admin"] #mobileMenuButton{display:none}
 body[data-portal="admin"] .main-nav.admin-nav{width:100%;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
 body[data-portal="admin"] .app-header .portal-home-link,body[data-portal="admin"] .app-header .portal-partner-link,body[data-portal="admin"] .app-header .install-action{display:none}
 body[data-portal="admin"] .app-header .language-switch{border:1px solid rgba(177,208,193,.12);background:rgba(255,255,255,.035)}
 body[data-portal="admin"] .app-header .language-switch button{color:rgba(232,238,233,.6)}
 body[data-portal="admin"] .app-header .language-switch button.is-active{background:var(--admin-sidebar-raised);color:#edf2ee}
 body[data-portal="admin"] .admin-opportunities-command{display:grid;gap:8px;padding:11px 12px}
 body[data-portal="admin"] .admin-opportunities-command .table-header{margin-bottom:0}
 body[data-portal="admin"] .admin-opportunities-command .system-notice{display:flex;align-items:center;gap:8px;margin:0;padding:7px 9px;font-size:var(--text-xs);line-height:1.25}
 body[data-portal="admin"] .admin-opportunities-command .system-notice strong{flex:0 0 auto}
}

/* Task 07 final propagation — approved visual system, no new palette */
body[data-portal] .field{gap:6px;margin-bottom:12px;color:inherit;font-weight:520}
body[data-portal] .field>span{font-family:var(--font-data);font-size:var(--text-xs);font-weight:550;letter-spacing:.045em;text-transform:uppercase}
body[data-portal] textarea,
body[data-portal] .field input,
body[data-portal] .field select,
body[data-portal] .filter-bar input,
body[data-portal] .filter-bar select,
body[data-portal] .inline-input{min-height:var(--control-height);border-radius:var(--radius-sm);padding:9px 10px;font-size:var(--text-sm)}
body[data-portal] textarea{width:100%;resize:vertical}
body[data-portal] .table-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}
body[data-portal] .table-header p{margin:0}
body[data-portal] .table-wrap{max-width:100%;overflow:auto}
body[data-portal] .subtab-bar{border-radius:var(--radius-md);box-shadow:none}
body[data-portal] .stage-empty,
body[data-portal] .empty-table,
body[data-portal] .empty-cell{font-size:var(--text-sm);font-weight:520}
body[data-portal] .funding-card,
body[data-portal] .access-card,
body[data-portal] .application-admin-card{border-radius:var(--radius-md)}
body[data-portal] .funding-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}
body[data-portal] .toast{border-radius:var(--radius-md);font-family:var(--font-ui);font-size:var(--text-sm);font-weight:610;letter-spacing:-.01em}

body[data-portal="partner"] .auth-view{background:radial-gradient(circle at 90% 8%,rgba(108,149,130,.13),transparent 21rem),radial-gradient(circle at 0% 100%,rgba(170,138,88,.10),transparent 24rem),var(--partner-bg);color:var(--partner-text)}
body[data-portal="partner"] .auth-shell{gap:var(--space-5)}
body[data-portal="partner"] .auth-brand{color:var(--partner-text)}
body[data-portal="partner"] .auth-brand span,
body[data-portal="partner"] .auth-note,
body[data-portal="partner"] .form-link-row,
body[data-portal="partner"] .auth-powered{color:var(--partner-muted)}
body[data-portal="partner"] .auth-link,
body[data-portal="partner"] .auth-powered a{color:var(--partner-gold)}
body[data-portal="partner"] .login-panel,
body[data-portal="partner"] .auth-snapshot,
body[data-portal="partner"] .analysis-dialog,
body[data-portal="partner"] .presentation-hero,
body[data-portal="partner"] .presentation-panel,
body[data-portal="partner"] .report-tile,
body[data-portal="partner"] .timeline-panel,
body[data-portal="partner"] .chart-panel{border:1px solid var(--partner-line);background:var(--partner-surface);color:var(--partner-text);box-shadow:var(--partner-shadow)}
body[data-portal="partner"] .login-panel{padding:var(--space-6)}
body[data-portal="partner"] .panel-heading{margin-bottom:var(--space-5)}
body[data-portal="partner"] .panel-heading h1{font-family:var(--font-ui);font-weight:610;letter-spacing:-.04em;color:var(--partner-text)}
body[data-portal="partner"] .brand-mark{border-color:rgba(170,138,88,.28);background:rgba(255,253,248,.76)}
body[data-portal="partner"] textarea,
body[data-portal="partner"] .field input,
body[data-portal="partner"] .field select,
body[data-portal="partner"] .inline-input{border:1px solid var(--partner-line);background:var(--partner-bg-soft);color:var(--partner-text)}
body[data-portal="partner"] input::placeholder,
body[data-portal="partner"] textarea::placeholder{color:var(--partner-muted);opacity:1}
body[data-portal="partner"] textarea:focus,
body[data-portal="partner"] .field input:focus,
body[data-portal="partner"] .field select:focus,
body[data-portal="partner"] .filter-bar input:focus,
body[data-portal="partner"] .filter-bar select:focus{border-color:var(--partner-line-strong);box-shadow:0 0 0 3px rgba(156,185,170,.08)}
body[data-portal="partner"] .field>span,
body[data-portal="partner"] .subtab,
body[data-portal="partner"] .stage-empty,
body[data-portal="partner"] .empty-table,
body[data-portal="partner"] .empty-cell{color:var(--partner-muted)}
body[data-portal="partner"] .subtab-bar{border:1px solid var(--partner-line);background:rgba(255,253,248,.56)}
body[data-portal="partner"] .subtab.is-active{background:var(--partner-surface-raised);color:var(--partner-text)}
body[data-portal="partner"] .stage-item,
body[data-portal="partner"] .funding-card,
body[data-portal="partner"] .access-card{border-color:var(--partner-line)}
body[data-portal="partner"] .summary-list div,
body[data-portal="partner"] .timeline-item,
body[data-portal="partner"] .admin-compare-row,
body[data-portal="partner"] .stage-item{border-color:var(--partner-line)}
body[data-portal="partner"] .summary-list span,
body[data-portal="partner"] .timeline-date,
body[data-portal="partner"] .report-tile p{color:var(--partner-muted)}
body[data-portal="partner"] .stage-identity>span,
body[data-portal="partner"] .stage-value span,
body[data-portal="partner"] .stage-progress span,
body[data-portal="partner"] .bar-label,
body[data-portal="partner"] .risk-row{color:var(--partner-muted)}
body[data-portal="partner"] .stage-identity strong,
body[data-portal="partner"] .stage-value strong,
body[data-portal="partner"] .stage-progress strong,
body[data-portal="partner"] .summary-list strong,
body[data-portal="partner"] .table-header h3,
body[data-portal="partner"] .topbar h2{color:var(--partner-text)}
body[data-portal="partner"] .system-notice{border:1px solid var(--partner-line-strong);background:rgba(108,149,130,.06);color:var(--partner-text-soft)}
body[data-portal="partner"] .system-notice strong{color:var(--partner-text)}
body[data-portal="partner"] .system-notice.is-warn{border-color:rgba(169,140,94,.28);background:rgba(169,140,94,.09);color:var(--partner-text-soft)}
body[data-portal="partner"] .system-notice.is-warn strong{color:#846634}
body[data-portal="partner"] .contract-banner.is-legal-pending{gap:8px 12px;padding:9px 11px}
body[data-portal="partner"] .contract-banner.is-legal-pending strong{font-size:.72rem;letter-spacing:.09em;line-height:1.25}
body[data-portal="partner"] .contract-banner.is-legal-pending span{flex:1 1 220px;font-size:.78rem;line-height:1.4}
body[data-portal="partner"] .contract-banner.is-legal-pending .small-action{min-height:34px;padding:7px 10px;font-size:.7rem}
body[data-portal="partner"] .system-notice.is-success{border-color:rgba(108,149,130,.25);background:rgba(108,149,130,.08)}
body[data-portal="partner"] .analysis-modal{background:rgba(8,21,16,.48)}
body[data-portal="partner"] .modal-close{color:var(--partner-text)}
body[data-portal="partner"] .analysis-note{border-left-color:var(--partner-gold);background:rgba(169,140,94,.07);color:var(--partner-text-soft)}
body[data-portal="partner"] .guide-card,
body[data-portal="partner"] .analysis-metric,
body[data-portal="partner"] .admin-snapshot-item{border:1px solid var(--partner-line);background:var(--partner-surface-raised);color:var(--partner-text)}
body[data-portal="partner"] .danger-action{border-color:rgba(204,129,115,.25);background:rgba(204,129,115,.07);color:var(--partner-danger)}
body[data-portal="partner"] .small-action{background:var(--partner-surface-raised);color:var(--partner-text);border-color:var(--partner-line-strong)}
body[data-portal="partner"] .toast{border:1px solid var(--partner-line-strong);background:var(--partner-surface-raised);color:var(--partner-text);box-shadow:0 18px 42px rgba(18,35,28,.18)}
body[data-portal="partner"] .auth-ready-notice{display:grid;gap:2px;margin:0 0 14px;padding:10px 12px;border:1px solid rgba(142,170,156,.22);background:rgba(142,170,156,.08);color:var(--partner-text-soft)}
body[data-portal="partner"] .auth-ready-notice strong{color:var(--partner-text)}
body[data-portal="partner"] .quick-pin-login-choice{display:grid;gap:12px}
body[data-portal="partner"] .quick-pin-login-choice .field{margin:0}
body[data-portal="partner"] .quick-pin-login-choice .text-action{justify-self:start}
body[data-portal="partner"] .auth-method-label{margin:0;color:var(--partner-text-soft);font-size:var(--text-sm)}
body[data-portal="partner"] .fast-access-dialog{width:min(430px,100%);padding:26px;background:var(--partner-surface-raised)}
body[data-portal="partner"] .fast-access-dialog h3{margin:4px 32px 8px 0;color:var(--partner-text);font-size:1.35rem}
body[data-portal="partner"] .fast-access-dialog>p:not(.eyebrow){color:var(--partner-text-soft)}
body[data-portal="partner"] .fast-access-actions{display:grid;gap:9px;margin-top:18px}
body[data-portal="partner"] .fast-access-actions .text-action{justify-self:center}
body[data-portal="partner"] .quick-pin-setup{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--partner-line)}
body[data-portal="partner"] .quick-pin-setup .field{margin:0}
body[data-portal="partner"] .quick-pin-management-panel .split-actions{display:flex;gap:8px;flex-wrap:wrap}
body[data-portal="partner"] .trusted-device-list{margin-top:12px}
body[data-portal="partner"] .dashboard-wallet-actions .primary-action[data-action="open-add-funds"]{border-color:#285b48;background:#285b48;color:#fff;box-shadow:0 7px 18px rgba(26,71,53,.16)}
body[data-portal="partner"] .dashboard-wallet-actions .primary-action[data-action="open-add-funds"]:hover{border-color:#214d3d;background:#214d3d;transform:translateY(-1px)}
body[data-portal="partner"] .dashboard-wallet-actions .primary-action[data-action="open-add-funds"]:active{background:#193f31;transform:translateY(0)}
body[data-portal="partner"] .dashboard-wallet-actions .primary-action[data-action="open-add-funds"]:focus-visible{outline:3px solid rgba(40,91,72,.28);outline-offset:3px}
body[data-portal="admin"] .admin-funding-panel,body[data-portal="admin"] .reconciliation-queue{padding:12px;overflow:hidden}
body[data-portal="admin"] .admin-focus-anchor{display:block;width:0;height:0;overflow:hidden}
body[data-portal="admin"] .funding-directory{display:grid;border:1px solid var(--admin-line);border-radius:var(--radius-sm);overflow:hidden}
body[data-portal="admin"] .funding-directory-header,body[data-portal="admin"] .funding-directory-row{display:grid;grid-template-columns:82px minmax(120px,1.2fr) 54px 112px 88px 118px 132px minmax(220px,auto);align-items:center;column-gap:8px}
body[data-portal="admin"] .funding-directory-header{min-height:32px;padding:0 9px;border-bottom:1px solid var(--admin-line);background:var(--admin-bg-soft);color:var(--admin-muted);font-family:var(--font-data);font-size:10px;font-weight:650;letter-spacing:.045em;text-transform:uppercase}
body[data-portal="admin"] .funding-directory-row{min-height:58px;padding:5px 9px;border-bottom:1px solid var(--admin-line);background:var(--admin-surface-raised);color:var(--admin-text);font-size:var(--text-xs)}
body[data-portal="admin"] .funding-directory-row:last-child{border-bottom:0}
body[data-portal="admin"] .funding-directory-row:hover{background:#faf9f5}
body[data-portal="admin"] .funding-directory-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .funding-directory-cell>span,body[data-portal="admin"] .funding-directory-cell>strong,body[data-portal="admin"] .funding-directory-cell>time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .funding-reference-cell strong{font-family:var(--font-data);font-size:var(--text-sm);letter-spacing:.04em}
body[data-portal="admin"] .funding-partner-cell span{display:block;font-weight:620}
body[data-portal="admin"] .funding-amount-cell strong{font-variant-numeric:tabular-nums}
body[data-portal="admin"] .funding-date-cell{color:var(--admin-muted);font-family:var(--font-data);font-size:10px}
body[data-portal="admin"] .funding-directory-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
body[data-portal="admin"] .funding-directory-actions .small-action{min-height:28px;padding:0 8px;font-size:10px;letter-spacing:.02em}
body[data-portal="admin"] .funding-directory-actions .danger-action{background:rgba(185,109,97,.08);color:var(--admin-danger);border-color:rgba(185,109,97,.24)}
body[data-portal="admin"] .funding-actions-heading{text-align:right}
body[data-portal="admin"] .funding-signer{display:block;min-width:96px}
body[data-portal="admin"] .funding-signer select{width:100%;min-height:28px;border:1px solid var(--admin-line);border-radius:var(--radius-sm);background:var(--admin-surface);color:var(--admin-text);padding:0 6px;font-size:10px}
body[data-portal="admin"] .funding-no-action{margin-left:auto;color:var(--admin-muted)}
@media(max-width:1100px){
 body[data-portal="admin"] .funding-directory-header{display:none}
 body[data-portal="admin"] .funding-directory-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;min-height:0;padding:11px 12px}
 body[data-portal="admin"] .funding-directory-cell{display:grid;gap:3px;white-space:normal}
 body[data-portal="admin"] .funding-directory-cell::before,body[data-portal="admin"] .funding-directory-actions::before{content:attr(data-label);color:var(--admin-muted);font-family:var(--font-data);font-size:9px;font-weight:650;letter-spacing:.05em;text-transform:uppercase}
 body[data-portal="admin"] .funding-directory-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-start;padding-top:4px;border-top:1px solid var(--admin-line)}
 body[data-portal="admin"] .funding-directory-actions::before{flex-basis:100%}
 body[data-portal="admin"] .funding-signer{min-width:130px}
}
@media(max-width:420px){
 body[data-portal="admin"] .funding-directory-row{grid-template-columns:1fr 1fr;gap:9px}
 body[data-portal="admin"] .funding-partner-cell,body[data-portal="admin"] .funding-directory-actions{grid-column:1/-1}
 body[data-portal="admin"] .funding-directory-actions .small-action{flex:1 1 auto}
}
@media(max-width:480px){
 body[data-portal="partner"] .fast-access-modal{align-items:end;padding:0}
 body[data-portal="partner"] .fast-access-dialog{width:100%;max-height:calc(100dvh - env(safe-area-inset-top));border-radius:16px 16px 0 0;padding:22px 16px calc(22px + env(safe-area-inset-bottom))}
}

body[data-portal="admin"] .auth-view{background:radial-gradient(circle at 100% 0%,rgba(170,138,88,.09),transparent 24rem),var(--admin-bg);color:var(--admin-text)}
body[data-portal="admin"] .auth-brand{color:var(--admin-text)}
body[data-portal="admin"] .login-panel,
body[data-portal="admin"] .auth-snapshot,
body[data-portal="admin"] .analysis-dialog,
body[data-portal="admin"] .presentation-hero,
body[data-portal="admin"] .presentation-panel,
body[data-portal="admin"] .report-tile,
body[data-portal="admin"] .timeline-panel,
body[data-portal="admin"] .chart-panel,
body[data-portal="admin"] .filter-bar{border:1px solid var(--admin-line);background:var(--admin-surface);color:var(--admin-text);box-shadow:var(--admin-shadow)}
body[data-portal="admin"] .panel-heading h1{font-family:var(--font-ui);font-weight:610;letter-spacing:-.04em;color:var(--admin-text)}
body[data-portal="admin"] textarea,
body[data-portal="admin"] .field input,
body[data-portal="admin"] .field select,
body[data-portal="admin"] .filter-bar input,
body[data-portal="admin"] .filter-bar select,
body[data-portal="admin"] .inline-input{border:1px solid var(--admin-line);background:var(--admin-surface-raised);color:var(--admin-text)}
body[data-portal="admin"] textarea:focus,
body[data-portal="admin"] .field input:focus,
body[data-portal="admin"] .field select:focus,
body[data-portal="admin"] .filter-bar input:focus,
body[data-portal="admin"] .filter-bar select:focus{border-color:rgba(108,149,130,.38);box-shadow:0 0 0 3px rgba(108,149,130,.12)}
body[data-portal="admin"] .field>span,
body[data-portal="admin"] .summary-list span,
body[data-portal="admin"] .timeline-date,
body[data-portal="admin"] .stage-empty,
body[data-portal="admin"] .empty-table,
body[data-portal="admin"] .empty-cell,
body[data-portal="admin"] .auth-note,
body[data-portal="admin"] .auth-powered{color:var(--admin-muted)}
body[data-portal="admin"] .subtab-bar{border:1px solid var(--admin-line);background:var(--admin-bg-soft)}
body[data-portal="admin"] .subtab.is-active{background:var(--admin-surface-raised);color:var(--admin-text);box-shadow:inset 0 0 0 1px var(--admin-line)}
body[data-portal="admin"] .system-notice{border:1px solid rgba(108,149,130,.18);background:rgba(108,149,130,.07);color:var(--admin-text-soft)}
body[data-portal="admin"] .system-notice strong{color:#315e4b}
body[data-portal="admin"] .system-notice.is-warn{border-color:rgba(170,138,88,.26);background:rgba(170,138,88,.09);color:#846634}
body[data-portal="admin"] .system-notice.is-success{border-color:rgba(108,149,130,.24);background:rgba(108,149,130,.09)}
body[data-portal="admin"] .summary-list div,
body[data-portal="admin"] .timeline-item,
body[data-portal="admin"] .admin-compare-row,
body[data-portal="admin"] .stage-item,
body[data-portal="admin"] .access-card,
body[data-portal="admin"] .funding-card,
body[data-portal="admin"] .application-admin-card{border-color:var(--admin-line)}
body[data-portal="admin"] .funding-card,
body[data-portal="admin"] .application-admin-card,
body[data-portal="admin"] .guide-card,
body[data-portal="admin"] .analysis-metric,
body[data-portal="admin"] .admin-snapshot-item{border:1px solid var(--admin-line);background:var(--admin-surface-raised);color:var(--admin-text)}
body[data-portal="admin"] .danger-action{border-color:rgba(185,109,97,.24);background:rgba(185,109,97,.08);color:var(--admin-danger)}
body[data-portal="admin"] .small-action{background:#17201b;color:#fffdf8;border-color:#17201b}
body[data-portal="admin"] .admin-partner-invite-panel{grid-column:1/-1;padding:0;overflow:hidden}
body[data-portal="admin"] .admin-partner-invite-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;padding:12px 14px;color:var(--admin-text);font-family:var(--font-data);font-size:var(--text-xs);font-weight:680;letter-spacing:.055em;text-transform:uppercase}
body[data-portal="admin"] .admin-partner-invite-panel>summary::-webkit-details-marker{display:none}
body[data-portal="admin"] .admin-partner-invite-panel>summary::before{content:"+";display:inline-grid;width:22px;height:22px;place-items:center;border:1px solid rgba(108,149,130,.22);border-radius:var(--radius-sm);background:rgba(108,149,130,.08);color:#315e4b}
body[data-portal="admin"] .admin-partner-invite-panel[open]>summary::before{content:"−"}
body[data-portal="admin"] .admin-partner-invite-panel>summary small{margin-left:auto;color:var(--admin-muted);font-family:var(--font-ui);font-size:var(--text-xs);font-weight:560;letter-spacing:-.01em;text-transform:none}
body[data-portal="admin"] .admin-partner-invite-panel .admin-form-grid{padding:0 14px 14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
body[data-portal="admin"] .admin-id-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}
body[data-portal="admin"] .admin-id-item{min-width:0;border:1px solid var(--admin-line);border-radius:var(--radius-sm);background:var(--admin-surface-raised);padding:9px 10px}
body[data-portal="admin"] .admin-id-item span{display:block;margin-bottom:4px;color:var(--admin-muted);font-family:var(--font-data);font-size:var(--text-xs);font-weight:550;letter-spacing:.045em;text-transform:uppercase}
body[data-portal="admin"] .admin-id-item strong{display:block;overflow:hidden;color:var(--admin-text);font-family:var(--font-data);font-size:var(--text-xs);font-weight:650;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .admin-operations-table{padding:12px}
body[data-portal="admin"] .admin-operations-table .table-header{align-items:center;margin-bottom:8px}
body[data-portal="admin"] .admin-operations-table .table-header h3{font-size:var(--text-md)}
body[data-portal="admin"] .admin-operations-table table{table-layout:fixed;min-width:980px;font-size:var(--text-xs)}
body[data-portal="admin"] .admin-operations-table th,
body[data-portal="admin"] .admin-operations-table td{height:58px;padding:5px 7px;line-height:1.12;vertical-align:middle}
body[data-portal="admin"] .admin-operations-table th{font-size:10px;letter-spacing:.045em}
body[data-portal="admin"] .admin-operations-table th{height:34px;padding:4px 7px;white-space:nowrap}
body[data-portal="admin"] .admin-operations-table th:nth-child(1){width:82px}
body[data-portal="admin"] .admin-operations-table th:nth-child(2){width:170px}
body[data-portal="admin"] .admin-operations-table th:nth-child(3){width:90px}
body[data-portal="admin"] .admin-operations-table th:nth-child(4){width:58px}
body[data-portal="admin"] .admin-operations-table th:nth-child(5){width:108px}
body[data-portal="admin"] .admin-operations-table th:nth-child(6){width:114px}
body[data-portal="admin"] .admin-operations-table th:nth-child(7){width:105px}
body[data-portal="admin"] .admin-operations-table th:nth-child(8){width:68px}
body[data-portal="admin"] .admin-operations-table th:nth-child(9){width:170px}
body[data-portal="admin"] .admin-opportunity-directory-row{cursor:pointer;transition:background-color .16s ease}
body[data-portal="admin"] .admin-opportunity-directory-row:hover,
body[data-portal="admin"] .admin-opportunity-directory-row.is-expanded{background:rgba(108,149,130,.055)}
body[data-portal="admin"] .admin-opportunity-row-toggle{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:5px;border:0;background:transparent;color:var(--admin-text);cursor:pointer;padding:6px 0;text-align:left}
body[data-portal="admin"] .admin-opportunity-row-toggle strong{overflow:hidden;font-family:var(--font-data);font-size:11px;font-weight:680;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .admin-opportunity-row-toggle span{color:var(--admin-muted);font-size:11px}
body[data-portal="admin"] .admin-opportunity-row-toggle:focus-visible{outline:2px solid rgba(49,94,75,.45);outline-offset:2px}
body[data-portal="admin"] .admin-product-cell{min-width:0}
body[data-portal="admin"] .admin-product-cell strong{display:block;overflow:hidden;max-width:100%;font-size:var(--text-sm);font-weight:650;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .admin-created-cell{font-family:var(--font-data);font-variant-numeric:tabular-nums;white-space:nowrap}
body[data-portal="admin"] .admin-created-cell span{display:none}
body[data-portal="admin"] .admin-created-cell strong{font-size:10px;font-weight:680}
body[data-portal="admin"] .admin-money-cell{font-variant-numeric:tabular-nums;white-space:nowrap}
body[data-portal="admin"] .admin-money-cell.is-profit{color:#315e4b;font-weight:680}
body[data-portal="admin"] .admin-currency-cell{font-family:var(--font-data);font-weight:680;letter-spacing:.04em}
body[data-portal="admin"] .admin-score-compact{gap:5px;flex-wrap:nowrap}
body[data-portal="admin"] .admin-score-compact strong{font-size:var(--text-sm);font-weight:700}
body[data-portal="admin"] .admin-score-compact span{overflow:hidden;max-width:72px;color:var(--admin-muted);font-size:10px;text-overflow:ellipsis;text-transform:none;white-space:nowrap}
body[data-portal="admin"] .admin-operations-table .status{min-height:22px;padding:2px 7px;font-size:10px;letter-spacing:.035em}
body[data-portal="admin"] .admin-row-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:4px}
body[data-portal="admin"] .admin-row-actions .small-action{min-height:28px;padding:0 7px;border-radius:var(--radius-sm);font-size:10px;font-weight:700;letter-spacing:.02em;line-height:1;white-space:nowrap}
body[data-portal="admin"] .admin-row-actions .admin-kebab-action{width:30px;padding:0;font-size:16px}
body[data-portal="admin"] .admin-opportunity-overflow{position:relative;display:inline-flex;flex:0 0 auto}
body[data-portal="admin"] .admin-opportunity-menu{position:absolute;z-index:60;top:calc(100% + 5px);right:0;display:grid;min-width:126px;padding:4px;border:1px solid var(--admin-line-strong);border-radius:var(--radius-sm);background:var(--admin-surface);box-shadow:0 12px 28px rgba(18,35,28,.16)}
body[data-portal="admin"] .admin-opportunity-menu-item{display:flex;width:100%;min-height:32px;align-items:center;padding:6px 9px;border:0;border-radius:calc(var(--radius-sm) - 2px);background:transparent;color:var(--admin-text);font:inherit;font-size:10px;font-weight:720;letter-spacing:.035em;text-align:left;text-transform:uppercase;cursor:pointer}
body[data-portal="admin"] .admin-opportunity-menu-item:hover{background:rgba(155,49,49,.07);color:#8f2525}
body[data-portal="admin"] .admin-opportunity-menu-item.is-danger{color:#8f2525}
body[data-portal="admin"] .admin-kebab-action:focus-visible,
body[data-portal="admin"] .admin-opportunity-menu-item:focus-visible{outline:2px solid rgba(49,94,75,.52);outline-offset:2px}
body[data-portal="admin"] .admin-opportunity-directory-row:nth-last-child(-n+4) .admin-opportunity-menu{top:auto;bottom:calc(100% + 5px)}
body[data-portal="admin"] .admin-opportunity-expanded-row>td{height:auto;padding:0 7px 10px;background:rgba(108,149,130,.035)}
body[data-portal="admin"] .admin-opportunity-expanded-detail{padding:10px;border:1px solid var(--admin-line);border-radius:var(--radius-sm);background:var(--admin-surface)}
body[data-portal="admin"] .admin-opportunity-expanded-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:10px;align-items:start}
body[data-portal="admin"] .admin-opportunity-expanded-secondary{display:grid;gap:10px;min-width:0}
body[data-portal="admin"] .admin-opportunity-expanded-detail .admin-financial-summary,
body[data-portal="admin"] .admin-opportunity-expanded-detail .admin-imported-panel{margin:0;min-width:0}
body[data-portal="admin"] .admin-operational-detail .admin-imported-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-portal="admin"] .admin-operation-mobile-card{display:grid;gap:7px;padding:9px;border:1px solid var(--admin-line);border-radius:var(--radius-sm);background:var(--admin-surface-raised);cursor:pointer}
body[data-portal="admin"] .admin-operation-mobile-card.is-expanded{border-color:rgba(49,94,75,.24);background:rgba(108,149,130,.045)}
body[data-portal="admin"] .admin-operation-mobile-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
body[data-portal="admin"] .admin-operation-mobile-toggle{display:grid;min-width:0;flex:1;gap:2px;border:0;background:transparent;color:var(--admin-text);cursor:pointer;padding:0;text-align:left}
body[data-portal="admin"] .admin-operation-mobile-toggle>span{color:var(--admin-muted);font-family:var(--font-data);font-size:9px;letter-spacing:.05em;text-transform:uppercase}
body[data-portal="admin"] .admin-operation-mobile-toggle .admin-mobile-created{display:inline;color:var(--admin-muted);font:inherit;letter-spacing:inherit;text-transform:inherit}
body[data-portal="admin"] .admin-operation-mobile-toggle>strong{display:block;overflow:hidden;font-size:var(--text-sm);font-weight:680;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .admin-operation-mobile-toggle>small{color:#315e4b;font-size:9px;font-weight:650}
body[data-portal="admin"] .admin-operation-mobile-toggle:focus-visible{outline:2px solid rgba(49,94,75,.45);outline-offset:3px}
body[data-portal="admin"] .admin-operation-mobile-summary{display:grid;grid-template-columns:52px repeat(3,minmax(0,1fr));gap:1px;background:var(--admin-line)}
body[data-portal="admin"] .admin-operation-mobile-summary>span{display:grid;min-width:0;gap:2px;padding:6px 7px;background:var(--admin-surface)}
body[data-portal="admin"] .admin-operation-mobile-summary small{color:var(--admin-muted);font-family:var(--font-data);font-size:8px;letter-spacing:.035em;text-transform:uppercase}
body[data-portal="admin"] .admin-operation-mobile-summary strong{overflow:hidden;font-size:10px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .admin-operation-mobile-summary strong.is-profit{color:#315e4b}
body[data-portal="admin"] .admin-operation-mobile-card .admin-row-actions{justify-content:flex-start}
body[data-portal="admin"] .admin-operations-mobile{display:none}
body[data-portal="admin"] .toast{border:1px solid rgba(177,208,193,.12);background:#17201b;color:#fffdf8;box-shadow:0 18px 44px rgba(18,35,28,.24)}
body[data-portal="admin"] .admin-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:var(--space-4);align-items:start}
body[data-portal="admin"] .admin-commercial-settings-panel{grid-column:1/-1}

/* Login / access visual direction */
body[data-portal] .auth-view{
  display:grid;
  place-items:center;
  min-height:100vh;
  padding:clamp(16px,3.5vw,36px);
  font-family:var(--font-ui);
}
body[data-portal] .auth-shell-login{
  width:min(1040px,100%);
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
body[data-portal] .auth-topbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  min-height:46px;
}
body[data-portal] .auth-topbrand{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:inherit;
  text-decoration:none;
}
body[data-portal] .auth-topbrand .brand-mark{
  width:36px;
  height:36px;
  border-radius:9px;
}
body[data-portal] .auth-topbrand .brand-mark img{
  width:36px;
  height:36px;
}
body[data-portal] .auth-topbrand strong{
  display:block;
  color:inherit;
  font-size:15px;
  font-weight:650;
  letter-spacing:-.02em;
  line-height:1.1;
}
body[data-portal] .auth-topbrand small{
  display:block;
  margin-top:2px;
  color:currentColor;
  font-size:11px;
  font-weight:560;
  letter-spacing:.01em;
  opacity:.58;
}
body[data-portal] .auth-topnav{
  display:flex;
  align-items:center;
  gap:4px;
  min-width:0;
  padding:3px;
  border:1px solid currentColor;
  border-radius:999px;
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(12px);
}
body[data-portal] .auth-topnav a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  color:inherit;
  font-size:12px;
  font-weight:620;
  letter-spacing:-.01em;
  line-height:1;
  text-decoration:none;
  opacity:.74;
  transition:background var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard);
}
body[data-portal] .auth-topnav a:hover{
  background:rgba(255,255,255,.075);
  opacity:1;
}
body[data-portal] .auth-topbar .language-switch{
  min-height:34px;
  grid-template-columns:repeat(2,34px);
  border-radius:999px;
  padding:2px;
}
body[data-portal] .auth-topbar .language-option{
  border-radius:999px;
  font-size:11px;
  font-weight:760;
}
body[data-portal] .auth-split-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px,.92fr) minmax(360px,430px);
  min-height:454px;
  overflow:hidden;
  border-radius:18px;
}
body[data-portal] .auth-visual-panel{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:flex-end;
  min-height:454px;
  padding:32px;
  overflow:hidden;
  background:#050b09;
}
body[data-portal] .auth-visual-panel::before,
body[data-portal] .auth-visual-panel::after,
body[data-portal] .auth-visual-glass{
  content:"";
  position:absolute;
  pointer-events:none;
}
body[data-portal] .auth-visual-panel::before{
  inset:0;
  background-size:cover;
  background-repeat:no-repeat;
  z-index:-3;
}
body[data-portal] .auth-visual-panel::after{
  content:none;
  display:none;
}
body[data-portal] .auth-visual-glass{
  display:none;
}
body[data-portal] .auth-visual-content{
  position:relative;
  z-index:1;
  width:min(330px,100%);
  text-shadow:0 2px 18px rgba(0,0,0,.42);
}
body[data-portal] .auth-visual-kicker{
  margin:0 0 18px;
  font-family:var(--font-data);
  font-size:12px;
  font-weight:650;
  letter-spacing:.18em;
}
body[data-portal] .auth-visual-content h2{
  margin:0;
  font-size:clamp(30px,4.2vw,48px);
  font-weight:560;
  letter-spacing:-.06em;
  line-height:.98;
}
body[data-portal] .auth-visual-content p:not(.auth-visual-kicker){
  max-width:30ch;
  margin:18px 0 0;
  color:currentColor;
  font-size:14px;
  font-weight:480;
  line-height:1.5;
  opacity:.72;
}
body[data-portal] .auth-login-panel{
  display:grid;
  align-content:center;
  width:100%;
  min-width:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:30px 34px;
}
body[data-portal] .auth-login-panel .panel-heading{
  margin-bottom:18px;
}
body[data-portal] .auth-login-panel .panel-heading h1{
  font-size:31px;
  line-height:1.02;
}
body[data-portal] .auth-login-panel .eyebrow{
  margin-bottom:6px;
  font-size:11px;
  letter-spacing:.12em;
}
body[data-portal] .auth-login-panel .field{
  gap:5px;
  margin-bottom:12px;
}
body[data-portal] .auth-login-panel .field>span{
  font-family:var(--font-data);
  font-size:10px;
  font-weight:650;
  letter-spacing:.08em;
}
body[data-portal] .auth-login-panel .field input{
  min-height:43px;
  border-radius:9px;
  padding:9px 11px;
  font-size:14px;
}
body[data-portal] .auth-login-panel .primary-action{
  min-height:43px;
  margin-top:2px;
  border-radius:10px;
  font-size:12px;
  font-weight:760;
  letter-spacing:.045em;
  text-transform:uppercase;
}
body[data-portal] .auth-login-panel .passkey-action{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:42px;
  margin:0 0 12px;
  border:1px solid rgba(142,170,156,.18);
  border-radius:10px;
  background:rgba(12,26,22,.08);
  color:currentColor;
  font-size:12px;
  font-weight:760;
  letter-spacing:.035em;
  text-transform:uppercase;
  cursor:pointer;
}
body[data-portal] .auth-login-panel .passkey-action:hover{
  transform:translateY(-1px);
}
body[data-portal="partner"] .auth-login-panel .passkey-login-choice,
body[data-portal="partner"] .auth-login-panel .password-login-fields{
  display:grid;
  min-width:0;
}
body[data-portal="partner"] .auth-login-panel .passkey-login-choice.is-hidden,
body[data-portal="partner"] .auth-login-panel .password-login-fields.is-hidden{
  display:none;
}
body[data-portal="partner"] .auth-login-panel .passkey-login-choice .passkey-action{
  min-height:48px;
  margin-top:4px;
  background:#315e4b;
  border-color:#315e4b;
  color:#fffdf8;
}
body[data-portal="partner"] .auth-login-panel .passkey-login-choice .passkey-action:hover{
  background:#285942;
}
body[data-portal="partner"] .passkey-enrollment-suggestion{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
}
body[data-portal] .auth-login-panel .passkey-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  flex:0 0 20px;
  line-height:1;
}
body[data-portal] .passkey-icon svg{
  display:block;
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
body[data-portal] .auth-login-panel .passkey-privacy{
  margin:-5px 0 10px;
  font-size:11px;
  line-height:1.35;
  opacity:.68;
}
body[data-portal] .auth-login-panel .passkey-fallback{
  justify-self:center;
  margin:-2px 0 10px;
  padding:0;
}
body[data-portal] .auth-login-panel .auth-install-action{
  justify-self:center;
  width:auto;
  min-height:30px;
  margin-top:10px;
  padding:5px 8px;
  border:0;
  background:transparent;
  font-size:11px;
  opacity:.74;
}
body[data-portal] .auth-login-panel .auth-note{
  margin:-1px 0 12px;
  font-size:12px;
  font-weight:560;
  line-height:1.4;
}
body[data-portal] .auth-login-panel .form-link-row{
  margin:-5px 0 10px;
}
body[data-portal] .auth-login-panel .auth-subtle-link{
  display:flex;
  justify-content:center;
  gap:5px;
  margin:12px 0 0;
  color:currentColor;
  font-size:12px;
  font-weight:540;
  opacity:.78;
}
body[data-portal] .auth-login-panel .auth-subtle-link a,
body[data-portal] .auth-login-panel .auth-link{
  font-size:12px;
  font-weight:620;
}
body[data-portal] .auth-powered{
  margin-top:2px;
  font-size:12px;
  font-weight:610;
}
body[data-portal="partner"] .auth-view{
  background:
    radial-gradient(circle at 90% 8%,rgba(108,149,130,.13),transparent 21rem),
    radial-gradient(circle at 0% 100%,rgba(170,138,88,.10),transparent 24rem),
    var(--partner-bg);
}
body[data-portal="partner"] .auth-topbar,
body[data-portal="partner"] .auth-topbar a{
  color:var(--partner-text);
}
body[data-portal="partner"] .auth-topnav,
body[data-portal="partner"] .auth-topbar .language-switch{
  border-color:var(--partner-line);
  background:rgba(255,253,248,.56);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
}
body[data-portal="partner"] .auth-topbar .language-option{
  color:var(--partner-muted);
}
body[data-portal="partner"] .auth-topbar .language-option.is-active{
  background:var(--partner-surface-raised);
  color:var(--partner-text);
  box-shadow:0 1px 5px rgba(18,35,28,.08);
}
body[data-portal="partner"] .auth-split-card{
  border:1px solid var(--partner-line);
  background:var(--partner-surface);
  box-shadow:0 30px 80px rgba(18,35,28,.08),inset 0 1px 0 rgba(255,255,255,.85);
}
body[data-portal="partner"] .auth-visual-panel{
  color:#eef3ee;
  border-right:1px solid rgba(17,36,28,.1);
}
body[data-portal="partner"] .auth-visual-panel::before{
  background:
    linear-gradient(90deg,rgba(5,16,13,.70) 0%,rgba(5,16,13,.46) 38%,rgba(5,16,13,.10) 78%),
    radial-gradient(circle at 84% 18%,rgba(142,170,156,.14),transparent 18rem),
    url("/netinvest-editorial.png");
  background-size:cover;
  background-repeat:no-repeat;
  background-position:86% 50%;
}
body[data-portal="partner"] .auth-visual-kicker{
  color:var(--partner-gold);
}
body[data-portal="partner"] .auth-login-panel{
  background:rgba(255,253,248,.86);
}
body[data-portal="partner"] .auth-login-panel .primary-action{
  border-color:#315e4b;
  background:#315e4b;
  color:#fffdf8;
}
body[data-portal="partner"] .auth-login-panel .primary-action:hover{
  background:#285942;
}
body[data-portal="partner"] .auth-login-panel .auth-install-action{
  color:#31735a;
}
body[data-portal="admin"] .auth-view{
  background:
    radial-gradient(circle at 90% 8%,rgba(108,149,130,.13),transparent 21rem),
    radial-gradient(circle at 0% 100%,rgba(170,138,88,.10),transparent 24rem),
    var(--admin-bg);
}
body[data-portal="admin"] .auth-topbar,
body[data-portal="admin"] .auth-topbar a{
  color:var(--admin-text);
}
body[data-portal="admin"] .auth-topnav,
body[data-portal="admin"] .auth-topbar .language-switch{
  border-color:rgba(17,36,28,.09);
  background:rgba(255,253,248,.56);
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
}
body[data-portal="admin"] .auth-topbar .language-option{
  color:var(--admin-muted);
}
body[data-portal="admin"] .auth-topbar .language-option.is-active{
  background:#fffdf8;
  color:var(--admin-text);
  box-shadow:0 1px 5px rgba(18,35,28,.08);
}
body[data-portal="admin"] .auth-split-card{
  border:1px solid rgba(17,36,28,.09);
  background:var(--admin-surface);
  box-shadow:0 30px 80px rgba(18,35,28,.08),inset 0 1px 0 rgba(255,255,255,.85);
}
body[data-portal="admin"] .auth-visual-panel{
  color:#eef3ee;
  border-right:1px solid rgba(17,36,28,.1);
}
body[data-portal="admin"] .auth-visual-panel::before{
  background:
    linear-gradient(90deg,rgba(5,16,13,.70) 0%,rgba(5,16,13,.46) 38%,rgba(5,16,13,.10) 78%),
    radial-gradient(circle at 84% 18%,rgba(142,170,156,.14),transparent 18rem),
    url("/netinvest-editorial.png");
  background-size:cover;
  background-repeat:no-repeat;
  background-position:90% 50%;
}
body[data-portal="admin"] .auth-visual-kicker{
  color:var(--admin-accent);
}
body[data-portal="admin"] .auth-login-panel{
  background:rgba(255,253,248,.86);
}
body[data-portal="admin"] .auth-login-panel .primary-action{
  background:#2f674f;
  color:#fffdf8;
}
body[data-portal="admin"] .auth-login-panel .primary-action:hover{
  background:#285942;
}
body[data-portal="admin"] .auth-login-panel .auth-install-action{
  color:#31735a;
}

@media(max-width:899px){
 body[data-portal="admin"] .portal-view:not(.is-hidden){min-height:100vh;background:var(--admin-bg)}
 body[data-portal="admin"] .app-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:calc(10px + env(safe-area-inset-top)) var(--space-4) 10px;border-bottom:1px solid var(--admin-line);background:var(--admin-sidebar);color:#edf2ee}
 body[data-portal="admin"] .app-brand{min-width:0}
 body[data-portal="admin"] .app-brand strong{color:#f2f4f1}
 body[data-portal="admin"] .app-brand>div>span,body[data-portal="admin"] .sync-status{display:none}
 body[data-portal="admin"] #mobileMenuButton{display:inline-flex;border:1px solid rgba(177,208,193,.14);background:var(--admin-sidebar-raised);color:#edf2ee}
 body[data-portal="admin"] .main-nav.admin-nav{position:fixed!important;top:0;bottom:0;left:0;z-index:90;display:grid;align-content:start;grid-template-columns:1fr;width:min(286px,84vw);height:100vh;padding:calc(18px + env(safe-area-inset-top)) var(--space-3) calc(18px + env(safe-area-inset-bottom));border-right:1px solid rgba(177,208,193,.1);background:var(--admin-sidebar);box-shadow:24px 0 48px rgba(0,0,0,.24);transform:translateX(-105%);transition:transform var(--duration-normal) var(--ease-standard)}
 body[data-portal="admin"].is-mobile-menu-open .main-nav.admin-nav{transform:translateX(0)}
 body[data-portal="admin"] .main-nav.admin-nav .nav-item{display:grid;grid-template-columns:22px minmax(0,1fr);justify-content:start;gap:10px;min-height:42px;padding:9px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:rgba(232,238,233,.68);text-align:left}
 body[data-portal="admin"] .main-nav.admin-nav .nav-item.is-active{background:var(--admin-sidebar-raised);color:var(--ni-mint-300);box-shadow:inset 2px 0 0 var(--ni-mint-500)}
 body[data-portal="admin"] .main-nav.admin-nav .nav-label{display:block;font-size:var(--text-sm);font-weight:610;white-space:normal}
 body[data-portal="admin"] .topbar-actions{display:flex;margin-left:auto}
 body[data-portal="admin"] .portal-home-link,body[data-portal="admin"] .portal-partner-link,body[data-portal="admin"] .install-action,body[data-portal="admin"] #logoutButton .logout-label{display:none}
 body[data-portal="admin"] .language-switch{border:1px solid rgba(177,208,193,.12);background:rgba(255,255,255,.035)}
 body[data-portal="admin"] .language-switch button{color:rgba(232,238,233,.6)}
 body[data-portal="admin"] .language-switch button.is-active{background:var(--admin-sidebar-raised);color:#edf2ee}
 body[data-portal="admin"] .mobile-menu-backdrop{display:none;position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.48)}
 body[data-portal="admin"] .main-shell{padding:var(--space-4);background:radial-gradient(circle at 100% 0%,rgba(170,138,88,.08),transparent 20rem),var(--admin-bg)}
 body[data-portal="admin"] .topbar{display:block;padding:0 0 var(--space-4);border-bottom:0}
 body[data-portal="admin"] .topbar h2{font-size:var(--text-2xl)}
 body[data-portal="admin"] .admin-form-grid,body[data-portal="admin"] .admin-form-grid.is-single,body[data-portal="admin"] .admin-opportunities-toolbar{grid-template-columns:1fr}
 body[data-portal="admin"] .admin-id-grid{grid-template-columns:1fr}
 body[data-portal="admin"] .admin-grid,body[data-portal="admin"] .admin-account-grid,body[data-portal="admin"] .admin-overview-grid{grid-template-columns:1fr}
 body[data-portal="admin"] .compact-metric-grid.admin-action-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="admin"] .table-panel{padding:12px}
 body[data-portal="admin"] .table-wrap table{min-width:720px}
 body[data-portal="admin"] .admin-commercial-settings-panel{grid-column:auto}
}

@media(max-width:520px){
 body[data-portal="partner"] .auth-view,body[data-portal="admin"] .auth-view{padding:16px}
 body[data-portal="partner"] .login-panel,body[data-portal="admin"] .login-panel{padding:var(--space-5)}
 body[data-portal="partner"] .auth-brand,body[data-portal="admin"] .auth-brand{align-items:flex-start}
 body[data-portal="partner"] .auth-shortcuts,body[data-portal="admin"] .auth-shortcuts{display:none}
 body[data-portal="partner"] .analysis-dialog,body[data-portal="admin"] .analysis-dialog{padding:18px 14px}
 body[data-portal="partner"] .report-grid,body[data-portal="admin"] .report-grid{grid-template-columns:1fr}
 body[data-portal="partner"] .detail-grid,body[data-portal="partner"] .fact-grid,body[data-portal="partner"] .checkout-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
 body[data-portal] .auth-view{align-items:start;padding:14px}
 body[data-portal] .auth-shell-login{width:min(100%,362px);gap:10px}
 body[data-portal] .auth-topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 body[data-portal] .auth-topnav{order:3;grid-column:1/-1;justify-self:stretch;overflow-x:auto;scrollbar-width:none}
 body[data-portal] .auth-topnav::-webkit-scrollbar{display:none}
 body[data-portal] .auth-topnav a{min-height:29px;padding:0 10px;font-size:11px}
 body[data-portal] .auth-topbar .language-switch{grid-column:2;grid-row:1;min-height:32px;grid-template-columns:repeat(2,32px)}
 body[data-portal] .auth-split-card{grid-template-columns:1fr;min-height:0;border-radius:15px}
 body[data-portal] .auth-visual-panel{min-height:150px;padding:18px;align-items:flex-end;border-right:0;border-bottom:1px solid currentColor}
 body[data-portal] .auth-visual-content{width:100%}
 body[data-portal] .auth-visual-kicker{margin-bottom:8px;font-size:10px}
 body[data-portal] .auth-visual-content h2{max-width:13ch;font-size:27px;line-height:1}
 body[data-portal] .auth-visual-content p:not(.auth-visual-kicker){max-width:32ch;margin-top:9px;font-size:12px;line-height:1.35}
 body[data-portal="partner"] .auth-visual-panel::before{background-position:88% 48%}
 body[data-portal="admin"] .auth-visual-panel::before{background-position:90% 48%}
 body[data-portal] .auth-login-panel{padding:20px!important;align-content:start}
 body[data-portal] .auth-login-panel .panel-heading{margin-bottom:15px}
 body[data-portal] .auth-login-panel .panel-heading h1{font-size:29px}
 body[data-portal] .auth-login-panel .field{margin-bottom:11px}
 body[data-portal] .auth-login-panel .field input{min-height:43px}
 body[data-portal] .auth-login-panel .primary-action{min-height:43px}
 body[data-portal] .auth-powered{font-size:11px}
 body[data-portal="partner"] .auth-visual-panel{border-bottom-color:rgba(218,226,219,.08)}
 body[data-portal="admin"] .auth-visual-panel{border-bottom-color:rgba(17,36,28,.08)}
}

@media(max-width:360px){
 body[data-portal] .auth-view{padding:10px}
 body[data-portal] .auth-topbrand .brand-mark,
 body[data-portal] .auth-topbrand .brand-mark img{width:32px;height:32px}
 body[data-portal] .auth-topnav a{padding:0 8px}
 body[data-portal] .auth-topbar .language-switch{grid-template-columns:repeat(2,30px)}
 body[data-portal] .auth-login-panel{padding:17px!important}
}

/* Admin Opportunities desktop density and detail workspace */
body[data-portal="admin"] .admin-operation-editor{display:grid;gap:10px;padding:14px;overflow:visible}
body[data-portal="admin"] .admin-operation-editor>.table-header{align-items:center;margin-bottom:0}
body[data-portal="admin"] .admin-operation-editor>.table-header h3{font-size:var(--text-xl);line-height:1.1}
body[data-portal="admin"] .admin-operation-workspace{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(280px,1fr);gap:14px;align-items:start}
body[data-portal="admin"] .admin-operation-main{display:grid;min-width:0;gap:10px}
body[data-portal="admin"] .admin-operation-sidebar{position:sticky;top:24px;display:grid;min-width:0;gap:10px}
body[data-portal="admin"] .admin-imported-panel,
body[data-portal="admin"] .admin-editable-section{border:1px solid var(--admin-line);border-radius:var(--radius-md);background:var(--admin-surface);box-shadow:none}
body[data-portal="admin"] .admin-imported-panel{padding:10px 12px}
body[data-portal="admin"] .admin-editable-section{padding:11px 12px 12px}
body[data-portal="admin"] .admin-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}
body[data-portal="admin"] .admin-section-heading .eyebrow{margin:0 0 2px;font-size:9px}
body[data-portal="admin"] .admin-section-heading h4{margin:0;color:var(--admin-text);font-size:var(--text-sm);line-height:1.15}
body[data-portal="admin"] .admin-section-heading>span{color:var(--admin-muted);font-family:var(--font-data);font-size:9px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
body[data-portal="admin"] .admin-imported-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border-top:1px solid var(--admin-line);border-left:1px solid var(--admin-line)}
body[data-portal="admin"] .admin-imported-grid>div{min-width:0;padding:7px 9px;border-right:1px solid var(--admin-line);border-bottom:1px solid var(--admin-line);background:rgba(108,149,130,.025)}
body[data-portal="admin"] .admin-imported-grid dt{overflow:hidden;margin:0 0 3px;color:var(--admin-muted);font-family:var(--font-data);font-size:9px;font-weight:620;letter-spacing:.045em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
body[data-portal="admin"] .admin-imported-grid dd{overflow:hidden;margin:0;color:var(--admin-text);font-size:11px;font-weight:630;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .admin-operation-editor .admin-form-grid{gap:8px 10px}
body[data-portal="admin"] .admin-operation-editor .admin-commercial-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
body[data-portal="admin"] .admin-operation-editor .field{gap:4px;margin-bottom:0}
body[data-portal="admin"] .admin-operation-editor .field>span{font-size:10px;line-height:1.15;min-height:0}
body[data-portal="admin"] .admin-operation-editor .field input,
body[data-portal="admin"] .admin-operation-editor .field select{min-height:36px;padding:7px 9px}
body[data-portal="admin"] .admin-editor-actions{justify-content:flex-start;gap:7px;margin:0}
body[data-portal="admin"] .admin-editor-actions .primary-action{min-height:40px;padding:8px 14px}
body[data-portal="admin"] .admin-editor-actions .secondary-action,
body[data-portal="admin"] .risk-override-form .danger-action{min-height:34px;padding:7px 11px}
body[data-portal="admin"] .admin-risk-decision{display:grid;gap:9px;padding:11px 12px;border:1px solid var(--admin-line);border-radius:var(--radius-md);background:var(--admin-surface)}
body[data-portal="admin"] .admin-risk-decision .admin-section-heading{margin-bottom:0}
body[data-portal="admin"] .admin-risk-override-label{padding:3px 7px;border:1px solid var(--admin-line-strong);border-radius:999px;background:var(--admin-surface-raised);color:var(--admin-muted);font-size:9px}
body[data-portal="admin"] .admin-risk-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
body[data-portal="admin"] .admin-risk-comparison>div{min-width:0;padding:8px 9px;border:1px solid var(--admin-line);border-radius:var(--radius-sm);background:var(--admin-surface-raised)}
body[data-portal="admin"] .admin-risk-comparison dt{color:var(--admin-muted);font-family:var(--font-data);font-size:9px;letter-spacing:.04em;text-transform:uppercase}
body[data-portal="admin"] .admin-risk-comparison dd{overflow:hidden;margin:4px 0 0;color:var(--admin-text);font-size:var(--text-sm);font-weight:680;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .admin-risk-mode{display:flex;align-items:center;gap:14px;margin:0;padding:0;border:0}
body[data-portal="admin"] .admin-risk-mode legend{float:left;margin-right:4px;color:var(--admin-muted);font-family:var(--font-data);font-size:9px;letter-spacing:.04em;text-transform:uppercase}
body[data-portal="admin"] .admin-risk-mode label{display:inline-flex;align-items:center;gap:5px;color:var(--admin-text);font-size:11px;font-weight:620}
body[data-portal="admin"] .admin-risk-mode input{accent-color:var(--admin-accent)}
body[data-portal="admin"] .admin-risk-decision .risk-override-form{grid-template-columns:minmax(130px,.55fr) minmax(220px,1.45fr) auto;align-items:end;padding:0}
body[data-portal="admin"] .admin-risk-decision .risk-override-form .secondary-action{min-height:36px;padding:7px 11px}
body[data-portal="admin"] .admin-collapse,
body[data-portal="admin"] .admin-financial-summary{display:block;width:100%;height:auto;min-height:0;border:1px solid var(--admin-line);border-radius:var(--radius-md);background:var(--admin-surface);color:var(--admin-text);box-shadow:none}
body[data-portal="admin"] .admin-collapse{padding:0}
body[data-portal="admin"] .admin-collapse>summary,
body[data-portal="admin"] .admin-financial-internal>summary{cursor:pointer;list-style:none;padding:9px 12px;color:var(--admin-text);font-family:var(--font-data);font-size:var(--text-xs);font-weight:650;letter-spacing:.045em;text-transform:uppercase}
body[data-portal="admin"] .admin-collapse>summary::-webkit-details-marker,
body[data-portal="admin"] .admin-financial-internal>summary::-webkit-details-marker{display:none}
body[data-portal="admin"] .admin-collapse>summary::before,
body[data-portal="admin"] .admin-financial-internal>summary::before{content:"▸";display:inline-block;margin-right:7px;color:var(--admin-gold)}
body[data-portal="admin"] .admin-collapse[open]>summary::before,
body[data-portal="admin"] .admin-financial-internal[open]>summary::before{transform:rotate(90deg)}
body[data-portal="admin"] .admin-collapse>p{margin:0;padding:0 12px 9px;color:var(--admin-muted);font-size:var(--text-sm)}
body[data-portal="admin"] .admin-collapse>.admin-form-grid{padding:0 12px 12px}
body[data-portal="admin"] .admin-risk-details .netinvest-risk-score{margin:0 12px 12px}
body[data-portal="admin"] .risk-admin-explanation{display:flex;flex-wrap:wrap;gap:5px 12px;padding:8px 10px;border:1px solid var(--admin-line);border-radius:var(--radius-sm);background:var(--admin-surface-raised);color:var(--admin-muted);font-size:10px;line-height:1.35}
body[data-portal="admin"] .risk-admin-explanation strong{flex:1 0 100%;color:var(--admin-text);font-family:var(--font-data);font-size:9px;letter-spacing:.05em}
body[data-portal="admin"] .risk-migration-summary{margin-top:8px;padding:8px 10px;border:1px solid var(--admin-line);background:var(--admin-surface-raised)}
body[data-portal="admin"] .risk-migration-summary .analysis-note{margin:0 0 6px}
body[data-portal="admin"] .risk-migration-metrics{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--admin-muted);font-size:10px}
body[data-portal="admin"] .risk-migration-metrics strong{color:var(--admin-text);font-family:var(--font-data);font-size:9px;text-transform:uppercase}
body[data-portal="admin"] .admin-financial-summary{padding:12px}
body[data-portal="admin"] .admin-financial-summary>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
body[data-portal="admin"] .admin-financial-summary>header .eyebrow{margin:0 0 3px;font-size:9px}
body[data-portal="admin"] .admin-financial-summary>header strong{display:block;overflow:hidden;max-width:210px;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .admin-summary-rows{margin:0}
body[data-portal="admin"] .admin-summary-head,
body[data-portal="admin"] .admin-summary-rows>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(86px,auto) 58px;align-items:baseline;gap:8px;border-bottom:1px solid var(--admin-line)}
body[data-portal="admin"] .admin-summary-head{padding:4px 0;border-top:1px solid var(--admin-line);color:var(--admin-muted);font-family:var(--font-data);font-size:8px;font-weight:650;letter-spacing:.045em;text-transform:uppercase}
body[data-portal="admin"] .admin-summary-rows>div{padding:6px 0}
body[data-portal="admin"] .admin-summary-head span:nth-child(n+2){text-align:right}
body[data-portal="admin"] .admin-summary-rows dt{color:var(--admin-muted);font-size:10px;line-height:1.15}
body[data-portal="admin"] .admin-summary-rows dd{overflow:hidden;max-width:160px;margin:0;color:var(--admin-text);font-size:11px;font-weight:680;font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}
body[data-portal="admin"] .admin-summary-rows .admin-summary-percent{max-width:none;color:var(--admin-muted);font-size:10px;font-weight:620}
body[data-portal="admin"] .admin-summary-rows .admin-summary-percent.is-important{color:var(--admin-accent);font-weight:720}
body[data-portal="admin"] .admin-risk-headline{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:9px;padding:9px 10px;border:1px solid var(--admin-line);border-radius:var(--radius-sm);background:var(--admin-surface-raised)}
body[data-portal="admin"] .admin-risk-headline>span{color:var(--admin-muted);font-family:var(--font-data);font-size:9px;letter-spacing:.05em;text-transform:uppercase}
body[data-portal="admin"] .admin-risk-headline>strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums}
body[data-portal="admin"] .admin-risk-headline small{font-size:10px;font-weight:620}
body[data-portal="admin"] .admin-financial-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body[data-portal="admin"] .admin-financial-metric{min-height:0;height:auto;padding:8px 10px;border:1px solid var(--admin-line);border-radius:var(--radius-sm);background:var(--admin-surface-raised);box-shadow:none}
body[data-portal="admin"] .admin-financial-metric span,
body[data-portal="admin"] .admin-financial-metric small{display:block;color:var(--admin-muted);font-size:10px;font-weight:560;line-height:1.2}
body[data-portal="admin"] .admin-financial-metric span{font-family:var(--font-data);letter-spacing:.04em;text-transform:uppercase}
body[data-portal="admin"] .admin-financial-metric strong{display:block;margin-top:3px;color:var(--admin-text);font-size:var(--text-sm);font-weight:680;line-height:1.15;font-variant-numeric:tabular-nums}
body[data-portal="admin"] .admin-financial-metric small{margin-top:3px}
body[data-portal="admin"] .admin-financial-summary .clean-list{margin:8px 0 0;padding-left:16px;color:var(--admin-muted);font-size:10px}
body[data-portal="admin"] .admin-financial-internal{margin-top:8px;border:1px solid var(--admin-line);border-radius:var(--radius-sm);background:rgba(108,149,130,.045)}
body[data-portal="admin"] .admin-financial-internal-metrics{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 9px 9px}

@media(max-width:899px){
 body[data-portal="admin"] .admin-operations-table>.table-wrap{display:none}
 body[data-portal="admin"] .admin-operations-mobile{display:grid;gap:8px}
 body[data-portal="admin"] .admin-opportunity-expanded-grid{grid-template-columns:1fr}
 body[data-portal="admin"] .admin-operation-workspace{grid-template-columns:1fr}
 body[data-portal="admin"] .admin-operation-sidebar{position:static}
 body[data-portal="admin"] .admin-imported-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="admin"] .admin-operation-editor .admin-commercial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="admin"] .admin-financial-metrics,
 body[data-portal="admin"] .admin-financial-internal-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:520px){
 body[data-portal="admin"] .admin-operation-editor{padding:12px;gap:9px}
 body[data-portal="admin"] .admin-opportunities-command .system-notice{display:grid;gap:3px}
 body[data-portal="admin"] .admin-imported-grid{grid-template-columns:1fr}
 body[data-portal="admin"] .admin-operation-editor .admin-commercial-grid{grid-template-columns:1fr}
 body[data-portal="admin"] .admin-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-portal="admin"] .admin-financial-metrics,
 body[data-portal="admin"] .admin-financial-internal-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 body[data-portal="admin"] .admin-financial-metric{padding:8px}
 body[data-portal="admin"] .admin-summary-head,
 body[data-portal="admin"] .admin-summary-rows>div{grid-template-columns:minmax(0,1fr) minmax(78px,auto) 52px;gap:6px}
 body[data-portal="admin"] .admin-summary-rows dd{font-size:10px}
}

/* PR #13 final authenticated portal polish */
body[data-portal] .portal-view:not(.is-hidden) .secondary-action,
body[data-portal] .portal-view:not(.is-hidden) .ghost-button,
body[data-portal] .portal-view:not(.is-hidden) .small-action,
body[data-portal] .portal-view:not(.is-hidden) .danger-action{
  box-shadow:none;
}

body[data-portal] .portal-view:not(.is-hidden) .status,
body[data-portal] .portal-view:not(.is-hidden) .risk-badge{
  min-height:22px;
  padding:2px 7px;
  font-size:10px;
  letter-spacing:.05em;
}

body[data-portal] .portal-view:not(.is-hidden) .filter-bar,
body[data-portal] .portal-view:not(.is-hidden) .subtab-bar,
body[data-portal] .portal-view:not(.is-hidden) .passkey-management-panel,
body[data-portal] .portal-view:not(.is-hidden) .checkout-action-panel,
body[data-portal] .portal-view:not(.is-hidden) .checkout-redirect-notice{
  box-shadow:none;
  backdrop-filter:blur(16px);
}

body[data-portal] .portal-view:not(.is-hidden) .passkey-management-panel{
  padding:14px;
}

body[data-portal] .portal-view:not(.is-hidden) .passkey-list{
  display:grid;
  gap:7px;
}

body[data-portal] .portal-view:not(.is-hidden) .passkey-row,
body[data-portal] .portal-view:not(.is-hidden) .document-item{
  min-height:42px;
}

@media(min-width:761px){
  body[data-portal] .portal-view:not(.is-hidden) .primary-action{
    min-height:40px;
    padding:8px 12px;
  }

  body[data-portal] .portal-view:not(.is-hidden) .secondary-action,
  body[data-portal] .portal-view:not(.is-hidden) .ghost-button,
  body[data-portal] .portal-view:not(.is-hidden) .small-action,
  body[data-portal] .portal-view:not(.is-hidden) .danger-action{
    min-height:36px;
    padding:7px 10px;
  }

  body[data-portal] .portal-view:not(.is-hidden) .icon-action{
    min-height:34px;
    min-width:34px;
    width:34px;
    padding:6px;
  }
}

@media(max-width:760px){
  body[data-portal] .portal-view:not(.is-hidden) .primary-action,
  body[data-portal] .portal-view:not(.is-hidden) .secondary-action,
  body[data-portal] .portal-view:not(.is-hidden) .ghost-button,
  body[data-portal] .portal-view:not(.is-hidden) .danger-action{
    min-height:44px;
    padding:8px 11px;
  }
}

@media(max-width:760px){
 body[data-portal="admin"] .admin-risk-comparison{grid-template-columns:1fr}
 body[data-portal="admin"] .admin-risk-mode{align-items:flex-start;flex-direction:column;gap:7px}
 body[data-portal="admin"] .admin-risk-mode legend{float:none;margin:0 0 2px}
 body[data-portal="admin"] .admin-risk-decision .risk-override-form{grid-template-columns:1fr}
}

body[data-portal="partner"] .portal-view:not(.is-hidden) .app-header{
  border-color:rgba(177,208,193,.1);
  background-color:#081510;
  box-shadow:0 10px 28px rgba(18,35,28,.12);
}

body[data-portal="partner"] .portal-view:not(.is-hidden) .table-panel,
body[data-portal="partner"] .portal-view:not(.is-hidden) .portal-card,
body[data-portal="partner"] .portal-view:not(.is-hidden) .metric-card,
body[data-portal="partner"] .portal-view:not(.is-hidden) .filter-bar,
body[data-portal="partner"] .portal-view:not(.is-hidden) .detail-item,
body[data-portal="partner"] .portal-view:not(.is-hidden) .fact-item,
body[data-portal="partner"] .portal-view:not(.is-hidden) .passkey-management-panel,
body[data-portal="partner"] .portal-view:not(.is-hidden) .checkout-action-panel{
  border-color:var(--partner-line);
  background-color:var(--partner-surface);
  box-shadow:var(--partner-shadow);
}

body[data-portal="partner"] .portal-view:not(.is-hidden) .secondary-action,
body[data-portal="partner"] .portal-view:not(.is-hidden) .ghost-button{
  border-color:var(--partner-line-strong);
  background:rgba(255,253,248,.62);
  color:#315e4b;
}

body[data-portal="partner"] .portal-view:not(.is-hidden) .filter-bar input,
body[data-portal="partner"] .portal-view:not(.is-hidden) .filter-bar select,
body[data-portal="partner"] .portal-view:not(.is-hidden) .field input,
body[data-portal="partner"] .portal-view:not(.is-hidden) .field select,
body[data-portal="partner"] .portal-view:not(.is-hidden) .inline-input{
  border-color:var(--partner-line);
  background:var(--partner-surface-raised);
  color:var(--partner-text);
}

body[data-portal="partner"] .portal-view:not(.is-hidden) .subtab-bar{
  border-color:var(--partner-line);
  background:rgba(255,253,248,.56);
}

body[data-portal="partner"] .portal-view:not(.is-hidden) .subtab.is-active{
  background:rgba(108,149,130,.1);
  color:var(--partner-text);
}

body[data-portal="partner"] .portal-view:not(.is-hidden) .passkey-management-panel .secondary-action{
  width:auto;
}

body[data-portal="partner"] .portal-view:not(.is-hidden) #mobileMenuButton{
  display:none!important;
}

@media(min-width:761px){
  body[data-portal="partner"] .portal-view:not(.is-hidden) .portal-card .primary-action,
  body[data-portal="partner"] .portal-view:not(.is-hidden) .checkout-action-panel .primary-action,
  body[data-portal="partner"] .portal-view:not(.is-hidden) .checkout-action-panel .secondary-action{
    width:auto!important;
  }
}

@media(max-width:760px){
  body[data-portal="partner"] .app-header .main-nav{
    grid-template-columns:repeat(6,minmax(0,1fr));
    right:12px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    left:12px;
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px);
    height:58px;
    padding:5px;
    border-radius:18px;
    background:rgba(8,21,16,.96);
    box-shadow:0 14px 42px rgba(18,35,28,.22),inset 0 1px 0 rgba(238,234,225,.035);
  }

  body[data-portal="partner"] .app-header .nav-item{
    min-height:48px;
    padding:4px 1px;
    border-radius:12px;
    color:rgba(255,255,255,.82);
  }

  body[data-portal="partner"] .app-header .nav-item.is-active{
    background:rgba(181,202,191,.065);
    color:var(--ni-mint-300);
  }

  body[data-portal="partner"] .app-header .nav-icon{
    width:18px;
    height:18px;
    opacity:.92;
  }

  body[data-portal="partner"] .app-header .nav-label{
    max-width:48px;
    font-size:.5rem;
    opacity:1;
  }

  body[data-portal="partner"] .main-shell{
    padding-bottom:calc(78px + env(safe-area-inset-bottom));
  }

  body[data-portal="partner"] .checkout-action-panel{
    bottom:calc(74px + env(safe-area-inset-bottom));
    border-radius:16px;
  }
}

body[data-portal="admin"] .portal-view:not(.is-hidden) .table-panel,
body[data-portal="admin"] .portal-view:not(.is-hidden) .metric-card,
body[data-portal="admin"] .portal-view:not(.is-hidden) .detail-item,
body[data-portal="admin"] .portal-view:not(.is-hidden) .fact-item,
body[data-portal="admin"] .portal-view:not(.is-hidden) .filter-bar,
body[data-portal="admin"] .portal-view:not(.is-hidden) .passkey-management-panel{
  border-color:rgba(17,36,28,.075);
  box-shadow:0 10px 28px rgba(18,35,28,.035),inset 0 1px 0 rgba(255,255,255,.76);
}

body[data-portal="admin"] .portal-view:not(.is-hidden) .secondary-action,
body[data-portal="admin"] .portal-view:not(.is-hidden) .ghost-button{
  border-color:rgba(17,36,28,.10);
  background:rgba(255,253,248,.42);
  color:#2f674f;
}

/* Partner opportunity decision CTA: stateful, compact, and payment-safe. */
body[data-portal="partner"] .opportunity-invest-cta{
  min-height:52px;
  font-size:.82rem;
  letter-spacing:.045em;
}

body[data-portal="partner"] .opportunity-invest-cta.is-ready{
  border-color:rgba(142,170,156,.34);
  background:#285b48;
  color:#fff;
  font-weight:750;
  box-shadow:0 10px 24px rgba(12,41,30,.26),0 0 22px rgba(142,170,156,.10);
}

body[data-portal="partner"] .opportunity-invest-cta.is-ready:hover,
body[data-portal="partner"] .opportunity-invest-cta.is-ready:focus-visible{
  background:#326b56;
  box-shadow:0 13px 28px rgba(12,41,30,.32),0 0 26px rgba(142,170,156,.14);
}

body[data-portal="partner"] .opportunity-invest-cta.is-gated{
  background:var(--partner-surface-hover);
  color:var(--partner-text);
}

body[data-portal="partner"] .opportunity-invest-cta.is-resume{
  background:#496a5b;
  color:#fff;
}

body[data-portal="partner"] .opportunity-invest-cta.is-unavailable:disabled{
  border-color:var(--partner-line-strong);
  background:var(--partner-surface);
  color:var(--partner-text-soft);
  opacity:1;
}

body[data-portal="partner"] .decision-action-note{
  margin:0;
  color:var(--partner-text-soft);
  font-size:.75rem;
  line-height:1.45;
  text-align:center;
}

body[data-portal="partner"] .checkout-reservation-panel > .table-header h3{
  letter-spacing:.035em;
}

@media(max-width:760px){
  body[data-portal="partner"] .opportunity-invest-cta{
    width:100%;
    min-height:54px;
  }
}

body[data-portal="admin"] .portal-view:not(.is-hidden) .secondary-action:hover,
body[data-portal="admin"] .portal-view:not(.is-hidden) .ghost-button:hover{
  border-color:rgba(47,103,79,.20);
  background:rgba(255,253,248,.74);
}

body[data-portal="admin"] .portal-view:not(.is-hidden) .field input,
body[data-portal="admin"] .portal-view:not(.is-hidden) .field select,
body[data-portal="admin"] .portal-view:not(.is-hidden) .filter-bar input,
body[data-portal="admin"] .portal-view:not(.is-hidden) .filter-bar select,
body[data-portal="admin"] .portal-view:not(.is-hidden) .inline-input{
  border-color:rgba(17,36,28,.10);
  background:rgba(255,253,248,.82);
}

@media(min-width:900px){
  body[data-portal="admin"] .portal-view:not(.is-hidden) .app-header{
    gap:18px;
    padding:18px 12px;
  }

  body[data-portal="admin"] .portal-view:not(.is-hidden) .main-nav.admin-nav .nav-item{
    min-height:36px;
    padding:7px 9px;
    color:rgba(232,238,233,.62);
  }

  body[data-portal="admin"] .portal-view:not(.is-hidden) .main-nav.admin-nav .nav-item.is-active{
    background:rgba(181,202,191,.08);
    color:#dbe7df;
    box-shadow:inset 2px 0 0 rgba(177,208,193,.42);
  }

  body[data-portal="admin"] .portal-view:not(.is-hidden) .topbar{
    min-height:34px;
    padding-bottom:14px;
  }

  body[data-portal="admin"] .portal-view:not(.is-hidden) .topbar h2{
    font-size:1.42rem;
  }

  body[data-portal="admin"] .portal-view:not(.is-hidden) .main-shell{
    padding:20px;
  }

  body[data-portal="admin"] .portal-view:not(.is-hidden) .table-panel{
    padding:12px;
  }

  body[data-portal="admin"] .portal-view:not(.is-hidden) th,
  body[data-portal="admin"] .portal-view:not(.is-hidden) td{
    padding:8px 7px;
  }

  body[data-portal="admin"] .portal-view:not(.is-hidden) .admin-subtab-bar{
    padding:3px;
  }

  body[data-portal="admin"] .portal-view:not(.is-hidden) .subtab{
    min-height:31px;
    padding:6px 10px;
  }
}

.checkout-cart-status{display:grid;justify-items:end;gap:3px}.checkout-countdown{font-family:var(--mono);font-size:1.45rem;line-height:1;color:var(--green);letter-spacing:.04em}.checkout-countdown.is-urgent{color:#b3483d}.checkout-cart-actions{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center}.checkout-reservation-panel{max-width:980px;margin-inline:auto}.checkout-focus-shell{padding-block:8px}.checkout-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:760px){.checkout-cart-status{justify-items:start}.checkout-cart-actions{grid-template-columns:1fr}.checkout-cart-actions>*{width:100%}.checkout-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-countdown{font-size:1.3rem}}

/* Direct bank-transfer checkout */
body[data-portal="partner"] .bank-transfer-instructions{display:grid;gap:12px;margin-top:14px;padding:14px;border:1px solid var(--partner-line-strong);background:var(--partner-surface-raised)}
body[data-portal="partner"] .payment-instructions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body[data-portal="partner"] .payment-instruction-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;min-width:0;padding:10px;border:1px solid var(--partner-line);background:var(--partner-surface)}
body[data-portal="partner"] .payment-instruction-field>span{grid-column:1/-1;color:var(--partner-muted);font-size:var(--text-xs);font-weight:650;text-transform:uppercase;letter-spacing:.05em}
body[data-portal="partner"] .payment-instruction-field>strong{min-width:0;overflow-wrap:anywhere;color:var(--partner-text);font-family:var(--mono);font-size:var(--text-sm)}
body[data-portal="partner"] .payment-instruction-field .small-action{min-height:36px;padding:7px 10px}
body[data-portal="partner"] .copy-all-payment-details{width:100%;min-height:44px}
body[data-portal="partner"] .wallet-transfer-steps{display:grid;gap:7px;padding:10px;border:1px solid var(--partner-line-strong);background:rgba(238,234,225,.025)}
body[data-portal="partner"] .wallet-transfer-steps>strong{color:var(--partner-text);font-size:.76rem;letter-spacing:.04em}
body[data-portal="partner"] .wallet-transfer-steps ol{display:grid;gap:5px;margin:0;padding-left:20px;color:var(--partner-text-soft);font-size:.75rem;line-height:1.4}
@media(max-width:420px){body[data-portal="partner"] .bank-transfer-instructions{padding:10px}body[data-portal="partner"] .payment-instructions-grid{grid-template-columns:1fr}body[data-portal="partner"] .payment-instruction-field{padding:9px}body[data-portal="partner"] .checkout-reservation-panel{padding-inline:10px}}

/* Admin financial intelligence */
body[data-portal="admin"] .admin-operational-kpis{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
body[data-portal="admin"] .admin-finance-overview,
body[data-portal="admin"] .admin-finance-page{
  display:grid;
  gap:14px;
  min-width:0;
}
body[data-portal="admin"] .admin-finance-overview{
  margin-top:14px;
  padding-top:16px;
  border-top:1px solid var(--admin-line);
}
body[data-portal="admin"] .finance-section-heading,
body[data-portal="admin"] .finance-card-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
body[data-portal="admin"] .finance-section-heading h3,
body[data-portal="admin"] .finance-card-heading h3{
  margin:3px 0 0;
  color:var(--admin-text);
  font-size:1rem;
  letter-spacing:-.025em;
}
body[data-portal="admin"] .finance-section-heading .eyebrow{
  color:var(--admin-accent);
}
body[data-portal="admin"] .finance-heading-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
body[data-portal="admin"] .finance-currency-toggle{
  display:inline-grid;
  grid-template-columns:repeat(2,1fr);
  padding:3px;
  border:1px solid var(--admin-line);
  background:rgba(17,36,28,.035);
}
body[data-portal="admin"] .finance-currency-toggle button{
  min-width:54px;
  min-height:31px;
  padding:5px 10px;
  border:0;
  background:transparent;
  color:var(--admin-muted);
  font:600 .68rem var(--mono);
  cursor:pointer;
}
body[data-portal="admin"] .finance-currency-toggle button.is-active{
  background:var(--admin-surface);
  color:var(--admin-accent-strong);
  box-shadow:0 1px 4px rgba(17,36,28,.08);
}
body[data-portal="admin"] .finance-balance-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
body[data-portal="admin"] .finance-overview-grid,
body[data-portal="admin"] .finance-kpi-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}
body[data-portal="admin"] .finance-kpi{
  display:grid;
  align-content:start;
  gap:5px;
  min-width:0;
  min-height:86px;
  padding:11px;
  border:1px solid var(--admin-line);
  background:var(--admin-surface);
  box-shadow:var(--admin-shadow);
}
body[data-portal="admin"] .finance-kpi-action{
  width:100%;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
body[data-portal="admin"] .finance-kpi-action:hover{
  border-color:var(--admin-line-strong);
  transform:translateY(-1px);
}
body[data-portal="admin"] .finance-kpi-action:focus-visible{
  outline:2px solid var(--admin-accent);
  outline-offset:2px;
}
body[data-portal="admin"] .finance-kpi>span{
  color:var(--admin-muted);
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:620;
  letter-spacing:.035em;
  line-height:1.25;
  text-transform:uppercase;
}
body[data-portal="admin"] .finance-kpi>strong{
  overflow-wrap:anywhere;
  color:var(--admin-text);
  font-size:clamp(1rem,1.45vw,1.3rem);
  font-weight:620;
  letter-spacing:-.035em;
  line-height:1.05;
}
body[data-portal="admin"] .finance-kpi>small{
  color:var(--admin-muted);
  font-size:.64rem;
  line-height:1.3;
}
body[data-portal="admin"] .finance-kpi.is-balance{
  min-height:96px;
  border-color:rgba(47,103,79,.18);
  background:linear-gradient(135deg,rgba(47,103,79,.06),rgba(255,253,248,.86));
}
body[data-portal="admin"] .finance-kpi.is-balance>strong,
body[data-portal="admin"] .finance-kpi.is-profit>strong{
  color:var(--admin-accent-strong);
}
body[data-portal="admin"] .finance-kpi.is-warn>strong{
  color:#9b4a3e;
}
body[data-portal="admin"] .admin-finance-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
body[data-portal="admin"] .admin-finance-dashboard-grid>.finance-chart-card{
  grid-column:span 8;
}
body[data-portal="admin"] .admin-finance-dashboard-grid>.admin-snapshot-panel{
  grid-column:span 4;
}
body[data-portal="admin"] .admin-finance-dashboard-grid.finance-dashboard-wide>.finance-chart-card{
  grid-column:1/-1;
}
body[data-portal="admin"] .finance-chart-card{
  display:grid;
  align-content:start;
  gap:12px;
  min-width:0;
  min-height:300px;
  padding:14px;
  border:1px solid var(--admin-line);
  background:var(--admin-surface);
  box-shadow:var(--admin-shadow);
}
body[data-portal="admin"] .finance-card-heading p{
  margin:4px 0 0;
  color:var(--admin-muted);
  font-size:.69rem;
}
body[data-portal="admin"] .finance-card-heading>span{
  color:var(--admin-accent-strong);
  font:650 .68rem var(--mono);
}
body[data-portal="admin"] .finance-chart-legend{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  color:var(--admin-muted);
  font-size:.65rem;
}
body[data-portal="admin"] .finance-chart-legend span{
  display:flex;
  align-items:center;
  gap:5px;
}
body[data-portal="admin"] .finance-chart-legend i{
  width:8px;
  height:8px;
  background:#809087;
}
body[data-portal="admin"] .finance-chart-legend i.is-contract,
body[data-portal="admin"] .finance-bar.is-contract{background:#62756c}
body[data-portal="admin"] .finance-chart-legend i.is-profit,
body[data-portal="admin"] .finance-bar.is-profit{background:#b18e57}
body[data-portal="admin"] .finance-chart-legend i.is-inflow,
body[data-portal="admin"] .finance-bar.is-inflow{background:#557a67}
body[data-portal="admin"] .finance-chart-legend i.is-outflow,
body[data-portal="admin"] .finance-bar.is-outflow{background:#8b7165}
body[data-portal="admin"] .finance-chart-legend i.is-adjustment,
body[data-portal="admin"] .finance-bar.is-adjustment{background:#6f7286}
body[data-portal="admin"] .finance-chart-legend i.is-return,
body[data-portal="admin"] .finance-bar.is-return{background:#8a9a80}
body[data-portal="admin"] .finance-monthly-chart{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(42px,1fr));
  gap:6px;
  min-height:210px;
  padding:10px 6px 0;
  border-bottom:1px solid var(--admin-line);
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 49px,rgba(17,36,28,.05) 50px);
}
body[data-portal="admin"] .finance-month-column{
  display:grid;
  grid-template-rows:minmax(160px,1fr) auto;
  gap:7px;
  min-width:0;
}
body[data-portal="admin"] .finance-month-bars{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:3px;
  min-height:160px;
}
body[data-portal="admin"] .finance-bar{
  display:block;
  width:min(13px,38%);
  min-height:0;
  opacity:.9;
  transition:opacity var(--duration-fast) var(--ease-standard);
}
body[data-portal="admin"] .finance-bar:hover{opacity:1}
body[data-portal="admin"] .finance-bar.is-negative{
  opacity:.58;
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.22) 0 2px,transparent 2px 5px);
}
body[data-portal="admin"] .finance-month-column>span{
  overflow:hidden;
  color:var(--admin-muted);
  font:560 .55rem var(--mono);
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body[data-portal="admin"] .finance-empty-state{
  display:grid;
  place-items:center;
  min-height:190px;
  margin:0;
  color:var(--admin-muted);
  font-size:.76rem;
}
body[data-portal="admin"] .finance-filter-toolbar{
  display:grid;
  grid-template-columns:110px 110px minmax(135px,1fr) minmax(135px,1fr) minmax(180px,1.2fr);
  gap:8px;
  align-items:end;
  padding:10px;
  border:1px solid var(--admin-line);
  background:var(--admin-surface);
}
body[data-portal="admin"] .finance-filter-toolbar label,
body[data-portal="admin"] .finance-sort{
  display:grid;
  gap:4px;
  min-width:0;
}
body[data-portal="admin"] .finance-filter-toolbar label>span,
body[data-portal="admin"] .finance-sort>span{
  color:var(--admin-muted);
  font:620 .58rem var(--mono);
  letter-spacing:.04em;
  text-transform:uppercase;
}
body[data-portal="admin"] .finance-filter-toolbar input,
body[data-portal="admin"] .finance-filter-toolbar select,
body[data-portal="admin"] .finance-sort select{
  width:100%;
  min-height:36px;
  padding:7px 9px;
  border:1px solid var(--admin-line);
  background:#fffdfa;
  color:var(--admin-text);
  font:inherit;
}
body[data-portal="admin"] .finance-filter-toolbar>p{
  grid-column:1/-1;
  margin:2px 0 0;
  color:var(--admin-muted);
  font-size:.63rem;
}
body[data-portal="admin"] .finance-page-kpis{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
body[data-portal="admin"] .finance-primary-grid,
body[data-portal="admin"] .finance-secondary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body[data-portal="admin"] .finance-lifecycle-list{
  display:grid;
  gap:1px;
}
body[data-portal="admin"] .finance-lifecycle-list>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:35px;
  padding:6px 0;
  border-bottom:1px solid var(--admin-line);
}
body[data-portal="admin"] .finance-lifecycle-list span{
  color:var(--admin-text-soft);
  font-size:.72rem;
}
body[data-portal="admin"] .finance-lifecycle-list small{
  margin-left:5px;
  color:var(--admin-muted);
}
body[data-portal="admin"] .finance-lifecycle-list strong{
  color:var(--admin-text);
  font:620 .72rem var(--mono);
}
body[data-portal="admin"] .finance-integrity-note{
  align-content:center;
  border-left:2px solid #b18e57;
}
body[data-portal="admin"] .finance-integrity-note>strong{
  color:var(--admin-text);
  font-size:1.05rem;
}
body[data-portal="admin"] .finance-integrity-note>p{
  margin:0;
  color:var(--admin-text-soft);
  font-size:.76rem;
  line-height:1.55;
}
body[data-portal="admin"] .finance-breakdown-panel{min-width:0}
body[data-portal="admin"] .finance-breakdown-table td:nth-child(n+5){font-family:var(--mono);font-size:.68rem;white-space:nowrap}
body[data-portal="admin"] .finance-breakdown-table td:nth-child(2) small{display:block;margin-top:3px;color:var(--admin-muted);font-size:.61rem}
body[data-portal="admin"] .finance-sort{min-width:210px}
body[data-portal="admin"] .finance-pagination{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  margin-top:10px;
}
body[data-portal="admin"] .finance-pagination>span{
  color:var(--admin-muted);
  font:560 .64rem var(--mono);
  text-align:center;
}
body[data-portal="admin"] .finance-loading{
  display:grid;
  place-items:center;
  min-height:260px;
  color:var(--admin-muted);
}

@media(max-width:1100px){
  body[data-portal="admin"] .admin-operational-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-portal="admin"] .finance-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-portal="admin"] .finance-page-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  body[data-portal="admin"] .finance-filter-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  body[data-portal="admin"] .admin-operational-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-portal="admin"] .finance-section-heading,body[data-portal="admin"] .finance-card-heading{display:grid}
  body[data-portal="admin"] .finance-heading-actions{justify-content:space-between}
  body[data-portal="admin"] .finance-balance-grid{grid-template-columns:1fr}
  body[data-portal="admin"] .finance-overview-grid,body[data-portal="admin"] .finance-page-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-portal="admin"] .admin-finance-dashboard-grid{grid-template-columns:1fr}
  body[data-portal="admin"] .admin-finance-dashboard-grid>.finance-chart-card,body[data-portal="admin"] .admin-finance-dashboard-grid>.admin-snapshot-panel{grid-column:auto}
  body[data-portal="admin"] .finance-primary-grid,body[data-portal="admin"] .finance-secondary-grid{grid-template-columns:1fr}
  body[data-portal="admin"] .finance-filter-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-portal="admin"] .finance-monthly-chart{min-width:620px}
  body[data-portal="admin"] .finance-chart-card{overflow-x:auto}
  body[data-portal="admin"] .finance-card-heading{position:sticky;left:0}
  body[data-portal="admin"] .finance-pagination{grid-template-columns:1fr 1fr}
  body[data-portal="admin"] .finance-pagination>span{grid-column:1/-1;grid-row:1}
}
@media(max-width:390px){
  body[data-portal="admin"] .finance-overview-grid,body[data-portal="admin"] .finance-page-kpis{grid-template-columns:1fr}
  body[data-portal="admin"] .finance-filter-toolbar{grid-template-columns:1fr 1fr}
  body[data-portal="admin"] .finance-heading-actions{display:grid}
  body[data-portal="admin"] .finance-heading-actions>*{width:100%}
}

body[data-portal="partner"] .payment-processing-indicator{width:18px;height:18px;border:2px solid var(--partner-line-strong);border-top-color:var(--partner-accent);border-radius:50%;animation:payment-processing-spin 1s linear infinite}
@keyframes payment-processing-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body[data-portal="partner"] .payment-processing-indicator{animation:none;border-top-color:var(--partner-text)}}

/* Wallet-first Partner experience */
body[data-portal="partner"] .dashboard-wallet-card,
body[data-portal="partner"] .wallet-primary-panel{display:grid;gap:12px;padding:14px;border:1px solid var(--partner-line-strong);background:linear-gradient(145deg,var(--partner-surface-raised),var(--partner-surface));box-shadow:var(--partner-shadow)}
body[data-portal="partner"] .dashboard-wallet-heading,
body[data-portal="partner"] .wallet-primary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body[data-portal="partner"] .dashboard-wallet-heading h3,
body[data-portal="partner"] .wallet-primary-heading h3{margin:3px 0 0;color:var(--partner-text);font-size:1.08rem}
body[data-portal="partner"] .dashboard-wallet-balances,
body[data-portal="partner"] .wallet-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body[data-portal="partner"] .dashboard-wallet-balances>div,
body[data-portal="partner"] .wallet-balance-grid>article{display:grid;gap:7px;min-width:0;padding:11px;border:1px solid var(--partner-line);background:rgba(238,234,225,.022)}
body[data-portal="partner"] .dashboard-wallet-balances span,
body[data-portal="partner"] .wallet-balance-grid article>span{color:var(--partner-muted);font-family:var(--mono);font-size:.64rem;font-weight:650;letter-spacing:.045em}
body[data-portal="partner"] .dashboard-wallet-balances strong,
body[data-portal="partner"] .wallet-balance-grid article>strong{color:var(--partner-text);font-size:clamp(1.05rem,3vw,1.38rem)}
body[data-portal="partner"] .dashboard-wallet-actions{display:flex;flex-wrap:wrap;gap:8px}
body[data-portal="partner"] .opportunities-wallet-strip{display:flex;align-items:center;gap:10px;min-width:0;padding:9px 11px;border:1px solid var(--partner-line);background:var(--partner-surface)}
body[data-portal="partner"] .opportunities-wallet-strip>strong{color:var(--partner-text);font-family:var(--mono);font-size:.67rem;letter-spacing:.05em}
body[data-portal="partner"] .opportunities-wallet-strip>span{display:flex;gap:5px;padding:6px 8px;border:1px solid transparent;color:var(--partner-muted);font-size:.75rem}
body[data-portal="partner"] .opportunities-wallet-strip>span b{color:var(--partner-text)}
body[data-portal="partner"] .opportunities-wallet-strip>span.is-active{border-color:var(--partner-line-strong);background:var(--partner-surface-raised);color:var(--partner-accent)}
body[data-portal="partner"] .opportunities-wallet-strip .small-action{margin-left:auto}
body[data-portal="partner"] .wallet-funding-panel{display:grid;gap:13px}
body[data-portal="partner"] .wallet-funding-form-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px}
body[data-portal="partner"] .wallet-payment-methods{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
body[data-portal="partner"] .wallet-payment-method{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;min-width:0;padding:13px;border:1px solid var(--partner-line);background:var(--partner-surface);color:var(--partner-text);font:inherit;text-align:left;cursor:pointer}
body[data-portal="partner"] .wallet-payment-method.is-selected{border-color:var(--partner-line-strong);background:var(--partner-surface-raised);box-shadow:inset 2px 0 0 var(--partner-accent)}
body[data-portal="partner"] .wallet-payment-method:disabled{cursor:not-allowed;opacity:.58}
body[data-portal="partner"] .wallet-payment-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--partner-line-strong);color:var(--partner-accent)}
body[data-portal="partner"] .wallet-payment-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
body[data-portal="partner"] .wallet-payment-method>span:last-child{display:grid;gap:4px;min-width:0}
body[data-portal="partner"] .wallet-payment-method strong{font-size:.8rem;letter-spacing:.025em}
body[data-portal="partner"] .wallet-payment-method small{color:var(--partner-accent);font-family:var(--mono);font-size:.61rem}
body[data-portal="partner"] .wallet-payment-method em{color:var(--partner-text-soft);font-size:.74rem;font-style:normal;line-height:1.35}
body[data-portal="partner"] .wallet-payment-method b{color:var(--partner-muted);font-size:.66rem;font-weight:560}
body[data-portal="partner"] .wallet-funding-submit{width:100%}
body[data-portal="partner"] .wallet-funding-actions{display:flex;flex-wrap:wrap;gap:8px}
body[data-portal="partner"] .wallet-transaction-list{display:grid;gap:1px}
body[data-portal="partner"] .wallet-transaction-row{display:grid;grid-template-columns:minmax(130px,1.2fr) minmax(110px,1fr) minmax(90px,.7fr) minmax(110px,.8fr);gap:10px;align-items:center;padding:10px;border-top:1px solid var(--partner-line)}
body[data-portal="partner"] .wallet-pending-funding-panel .wallet-transaction-row{grid-template-columns:minmax(130px,1.2fr) minmax(110px,1fr) minmax(110px,.8fr)}
body[data-portal="partner"] .wallet-transaction-row>div{display:grid;gap:2px;min-width:0}
body[data-portal="partner"] .wallet-transaction-row span{color:var(--partner-muted);font-size:.66rem;text-transform:uppercase}
body[data-portal="partner"] .wallet-transaction-row small{color:var(--partner-text-soft);font-size:.7rem}
body[data-portal="partner"] .wallet-transaction-amount{text-align:right;color:var(--partner-text)}
body[data-portal="partner"] .wallet-transaction-amount.is-credit{color:var(--partner-accent)}
body[data-portal="partner"] .wallet-affordability{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--partner-line);background:var(--partner-surface)}
body[data-portal="partner"] .wallet-affordability>div{display:grid;gap:3px}
body[data-portal="partner"] .wallet-affordability span{color:var(--partner-muted);font-size:.65rem;text-transform:uppercase}
body[data-portal="partner"] .wallet-affordability strong{color:var(--partner-text);font-size:.85rem}
body[data-portal="partner"] .wallet-affordability-state{justify-self:end;color:var(--partner-accent)!important;font-weight:650}
body[data-portal="partner"] .wallet-affordability.is-missing .wallet-affordability-state{color:var(--partner-gold)!important}
body[data-portal="partner"] .wallet-acquisition-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:24px;background:rgba(2,8,6,.78);backdrop-filter:blur(8px);overflow:auto}
body[data-portal="partner"] .wallet-acquisition-confirmation{position:relative;display:grid;gap:14px;width:min(680px,100%);max-height:min(760px,calc(100dvh - 48px));overflow:auto;padding:20px;border:1px solid var(--partner-line-strong);border-radius:var(--radius-md);background:var(--partner-surface-raised);box-shadow:0 28px 80px rgba(0,0,0,.48)}
body[data-portal="partner"] .wallet-acquisition-close{position:absolute;top:12px;right:12px;z-index:2;color:var(--partner-text)}
body[data-portal="partner"] .wallet-acquisition-confirmation .table-header{padding-right:42px}
body[data-portal="partner"] .wallet-acquisition-confirmation .table-header small{color:var(--partner-muted);font-family:var(--mono);font-size:.66rem}
body[data-portal="partner"] .wallet-acquisition-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body[data-portal="partner"] .wallet-acquisition-preview-grid>div{display:grid;gap:4px;padding:9px;border:1px solid var(--partner-line)}
body[data-portal="partner"] .wallet-acquisition-preview-grid span{color:var(--partner-muted);font-size:.62rem}
body[data-portal="partner"] .wallet-acquisition-preview-grid strong{color:var(--partner-text)}
body[data-portal="partner"] .wallet-acquisition-message{margin:0;color:var(--partner-text-soft);font-size:.78rem;line-height:1.5}
body[data-portal="partner"] .wallet-acquisition-actions{display:flex;flex-wrap:wrap;gap:8px}
body[data-portal="partner"] .wallet-acquisition-actions .primary-action{flex:1 1 220px;min-height:48px;background:#285b48;color:#fff;font-weight:750;box-shadow:0 10px 24px rgba(12,41,30,.24)}
body[data-portal="partner"] .wallet-acquisition-actions .ghost-button{flex:0 0 auto}
body[data-portal="partner"] .wallet-acquisition-context{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--partner-line-strong);background:var(--partner-surface)}
body[data-portal="partner"] .wallet-acquisition-context span{color:var(--partner-muted);font-size:.66rem;text-transform:uppercase}
body[data-portal="partner"] .wallet-acquisition-context strong{color:var(--partner-text);font-size:.78rem}
body[data-portal="partner"] .wallet-acquisition-context .small-action{margin-left:auto}
body[data-portal="partner"] .wallet-how-steps{display:grid;gap:8px;margin:14px 0;padding:0;list-style:none}
body[data-portal="partner"] .wallet-how-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;padding:10px;border-top:1px solid var(--partner-line)}
body[data-portal="partner"] .wallet-how-steps li>span{color:var(--partner-accent);font-family:var(--mono)}
body[data-portal="partner"] .wallet-how-steps strong{color:var(--partner-text);font-size:.78rem}
body[data-portal="partner"] .wallet-how-steps p{margin:4px 0 0;color:var(--partner-text-soft);font-size:.78rem}
body[data-portal="partner"] .wallet-how-closing{margin:12px 0;padding:12px;border-left:2px solid var(--partner-accent);color:var(--partner-text)}
body[data-portal="admin"] .partner-wallet-admin-ledger{grid-column:1/-1;width:100%}
body[data-portal="admin"] .partner-wallet-admin-ledger>div{display:grid;gap:5px;padding:8px 0}
body[data-portal="admin"] .partner-wallet-admin-ledger span{font-size:.72rem}

@media(max-width:760px){
  body[data-portal="partner"] .app-header .main-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
  body[data-portal="partner"] .app-header .nav-label{max-width:40px;font-size:.45rem}
  body[data-portal="partner"] .dashboard-wallet-heading,body[data-portal="partner"] .wallet-primary-heading{align-items:center}
  body[data-portal="partner"] .opportunities-wallet-strip{display:grid;grid-template-columns:auto 1fr 1fr;gap:6px}
  body[data-portal="partner"] .opportunities-wallet-strip .small-action{grid-column:1/-1;width:100%;margin:0}
  body[data-portal="partner"] .wallet-payment-methods{grid-template-columns:1fr}
  body[data-portal="partner"] .wallet-funding-form-row{grid-template-columns:1fr 1fr}
  body[data-portal="partner"] .wallet-transaction-row{grid-template-columns:minmax(0,1fr) auto;gap:7px}
  body[data-portal="partner"] .wallet-transaction-row>div:nth-child(2),body[data-portal="partner"] .wallet-transaction-row>div:nth-child(3){grid-column:1/-1}
  body[data-portal="partner"] .wallet-transaction-amount{grid-column:2;grid-row:1}
  body[data-portal="partner"] .wallet-affordability{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-portal="partner"] .wallet-affordability-state{grid-column:1/-1;justify-self:start}
  body[data-portal="partner"] .wallet-acquisition-modal{align-items:end;padding:12px 12px calc(12px + env(safe-area-inset-bottom))}
  body[data-portal="partner"] .wallet-acquisition-confirmation{max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));padding:16px}
  body[data-portal="partner"] .wallet-acquisition-preview-grid{grid-template-columns:1fr}
  body[data-portal="partner"] .wallet-acquisition-actions{display:grid;grid-template-columns:1fr}
  body[data-portal="partner"] .wallet-acquisition-actions .primary-action,body[data-portal="partner"] .wallet-acquisition-actions .ghost-button{width:100%}
  body[data-portal="partner"] .wallet-acquisition-context{align-items:flex-start;flex-direction:column}
  body[data-portal="partner"] .wallet-acquisition-context .small-action{width:100%;margin-left:0}
}
@media(max-width:360px){body[data-portal="partner"] .dashboard-wallet-heading,body[data-portal="partner"] .wallet-primary-heading{display:grid}.dashboard-wallet-actions>*{flex:1}.wallet-funding-form-row{grid-template-columns:1fr!important}}

/* Wallet withdrawals, receipt reconciliation and operational preparation */
.wallet-balance-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.wallet-balance-actions .small-action{min-height:30px}
.withdrawal-bank-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.withdrawal-bank-review-list{display:grid;border-bottom:1px solid var(--admin-line);margin-bottom:8px}
.compact-action-list{display:grid;gap:0}
.compact-action-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--admin-line)}
.compact-action-list>article>div{display:grid;gap:2px;min-width:0}
.compact-action-list span,.compact-action-list small{color:var(--admin-muted);font-size:10px}
.compact-action-list .is-overdue{color:#a04438;font-weight:750;letter-spacing:.04em}
.admin-receipt-queue,.admin-preparation-queue{min-width:0}
@media(max-width:720px){.withdrawal-bank-form{grid-template-columns:1fr}.wallet-balance-actions{display:grid;grid-template-columns:1fr}.compact-action-list>article{grid-template-columns:1fr}.compact-action-list>article .small-action{justify-self:start}}

/* Dashboard density and Admin opportunity pagination */
body[data-portal="partner"] .partner-dashboard-kpis .metric-card{
  min-height:76px;
  padding:10px 36px 10px 11px;
}
body[data-portal="partner"] .partner-dashboard-kpis .metric-card>strong{
  margin-top:5px;
  font-size:clamp(1.25rem,2vw,1.375rem);
  font-weight:600;
  line-height:1.04;
}
body[data-portal="partner"] .partner-dashboard-kpis .metric-currency-values{
  gap:2px;
}
body[data-portal="admin"] .admin-action-metrics{
  align-items:stretch;
}
body[data-portal="admin"] .admin-action-metrics .metric-card,
body[data-portal="admin"] .admin-action-metrics .metric-card-action{
  height:100%;
}
body[data-portal="admin"] .admin-action-metrics .metric-card{
  min-height:78px;
  padding:0;
}
body[data-portal="admin"] .admin-action-metrics .metric-card-action{
  align-content:space-between;
  padding:10px 34px 10px 10px;
}
body[data-portal="admin"] .admin-action-metrics .metric-label{
  max-width:calc(100% - 8px);
  font-size:9px;
  line-height:1.15;
}
body[data-portal="admin"] .admin-action-metrics .metric-card-action>strong{
  margin-top:5px;
  font-size:clamp(1.5rem,2vw,1.75rem);
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}
body[data-portal="admin"] .admin-action-metrics .metric-currency-values{
  gap:2px;
  font-size:.62em;
  line-height:1.1;
}
body[data-portal="admin"] .admin-action-metrics .metric-currency-code{
  font-size:.72em;
}

body[data-portal="admin"] .admin-snapshot-panel{
  min-height:0;
  padding:12px;
}
body[data-portal="admin"] .admin-snapshot-panel .table-header{
  align-items:center;
  margin-bottom:7px;
}
body[data-portal="admin"] .admin-snapshot-panel .table-header h3{
  font-size:var(--text-md);
}
body[data-portal="admin"] .admin-snapshot-panel .metric-label{
  margin-top:2px;
  font-size:9px;
}
body[data-portal="admin"] .admin-snapshot-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
}
body[data-portal="admin"] .admin-snapshot-item{
  min-height:58px;
  padding:8px 9px;
  border-radius:var(--radius-sm);
}
body[data-portal="admin"] .admin-snapshot-item span{
  font-size:9px;
  line-height:1.15;
}
body[data-portal="admin"] .admin-snapshot-item strong{
  margin-top:3px;
  font-size:clamp(1.5rem,2vw,1.75rem);
  font-weight:600;
  line-height:1;
}

body[data-portal="admin"] .admin-opportunity-pagination{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding-top:10px;
  border-top:1px solid var(--admin-line);
}
body[data-portal="admin"] .admin-opportunity-pagination p{
  margin:0;
  color:var(--admin-muted);
  font-family:var(--font-data);
  font-size:9px;
  letter-spacing:.035em;
  text-align:center;
  text-transform:uppercase;
}
body[data-portal="admin"] .admin-opportunity-pagination .small-action{
  min-height:30px;
  padding:4px 9px;
}

@media(min-width:1200px){
  body[data-portal="admin"] .admin-opportunities-toolbar{
    grid-template-columns:minmax(220px,1fr) repeat(4,minmax(145px,.44fr));
  }
}

@media(min-width:900px) and (max-width:1199px){
  body[data-portal="admin"] .admin-opportunities-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body[data-portal="admin"] .admin-opportunities-toolbar>input{
    grid-column:1/-1;
  }
}

@media(min-width:900px) and (max-width:1100px){
  body[data-portal="admin"] .admin-operations-table>.table-wrap{display:none}
  body[data-portal="admin"] .admin-operations-mobile{display:grid;gap:8px}
  body[data-portal="admin"] .admin-opportunity-expanded-grid{grid-template-columns:1fr}
}

@media(max-width:899px){
  body[data-portal="admin"] .admin-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-portal="admin"] .admin-opportunity-pagination{margin-top:8px}
}

@media(max-width:520px){
  body[data-portal="partner"] .partner-dashboard-kpis .metric-card>strong{font-size:clamp(1.25rem,5.8vw,1.375rem)}
  body[data-portal="admin"] .admin-action-metrics .metric-card-action>strong{font-size:clamp(1.35rem,7vw,1.55rem)}
  body[data-portal="admin"] .admin-opportunity-pagination{grid-template-columns:1fr 1fr}
  body[data-portal="admin"] .admin-opportunity-pagination p{grid-column:1/-1;grid-row:1}
  body[data-portal="admin"] .admin-opportunity-pagination .small-action{width:100%}
}

/* Centered application shell and dense portal data presentation */
:root{--portal-app-max:1280px;--portal-page-gutter:16px}
body[data-portal] #app{min-width:0}
body[data-portal] .portal-view:not(.is-hidden){width:100%;min-width:0}
body[data-portal] .main-shell,
body[data-portal] .content,
body[data-portal] .table-panel,
body[data-portal] .portal-card{min-width:0}

@media(min-width:761px){
  body[data-portal="partner"] .portal-view:not(.is-hidden){width:min(calc(100% - (2 * var(--portal-page-gutter))),var(--portal-app-max));margin-inline:auto;border-inline:1px solid rgba(17,36,28,.06);box-shadow:0 0 36px rgba(18,35,28,.035)}
  body[data-portal="partner"] .portal-view:not(.is-hidden) .app-header{position:sticky;top:0;z-index:50;min-height:64px;padding:9px 16px}
  body[data-portal="partner"] .portal-view:not(.is-hidden) .main-shell{width:100%;padding:18px 20px 24px}
  body[data-portal="partner"] .dashboard-wallet-card{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);align-items:center;gap:10px 18px;padding:12px 14px}
  body[data-portal="partner"] .dashboard-wallet-heading{grid-column:1}
  body[data-portal="partner"] .dashboard-wallet-balances{grid-column:2;grid-row:1 / span 2}
  body[data-portal="partner"] .dashboard-wallet-actions{grid-column:1}
  body[data-portal="partner"] .wallet-primary-panel{padding:13px 14px}
  body[data-portal="partner"] .decision-product-shell{grid-template-columns:minmax(180px,.52fr) minmax(0,1.48fr)}
  body[data-portal="partner"] .partner-financial-sequence-panel{gap:8px}
  body[data-portal="partner"] .partner-financial-metric{min-height:60px;padding:7px 8px}
}

body[data-portal="partner"] .dashboard-wallet-balances strong,
body[data-portal="partner"] .wallet-balance-grid article>strong{font-family:var(--font-ui);font-size:clamp(1.375rem,1.7vw,1.5rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}
body[data-portal="partner"] .dashboard-wallet-card,
body[data-portal="partner"] .wallet-primary-panel,
body[data-portal="partner"] .decision-product-shell,
body[data-portal="partner"] .partner-financial-sequence-panel{max-width:100%}
body[data-portal="partner"] .partner-financial-metric strong{font-weight:650}

@media(min-width:900px){
  body[data-portal="admin"] .portal-view:not(.is-hidden){width:min(calc(100% - (2 * var(--portal-page-gutter))),var(--portal-app-max));margin-inline:auto;grid-template-columns:216px minmax(0,1fr);border-inline:1px solid rgba(17,36,28,.06);box-shadow:0 0 36px rgba(18,35,28,.035)}
  body[data-portal="admin"] .portal-view:not(.is-hidden) .app-header{position:sticky;top:0;height:100dvh;min-height:0;max-height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  body[data-portal="admin"] .portal-view:not(.is-hidden) .main-shell{width:100%;min-height:100vh;padding:18px 20px 24px}
  body[data-portal="admin"] .admin-task-grid{grid-template-columns:1fr}
}

.admin-partner-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(160px,220px);gap:8px;align-items:end;margin-bottom:8px}
.admin-partner-toolbar .field{margin:0!important}
.admin-partner-list{display:grid;border:1px solid var(--admin-line);border-radius:var(--radius-sm);overflow:hidden;background:var(--admin-surface-raised)}
.admin-partner-list-head,
.admin-partner-row{display:grid;grid-template-columns:minmax(130px,1.15fr) minmax(170px,1.35fr) minmax(74px,.7fr) minmax(82px,.72fr) minmax(72px,.6fr) minmax(94px,.75fr) minmax(82px,.7fr) 22px;gap:8px;align-items:center;min-width:0}
.admin-partner-list-head{padding:7px 10px;border-bottom:1px solid var(--admin-line);background:var(--admin-bg-soft);color:var(--admin-muted);font-family:var(--font-data);font-size:9px;font-weight:650;letter-spacing:.045em;text-transform:uppercase}
.admin-partner-record{min-width:0;border-bottom:1px solid var(--admin-line)}
.admin-partner-record:last-child{border-bottom:0}
.admin-partner-row{width:100%;min-height:48px;padding:7px 10px;border:0;background:transparent;color:var(--admin-text);font:inherit;text-align:left;cursor:pointer}
.admin-partner-row:hover{background:rgba(108,149,130,.045)}
.admin-partner-row>span{min-width:0;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.admin-partner-primary{display:grid;gap:1px}
.admin-partner-primary strong,.admin-partner-primary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-partner-primary strong{font-size:12px;font-weight:680}
.admin-partner-primary small{color:var(--admin-muted);font-family:var(--font-data);font-size:9px}
.admin-partner-row .status{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.admin-partner-chevron{display:grid;place-items:center;width:20px;height:20px;color:var(--admin-muted);font-size:18px;transition:transform var(--duration-fast) var(--ease-standard)}
.admin-partner-record.is-expanded .admin-partner-chevron{transform:rotate(90deg)}
.admin-partner-detail,.admin-application-detail{display:grid;gap:10px;padding:12px;border-top:1px solid var(--admin-line);background:var(--admin-bg-soft)}
.admin-partner-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.admin-partner-detail-grid .detail-item{min-height:54px;padding:8px 9px;background:var(--admin-surface-raised)}
.admin-partner-detail-grid .detail-item span{font-size:9px}
.admin-partner-detail-grid .detail-item strong{overflow-wrap:anywhere;font-size:11px}
.admin-partner-detail-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.admin-partner-detail-notes p{display:grid;gap:3px;margin:0;padding:8px 9px;border:1px solid var(--admin-line);background:var(--admin-surface-raised);font-size:10px}
.admin-partner-detail-notes strong{font-family:var(--font-data);font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.admin-partner-detail-notes span{color:var(--admin-muted);overflow-wrap:anywhere}
.admin-partner-history{border:1px solid var(--admin-line);background:var(--admin-surface-raised)}
.admin-partner-history>summary{padding:8px 10px;font-size:10px;font-weight:650;cursor:pointer}
.admin-partner-history>.clean-list{max-height:220px;overflow:auto;margin:0;padding:0 10px 10px 28px;color:var(--admin-muted);font-size:10px}
.admin-partner-reason{margin:0!important}
.admin-partner-detail-actions{justify-content:flex-end}
.admin-partner-pagination{display:grid;justify-items:center;gap:6px;padding-top:10px}
.admin-partner-pagination p{margin:0;color:var(--admin-muted);font-family:var(--font-data);font-size:9px;letter-spacing:.035em;text-transform:uppercase}
.admin-partner-pagination>div{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.admin-partner-pagination .small-action{min-width:30px;min-height:30px;padding:4px 7px}
.admin-partner-pagination .is-active{border-color:var(--admin-accent);background:rgba(108,149,130,.1);color:var(--admin-text)}

.application-admin-list{display:grid;gap:1px;border:1px solid var(--admin-line);border-radius:var(--radius-sm);overflow:hidden;background:var(--admin-line)}
.admin-application-record{border:0!important;border-radius:0!important;background:var(--admin-surface-raised)!important}
.admin-application-record>summary{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(72px,.65fr) minmax(74px,.65fr) minmax(64px,.55fr) minmax(92px,.75fr) minmax(78px,.65fr) 20px;gap:8px;align-items:center;min-height:48px;padding:7px 10px;list-style:none;cursor:pointer}
.admin-application-record>summary::-webkit-details-marker{display:none}
.admin-application-record>summary>span{min-width:0;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.admin-application-record>summary>span:first-child{display:grid;gap:1px}
.admin-application-record>summary strong,.admin-application-record>summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-application-record>summary small{color:var(--admin-muted);font-size:9px}
.admin-application-record>summary>b{color:var(--admin-muted);font-size:18px;transition:transform var(--duration-fast) var(--ease-standard)}
.admin-application-record[open]>summary>b{transform:rotate(90deg)}

@media(max-width:1100px) and (min-width:900px){
  .admin-partner-list-head,.admin-partner-row{grid-template-columns:minmax(120px,1.1fr) minmax(150px,1.25fr) minmax(70px,.65fr) minmax(70px,.65fr) minmax(86px,.75fr) minmax(76px,.65fr) 22px}
  .admin-partner-list-head>span:nth-child(5),.admin-partner-row>span:nth-child(5){display:none}
  .admin-partner-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:899px){
  :root{--portal-page-gutter:0px}
  body[data-portal] .portal-view:not(.is-hidden){max-width:none;margin:0}
  .admin-partner-list-head{display:none}
  .admin-partner-list{gap:8px;border:0;background:transparent;overflow:visible}
  .admin-partner-record{border:1px solid var(--admin-line);border-radius:var(--radius-sm);overflow:hidden;background:var(--admin-surface-raised)}
  .admin-partner-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;min-height:0;padding:10px}
  .admin-partner-row>span{display:grid;grid-template-columns:minmax(82px,.65fr) minmax(0,1fr);align-items:center;gap:7px;grid-column:1/-1;overflow:visible;white-space:normal}
  .admin-partner-row>span::before{content:attr(data-label);color:var(--admin-muted);font-family:var(--font-data);font-size:9px;letter-spacing:.04em;text-transform:uppercase}
  .admin-partner-row>.admin-partner-primary{display:grid;grid-template-columns:minmax(0,1fr);grid-column:1;gap:2px}
  .admin-partner-row>.admin-partner-primary::before{display:none}
  .admin-partner-row>.admin-partner-chevron{display:grid;grid-column:2;grid-row:1;width:22px;overflow:visible}
  .admin-partner-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-partner-detail-notes{grid-template-columns:1fr}
  .admin-partner-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-partner-detail-actions>*{width:100%}
  .admin-application-record>summary{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:10px}
  .admin-application-record>summary>span{display:none}
  .admin-application-record>summary>span:first-child,.admin-application-record>summary>span:nth-child(5){display:grid}
  .admin-application-record>summary>span:nth-child(5){justify-items:end}
  .admin-application-record>summary>b{grid-column:2;grid-row:1}
}

@media(max-width:520px){
  .admin-partner-toolbar{grid-template-columns:1fr}
  .admin-partner-detail-grid{grid-template-columns:1fr 1fr}
  .admin-partner-detail-actions{grid-template-columns:1fr}
  body[data-portal="partner"] .dashboard-wallet-card,body[data-portal="partner"] .wallet-primary-panel{padding:11px;gap:10px}
  body[data-portal="partner"] .dashboard-wallet-balances strong,body[data-portal="partner"] .wallet-balance-grid article>strong{font-size:clamp(1.25rem,6vw,1.375rem)}
  body[data-portal="partner"] .dashboard-wallet-balances>div,body[data-portal="partner"] .wallet-balance-grid>article{padding:9px}
}

@media(max-width:360px){
  .admin-partner-detail-grid{grid-template-columns:1fr}
  body[data-portal="partner"] .dashboard-wallet-balances,body[data-portal="partner"] .wallet-balance-grid{grid-template-columns:1fr}
}

/* Read-only portal refresh, unified header controls and Wallet statement */
body[data-portal] .app-header .topbar-actions{gap:6px}
body[data-portal="admin"] .admin-sidebar-utilities{align-items:start}
body[data-portal="admin"] .admin-utility-inline{display:flex;align-items:center;gap:6px}
body[data-portal] .portal-view:not(.is-hidden) .app-header .portal-utility-control{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;width:auto;min-width:34px;height:34px;min-height:34px;padding:0 9px;border:1px solid rgba(181,202,191,.14)!important;border-radius:8px;background:rgba(255,255,255,.035)!important;color:#f4f3ed!important;font-family:var(--font-ui);font-size:10px;font-weight:650;line-height:1;letter-spacing:.035em;text-decoration:none;text-transform:uppercase;box-shadow:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
body[data-portal] .portal-view:not(.is-hidden) .app-header .portal-utility-control:hover{border-color:rgba(181,202,191,.24)!important;background:rgba(181,202,191,.1)!important;color:#fffdf8!important;transform:none}
body[data-portal] .app-header .portal-utility-control:focus-visible,body[data-portal] .app-header .portal-language-control:focus-within{outline:2px solid rgba(238,234,225,.92);outline-offset:2px}
body[data-portal] .app-header .portal-utility-icon{display:inline-grid;place-items:center;width:16px;height:16px;color:currentColor;font-size:15px;font-weight:500;line-height:1}
body[data-portal] .app-header .portal-language-control{box-sizing:border-box;display:inline-grid;grid-template-columns:repeat(2,30px);align-items:center;flex:0 0 auto;width:auto;height:34px;min-height:34px;padding:2px;border:1px solid rgba(181,202,191,.14);border-radius:8px;background:rgba(255,255,255,.035)}
body[data-portal] .app-header .portal-language-control .language-option{min-width:0;height:28px;border-radius:5px;color:rgba(238,234,225,.62);font-size:10px;font-weight:700}
body[data-portal] .app-header .portal-language-control .language-option.is-active{background:rgba(181,202,191,.13);color:#fffdf8;box-shadow:none}
body[data-portal] .app-header .portal-signout-button:hover{border-color:rgba(201,116,105,.28);background:rgba(201,116,105,.1)}
@media(min-width:761px){body[data-portal="partner"] .app-header .portal-signout-button .logout-label{display:inline}}
.portal-refresh-button{display:inline-grid!important;place-items:center;flex:0 0 auto;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;border-radius:8px!important;color:#fffdf8!important}
.portal-refresh-icon{display:block;color:#fffdf8;font-size:19px;font-weight:500;line-height:1;transform-origin:center}
.portal-refresh-button.is-loading .portal-refresh-icon{animation:portal-refresh-spin .85s linear infinite}
.portal-refresh-button:disabled{cursor:wait;opacity:.68}
body[data-portal="partner"] .portal-refresh-button{border-color:rgba(181,202,191,.14)!important;background:rgba(255,255,255,.035)!important;color:var(--partner-text)!important}
body[data-portal="partner"] .portal-refresh-button:hover{background:rgba(181,202,191,.09)!important}
body[data-portal="admin"] .portal-refresh-button{border:1px solid rgba(181,202,191,.14)!important;background:rgba(255,255,255,.035)!important;color:#edf2ee!important}
body[data-portal="admin"] .portal-refresh-button:hover{background:rgba(181,202,191,.09)!important}
@keyframes portal-refresh-spin{to{transform:rotate(360deg)}}

@media(min-width:900px){
  body[data-portal="admin"] .admin-sidebar-utilities{display:grid;grid-template-columns:1fr;justify-items:start;gap:6px}
  body[data-portal="admin"] .admin-sidebar-utilities .portal-signout-button{justify-content:center!important;width:104px;min-height:34px}
}

@media(max-width:899px){
  body[data-portal="admin"] .admin-sidebar-utilities{display:flex;align-items:center;justify-content:flex-end;margin-left:auto;padding-top:0;border-top:0}
  body[data-portal="admin"] .admin-utility-inline{display:flex}
  body[data-portal="admin"] .admin-sidebar-utilities .portal-signout-button{width:34px;min-width:34px;padding:0}
}

.wallet-statement-panel{padding:12px!important;overflow:hidden}
.wallet-statement-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.wallet-statement-heading h3{margin:0}
.wallet-statement-filter{width:min(150px,42vw);margin:0!important}
.wallet-statement-filter select{min-height:32px;padding:5px 30px 5px 9px;font-size:11px}
.wallet-statement-panel .collapse-toggle{width:30px;height:30px;min-height:30px;border:1px solid var(--partner-line-strong);border-radius:7px;background:transparent;color:#315e4b;font-size:14px;line-height:1}
.wallet-statement-head,.wallet-statement-list{border:1px solid currentColor;border-color:var(--partner-line)}
.wallet-statement-head{display:grid;grid-template-columns:68px minmax(180px,1fr) 76px 108px 46px 100px 106px;gap:8px;align-items:center;min-height:28px;padding:4px 8px;border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--partner-bg-soft);color:var(--partner-muted);font-family:var(--font-data);font-size:8px;font-weight:650;letter-spacing:.045em;text-transform:uppercase}
.wallet-statement-list{display:grid;border-radius:0 0 var(--radius-sm) var(--radius-sm);overflow:hidden}
.wallet-statement-row{display:grid;grid-template-columns:68px minmax(180px,1fr) 76px 108px 46px 100px 106px;gap:8px;align-items:center;min-width:0;min-height:36px;padding:4px 8px;border-bottom:1px solid var(--partner-line);font-size:10px}
.wallet-statement-row:last-child{border-bottom:0}
.wallet-statement-row>*{min-width:0}
.wallet-statement-row time,.wallet-statement-row>span,.wallet-statement-row>strong,.wallet-statement-reference{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wallet-statement-row time{color:var(--partner-text-soft);font-variant-numeric:tabular-nums}
.wallet-statement-description{display:block;overflow:hidden}
.wallet-statement-description strong,.wallet-statement-description small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wallet-statement-description strong{display:block;font-size:10px;font-weight:620}
.wallet-statement-description small{color:var(--partner-muted);font-family:var(--font-data);font-size:9px}
.wallet-statement-reference{color:var(--partner-gold);font-family:var(--font-data);font-size:9px;letter-spacing:.035em}
.wallet-statement-amount{font-variant-numeric:tabular-nums;text-align:right}
.wallet-statement-amount.is-credit{color:var(--partner-accent)}
.wallet-statement-amount.is-debit{color:var(--partner-text-soft)}
.wallet-statement-status{display:inline-flex;align-items:center;gap:5px;width:96px;max-width:100%;color:var(--partner-text-soft);font-size:9px;line-height:1;white-space:nowrap}
.wallet-statement-status>span{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#8c9691;box-shadow:0 0 0 3px rgba(140,150,145,.08)}
.wallet-statement-status small{overflow:hidden;text-overflow:ellipsis;font:inherit;color:inherit}
.wallet-statement-status.is-completed>span{background:#6ea98a;box-shadow:0 0 0 3px rgba(110,169,138,.1)}
.wallet-statement-status.is-pending>span{background:#c5a65f;box-shadow:0 0 0 3px rgba(197,166,95,.1)}
.wallet-statement-status.is-rejected>span{background:#c97469;box-shadow:0 0 0 3px rgba(201,116,105,.1)}
.wallet-statement-footer{display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 0 0;color:var(--partner-muted)}
.wallet-statement-footer .small-action{min-height:28px!important;padding:4px 9px!important;font-size:9px!important}
.wallet-statement-footer small{font-size:9px}
.wallet-statement-admin-meta{display:block;margin-top:2px;color:var(--admin-muted);font-size:9px;line-height:1.25}
body[data-portal="admin"] .wallet-statement-head,body[data-portal="admin"] .wallet-statement-list{border-color:var(--admin-line)}
body[data-portal="admin"] .wallet-statement-head{background:var(--admin-bg-soft);color:var(--admin-muted)}
body[data-portal="admin"] .wallet-statement-list{background:var(--admin-surface-raised)}
body[data-portal="admin"] .wallet-statement-row{grid-template-columns:68px minmax(180px,1fr) 76px 108px 46px 100px 106px;border-color:var(--admin-line);color:var(--admin-text)}
body[data-portal="admin"] .wallet-statement-row.is-heading{background:var(--admin-bg-soft);color:var(--admin-muted)}
body[data-portal="admin"] .wallet-statement-description small{color:var(--admin-muted)}
body[data-portal="admin"] .wallet-statement-row time{color:var(--admin-text-soft)}
body[data-portal="admin"] .wallet-statement-reference{color:var(--admin-gold)}
body[data-portal="admin"] .wallet-statement-status{color:var(--admin-text-soft)}
body[data-portal="admin"] .wallet-statement-amount.is-credit{color:#376f57}
body[data-portal="admin"] .wallet-statement-amount.is-debit{color:var(--admin-text-soft)}

body[data-portal="admin"] .funding-directory-header,body[data-portal="admin"] .funding-directory-row{grid-template-columns:82px minmax(126px,1.25fr) 112px 54px 146px 124px 88px}
.manual-wallet-adjustment-panel{padding:12px!important}
.manual-wallet-adjustment-row{display:grid;grid-template-columns:118px minmax(150px,1fr) 118px 72px minmax(190px,1.25fr) auto;gap:8px;align-items:end}
.manual-wallet-adjustment-row .field{margin:0!important}
.manual-wallet-adjustment-row .small-action{min-height:34px;white-space:nowrap}
.funding-review-dialog{display:grid;gap:14px;width:min(620px,100%)}
.funding-review-dialog>h3{margin:0;padding-right:34px}
.funding-review-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.funding-review-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}

@media(max-width:1100px){
  .manual-wallet-adjustment-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .manual-wallet-adjustment-row .manual-wallet-description{grid-column:1/-1}
  .manual-wallet-adjustment-row .small-action{justify-self:start}
}

@media(max-width:760px){
  body[data-portal] .app-header .portal-utility-control{width:34px;min-width:34px;padding:0}
  body[data-portal] .app-header .portal-utility-control>span:not(.portal-utility-icon):not(.portal-refresh-icon){display:none}
  body[data-portal] .app-header .portal-signout-button .logout-label{display:none!important}
  body[data-portal] .app-header .portal-language-control{grid-template-columns:repeat(2,28px)}
  .wallet-statement-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"description amount" "status date" "reference balance";gap:4px 10px;min-height:0;padding:8px}
  .wallet-statement-head{display:none}
  .wallet-statement-row>*{min-width:0;text-align:left}
  .wallet-statement-description{grid-area:description}
  .wallet-statement-description strong{font-size:11px;white-space:normal;overflow-wrap:anywhere}
  .wallet-statement-reference{grid-area:reference;align-self:end}
  .wallet-statement-amount{grid-area:amount;align-self:start;font-size:11px;text-align:right}
  .wallet-statement-status-cell{grid-area:status}
  .wallet-statement-status{width:auto;max-width:150px}
  .wallet-statement-row time{grid-area:date;justify-self:end}
  .wallet-statement-row>span:not(.wallet-statement-status-cell){display:none}
  .wallet-statement-balance{grid-area:balance;justify-self:end;font-size:9px}
  .wallet-statement-balance::before{content:attr(data-label) ": ";color:var(--partner-muted);font-weight:500}
  body[data-portal="admin"] .wallet-statement-row{grid-template-columns:minmax(0,1fr) auto}
  body[data-portal="admin"] .wallet-statement-balance::before{color:var(--admin-muted)}
  .manual-wallet-adjustment-row{grid-template-columns:1fr 1fr}
  .funding-review-summary{grid-template-columns:1fr 1fr}
}

@media(max-width:520px){
  .wallet-statement-heading{align-items:flex-start}
  .wallet-statement-filter{width:118px}
  .manual-wallet-adjustment-row{grid-template-columns:1fr}
  .manual-wallet-adjustment-row .manual-wallet-description{grid-column:auto}
  .manual-wallet-adjustment-row .small-action{width:100%}
  .funding-review-summary{grid-template-columns:1fr}
  .funding-review-actions{display:grid;grid-template-columns:1fr}
  .funding-review-actions>*{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .portal-refresh-button.is-loading .portal-refresh-icon{animation:none}
}
