/* =========================================================
   STATUS2 — Soft Corporate Neomorphism
   Scope: body.portal-status-neomorphism only
   The production status.html and css/style.css remain untouched.
   Light source is consistently top-left.
   ========================================================= */

:root {
  --neo-bg: #eceeef;
  --neo-surface: #eceeef;
  --neo-surface-light: #f5f6f7;
  --neo-surface-dark: #e2e5e7;

  --neo-text: #34383d;
  --neo-text-secondary: #737980;
  --neo-text-muted: #9ba0a5;

  --neo-accent: #ff5b61;
  --neo-accent-hover: #f34d54;
  --neo-accent-active: #e9464d;
  --neo-accent-soft: rgba(255, 91, 97, 0.14);

  --neo-success: #3fa878;
  --neo-warning: #e4a33b;
  --neo-danger: #e9565d;
  --neo-info: #438ecb;

  /* Status2 traffic stays inside the same neutral grey-sage family as the page surface. */
  --neo-traffic-accent: #9aa29f;
  --neo-traffic-accent-hover: #8e9793;
  --neo-traffic-accent-active: #828b87;
  --neo-traffic-accent-soft: rgba(154, 162, 159, 0.18);

  --neo-shadow-dark: rgba(163, 168, 174, 0.58);
  --neo-shadow-light: rgba(255, 255, 255, 0.92);

  --neo-radius-sm: 10px;
  --neo-radius-md: 16px;
  --neo-radius-lg: 24px;
  --neo-radius-round: 999px;

  --neo-shadow-raised:
    8px 8px 16px var(--neo-shadow-dark),
    -8px -8px 16px var(--neo-shadow-light);

  --neo-shadow-raised-soft:
    5px 5px 10px rgba(163, 168, 174, 0.42),
    -5px -5px 10px rgba(255, 255, 255, 0.84);

  --neo-shadow-inset:
    inset 5px 5px 10px rgba(163, 168, 174, 0.44),
    inset -5px -5px 10px rgba(255, 255, 255, 0.88);

  --neo-transition: 180ms ease;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
}

/* ---------- Page foundation ---------- */
body.portal-status-neomorphism {
  color: var(--neo-text) !important;
  background: var(--neo-bg) !important;
  background-image: none !important;
  font-family: IRANSans, Vazirmatn, Tahoma, sans-serif !important;
  font-size: 14px;
  line-height: 1.7;
  min-width: 0;
  overflow-x: hidden !important;
  color-scheme: light;
}

body.portal-status-neomorphism::before,
body.portal-status-neomorphism::after {
  display: none !important;
  content: none !important;
}

body.portal-status-neomorphism *,
body.portal-status-neomorphism *::before,
body.portal-status-neomorphism *::after {
  box-sizing: border-box;
}

body.portal-status-neomorphism * {
  scrollbar-width: thin;
  scrollbar-color: #b8bdc2 transparent;
}
body.portal-status-neomorphism *::-webkit-scrollbar { width: 8px; height: 8px; }
body.portal-status-neomorphism *::-webkit-scrollbar-track { background: transparent; }
body.portal-status-neomorphism *::-webkit-scrollbar-thumb {
  border: 2px solid var(--neo-bg);
  border-radius: var(--neo-radius-round);
  background: #b8bdc2;
}

body.portal-status-neomorphism a,
body.portal-status-neomorphism button,
body.portal-status-neomorphism input,
body.portal-status-neomorphism select,
body.portal-status-neomorphism textarea,
body.portal-status-neomorphism [role="button"] {
  font: inherit;
}

body.portal-status-neomorphism :where(a, button, input, select, textarea, [role="button"]):focus-visible {
  outline: 2px solid var(--neo-accent) !important;
  outline-offset: 3px !important;
}

body.portal-status-neomorphism :where(button, input, select, textarea):disabled,
body.portal-status-neomorphism [aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: .58 !important;
}

body.portal-status-neomorphism .label,
body.portal-status-neomorphism label,
body.portal-status-neomorphism small,
body.portal-status-neomorphism .hint,
body.portal-status-neomorphism .helper,
body.portal-status-neomorphism .mini,
body.portal-status-neomorphism .info {
  color: var(--neo-text-secondary) !important;
}

body.portal-status-neomorphism :where(h1, h2, h3, h4, strong, b) {
  color: var(--neo-text) !important;
}

/* ---------- Header ---------- */
body.portal-status-neomorphism .header {
  position: relative !important;
  top: auto !important;
  flex: 0 0 auto !important;
  padding: 14px 20px 0 !important;
  border: 0 !important;
  background: var(--neo-bg) !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.portal-status-neomorphism .header .bar {
  width: min(1520px, 100%) !important;
  min-height: 72px !important;
  margin: 0 auto !important;
  padding: 8px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: var(--neo-radius-lg) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  backdrop-filter: none !important;
}

body.portal-status-neomorphism .brand {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.portal-status-neomorphism .brand img {
  width: 58px !important;
  height: 58px !important;
  max-width: 58px !important;
  max-height: 58px !important;
  padding: 7px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  transform: none !important;
}

body.portal-status-neomorphism .neo-preview-badge { display: none !important; }

/* ---------- Main shell ---------- */
body.portal-status-neomorphism .container {
  width: min(1520px, calc(100% - 40px)) !important;
  min-width: 0 !important;
  margin: 18px auto 22px !important;
  padding: 0 !important;
  gap: 22px !important;
  grid-template-columns: clamp(248px, 20vw, 292px) minmax(0, 1fr) clamp(248px, 20vw, 292px) !important;
  align-items: stretch !important;
  overflow: visible !important;
}

body.portal-status-neomorphism .container > .card {
  min-width: 0 !important;
  padding: 20px !important;
  border: 1px solid rgba(255,255,255,.38) !important;
  border-radius: var(--neo-radius-lg) !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised) !important;
  backdrop-filter: none !important;
  overflow: visible !important;
  isolation: isolate;
}

body.portal-status-neomorphism .container > .card::before,
body.portal-status-neomorphism .container > .card::after {
  display: none !important;
  content: none !important;
}

body.portal-status-neomorphism .container > .card > * {
  position: relative;
  z-index: 1;
  min-width: 0;
}

body.portal-status-neomorphism #status-card,
body.portal-status-neomorphism #shortcuts-card,
body.portal-status-neomorphism #calnote-card {
  transition: box-shadow var(--neo-transition);
}

/* ---------- Status panel ---------- */
body.portal-status-neomorphism #status-card {
  display: flex !important;
  flex-direction: column !important;
}

body.portal-status-neomorphism #status-card > h3 {
  min-height: 42px !important;
  margin: 0 0 var(--space-4) !important;
  padding: 0 4px !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -.15px;
}

body.portal-status-neomorphism #status-card > h3::before {
  content: "";
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  border-radius: 50%;
  background: var(--neo-success);
  box-shadow: 0 0 0 4px rgba(63,168,120,.11);
}

body.portal-status-neomorphism #status-card .kpis,
body.portal-status-neomorphism #status-card .kpis--sidebar {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 0 0 var(--space-4) !important;
}

body.portal-status-neomorphism #status-card .kpi,
body.portal-status-neomorphism #status-card .portal-traffic-kpi,
body.portal-status-neomorphism #status-card .portal-traffic-total-kpi {
  position: relative !important;
  min-width: 0 !important;
  min-height: 70px !important;
  padding: 11px 12px !important;
  gap: 11px !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: var(--neo-radius-md) !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  overflow: hidden !important;
  transition: transform var(--neo-transition), box-shadow var(--neo-transition) !important;
}

body.portal-status-neomorphism #status-card .kpi::before,
body.portal-status-neomorphism #status-card .kpi::after {
  display: none !important;
  content: none !important;
}

body.portal-status-neomorphism #status-card .kpi:hover,
body.portal-status-neomorphism #status-card .kpi:focus-within {
  transform: translateY(-1px) !important;
  box-shadow:
    6px 6px 13px rgba(163,168,174,.48),
    -6px -6px 13px rgba(255,255,255,.93) !important;
}

body.portal-status-neomorphism #status-card .kpi-body,
body.portal-status-neomorphism #status-card .kpi > div:not(.icon) {
  min-width: 0;
}

body.portal-status-neomorphism #status-card .kpi .label {
  margin-bottom: 1px !important;
  color: var(--neo-text-secondary) !important;
  font-size: 10.5px !important;
  font-weight: 500 !important;
}

body.portal-status-neomorphism #status-card .kpi strong {
  color: var(--neo-text) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  overflow-wrap: anywhere;
}

body.portal-status-neomorphism #status-card .kpi .icon.portal-status-icon,
body.portal-status-neomorphism #status-card .portal-phone-kpi .icon.portal-status-icon,
body.portal-status-neomorphism #status-card .portal-phone-kpi.is-verified .icon.portal-status-icon,
body.portal-status-neomorphism #status-card .portal-phone-kpi.is-empty .icon.portal-status-icon,
body.portal-status-neomorphism #status-card .portal-my-assets-kpi__icon.portal-status-icon {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  flex: 0 0 42px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: #687078 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

body.portal-status-neomorphism #status-card .portal-status-icon-svg {
  width: 21px !important;
  height: 21px !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
  fill: none !important;
}
body.portal-status-neomorphism #status-card .portal-status-icon-svg .portal-status-icon-soft {
  fill: currentColor !important;
  opacity: .07 !important;
}
body.portal-status-neomorphism #status-card .portal-status-icon-svg .portal-status-icon-accent {
  fill: var(--neo-accent) !important;
  stroke: var(--neo-accent) !important;
}

body.portal-status-neomorphism #status-card .portal-phone-kpi-main,
body.portal-status-neomorphism #status-card .portal-personal-kpi-main {
  min-width: 0 !important;
  gap: 8px !important;
}

body.portal-status-neomorphism #status-card .portal-phone-kpi-action {
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: #6b7278 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transition: transform var(--neo-transition), box-shadow var(--neo-transition), color var(--neo-transition) !important;
}
body.portal-status-neomorphism #status-card .portal-phone-kpi-action:hover {
  color: var(--neo-accent) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-neomorphism #status-card .portal-phone-kpi-action:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #status-card .portal-status-action-svg {
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
}

/* Traffic: recessed information in the same neutral grey-sage family as the page. */
body.portal-status-neomorphism #status-card .portal-traffic-kpi {
  min-height: 104px !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi__body {
  gap: 8px !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-progress {
  height: 15px !important;
  padding: 3px !important;
  border: 0 !important;
  border-radius: var(--neo-radius-round) !important;
  background: var(--neo-surface-dark) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  overflow: hidden !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-progress::before,
body.portal-status-neomorphism #status-card .portal-traffic-progress::after,
body.portal-status-neomorphism #status-card .portal-traffic-progress__bar::before,
body.portal-status-neomorphism #status-card .portal-traffic-progress__bar::after,
body.portal-status-neomorphism #status-card .portal-traffic-progress__cap {
  display: none !important;
  content: none !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-progress__bar {
  min-width: 8px;
  top: 3px !important;
  bottom: 3px !important;
  height: auto !important;
  border-radius: var(--neo-radius-round) !important;
  background: var(--neo-traffic-accent) !important;
  background-image: none !important;
  box-shadow: 0 2px 5px rgba(126,136,132,.18) !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-progress__value {
  color: #5e646a !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi__stats,
body.portal-status-neomorphism #status-card .portal-traffic-reserves {
  gap: 7px !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi__stat,
body.portal-status-neomorphism #status-card .portal-traffic-reserve,
body.portal-status-neomorphism #status-card .portal-gift-program {
  min-height: 34px !important;
  padding: 5px 7px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow:
    inset 3px 3px 7px rgba(163,168,174,.31),
    inset -3px -3px 7px rgba(255,255,255,.84) !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi__stat span,
body.portal-status-neomorphism #status-card .portal-traffic-reserve span {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi__stat strong,
body.portal-status-neomorphism #status-card .portal-traffic-reserve strong,
body.portal-status-neomorphism #status-card .portal-traffic-total-kpi #kpi-total-usage {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-total-kpi__hint {
  color: var(--neo-text-muted) !important;
}
body.portal-status-neomorphism #status-card button.portal-traffic-emergency-claim,
body.portal-status-neomorphism #status-card button.portal-traffic-emergency-claim:hover,
body.portal-status-neomorphism #status-card button.portal-traffic-emergency-claim:focus,
body.portal-status-neomorphism #status-card button.portal-traffic-emergency-claim:focus-visible,
body.portal-status-neomorphism #status-card button.portal-traffic-emergency-claim:active,
body.portal-status-neomorphism #status-card button.portal-traffic-emergency-claim:disabled {
  box-sizing: border-box !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 0 !important;
  border-radius: 11px !important;
  color: #626a67 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  transform: none !important;
  box-shadow:
    3px 3px 7px rgba(163,168,174,.38),
    -3px -3px 7px rgba(255,255,255,.78) !important;
  transition: color var(--neo-transition), background-color var(--neo-transition) !important;
}
body.portal-status-neomorphism #status-card button.portal-traffic-emergency-claim:hover:not(:disabled) {
  color: #555e5a !important;
  background: var(--neo-surface-light) !important;
}
body.portal-status-neomorphism #status-card button.portal-traffic-emergency-claim:active:not(:disabled) {
  color: #525a57 !important;
  background: var(--neo-surface-dark) !important;
}
/* A focusable child must not make the whole traffic KPI move or resize visually. */
body.portal-status-neomorphism #status-card .portal-traffic-kpi:hover,
body.portal-status-neomorphism #status-card .portal-traffic-kpi:focus-within {
  transform: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #status-card button.portal-traffic-emergency-claim.is-loading::after {
  border-color: rgba(98,106,103,.22) !important;
  border-top-color: #68716d !important;
}
body.portal-status-neomorphism #status-card :is(.portal-traffic-kpi, .portal-traffic-total-kpi) .portal-status-icon-svg .portal-status-icon-accent {
  fill: var(--neo-traffic-accent) !important;
  stroke: var(--neo-traffic-accent) !important;
}

body.portal-status-neomorphism #status-card .portal-my-assets-kpi {
  cursor: pointer !important;
}

/* v8 — all connection-status KPI icons use the same coral hover cue as "My assets". */
body.portal-status-neomorphism #status-card .kpi:hover > .icon.portal-status-icon,
body.portal-status-neomorphism #status-card .kpi:focus-within > .icon.portal-status-icon {
  color: var(--neo-accent) !important;
}
body.portal-status-neomorphism #status-card .kpi:hover .portal-status-icon-svg .portal-status-icon-accent,
body.portal-status-neomorphism #status-card .kpi:focus-within .portal-status-icon-svg .portal-status-icon-accent {
  fill: var(--neo-accent) !important;
  stroke: var(--neo-accent) !important;
}

/* Logout remains secondary/dangerous, not a primary coral fill. */
body.portal-status-neomorphism #status-card > div:last-child {
  margin-top: auto !important;
  padding-top: 2px !important;
}
body.portal-status-neomorphism #portal-logout-btn,
body.portal-status-neomorphism #status-card .btn.secondary {
  width: 100% !important;
  min-height: 44px !important;
  padding: 9px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: #8d4b50 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transition: transform var(--neo-transition), box-shadow var(--neo-transition), color var(--neo-transition) !important;
}
body.portal-status-neomorphism #portal-logout-btn:hover,
body.portal-status-neomorphism #status-card .btn.secondary:hover {
  color: var(--neo-danger) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-neomorphism #portal-logout-btn:active,
body.portal-status-neomorphism #status-card .btn.secondary:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* ---------- Shortcuts / center panel ---------- */
body.portal-status-neomorphism #shortcuts-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

body.portal-status-neomorphism #shortcuts-card .section.portal-shortcuts-summary {
  position: absolute !important;
  top: 28px !important;
  left: 28px !important;
  z-index: 4 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
body.portal-status-neomorphism #shortcuts-card .section.portal-shortcuts-summary::before,
body.portal-status-neomorphism #shortcuts-card .section.portal-shortcuts-summary::after {
  display: none !important;
  content: none !important;
}
body.portal-status-neomorphism #results-count {
  min-width: 28px !important;
  height: 28px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

body.portal-status-neomorphism .portal-hero {
  position: relative !important;
  min-height: 104px !important;
  padding: 16px 20px !important;
  border: 0 !important;
  border-radius: 19px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  overflow: hidden !important;
}
body.portal-status-neomorphism .portal-hero::before,
body.portal-status-neomorphism .portal-hero::after {
  display: none !important;
  content: none !important;
}
body.portal-status-neomorphism .portal-hero__content {
  z-index: 2 !important;
  min-width: 0 !important;
}
body.portal-status-neomorphism .portal-hero h2 {
  margin: 0 !important;
  color: var(--neo-text) !important;
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.55 !important;
  font-weight: 700 !important;
  letter-spacing: -.35px !important;
  text-shadow: none !important;
}
body.portal-status-neomorphism .portal-hero__logos {
  gap: 10px !important;
}
body.portal-status-neomorphism .portal-hero__logo-card,
body.portal-status-neomorphism .portal-hero__logo-card:nth-child(n) {
  width: 56px !important;
  height: 56px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  animation: none !important;
  transition: transform var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism .portal-hero__logo-card:hover {
  transform: translateY(-1px) !important;
}
body.portal-status-neomorphism .portal-hero__logo-card:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism .portal-hero__logo-card img {
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  object-fit: contain !important;
  background: transparent !important;
}

body.portal-status-neomorphism #portal-grid.grid {
  min-width: 0 !important;
  gap: 13px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.portal-status-neomorphism .tile,
body.portal-status-neomorphism .tile:nth-child(n) {
  min-width: 0 !important;
  min-height: 96px !important;
  padding: 12px 10px !important;
  gap: 7px !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  border-radius: var(--neo-radius-md) !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transition: transform var(--neo-transition), box-shadow var(--neo-transition), color var(--neo-transition) !important;
}
body.portal-status-neomorphism .tile::before,
body.portal-status-neomorphism .tile::after {
  display: none !important;
  content: none !important;
}
body.portal-status-neomorphism .tile:hover,
body.portal-status-neomorphism .tile:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow:
    6px 6px 13px rgba(163,168,174,.49),
    -6px -6px 13px rgba(255,255,255,.94) !important;
}
body.portal-status-neomorphism .tile:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism .tile .icon,
body.portal-status-neomorphism .tile .icon.icon--image {
  width: 45px !important;
  min-width: 45px !important;
  height: 45px !important;
  min-height: 45px !important;
  padding: 5px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #666e75 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow:
    inset 4px 4px 8px rgba(163,168,174,.36),
    inset -4px -4px 8px rgba(255,255,255,.86) !important;
}
body.portal-status-neomorphism .tile .icon img {
  width: 38px !important;
  height: 38px !important;
  max-width: 38px !important;
  max-height: 38px !important;
  object-fit: contain !important;
  background: transparent !important;
}
body.portal-status-neomorphism .tile .meta {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.portal-status-neomorphism .tile .name {
  color: var(--neo-text) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}
body.portal-status-neomorphism .tile .hint {
  color: var(--neo-text-muted) !important;
  font-size: 10.5px !important;
  line-height: 1.55 !important;
}
body.portal-status-neomorphism .ticket-badge,
body.portal-status-neomorphism .task-badge {
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid var(--neo-surface) !important;
  border-radius: var(--neo-radius-round) !important;
  color: #fff !important;
  background: var(--neo-accent) !important;
  background-image: none !important;
  box-shadow: 2px 2px 5px rgba(166,67,71,.24) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

body.portal-status-neomorphism .tile.is-tile-dragging {
  opacity: .72 !important;
  transform: scale(.99) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* ---------- Banner ---------- */
body.portal-status-neomorphism #banner.banner {
  flex: 0 0 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-top: 0 !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  overflow: visible !important;
}
body.portal-status-neomorphism #banner.banner::before,
body.portal-status-neomorphism #banner.banner::after {
  display: none !important;
  content: none !important;
}
body.portal-status-neomorphism #banner > .portal-widget-placeholder {
  width: 100% !important;
  height: 70px !important;
  min-height: 70px !important;
  max-height: 70px !important;
}
body.portal-status-neomorphism #banner .portal-inline-banner {
  width: 100% !important;
  height: auto !important;
  min-height: 70px !important;
  max-height: none !important;
  padding: 11px 14px !important;
  gap: 11px !important;
  align-items: center !important;
  border: 0 !important;
  color: var(--neo-text) !important;
  background: transparent !important;
  background-image: none !important;
  overflow: visible !important;
}
body.portal-status-neomorphism #banner .portal-inline-banner__copy {
  min-width: 0 !important;
}
body.portal-status-neomorphism #banner .portal-inline-banner__title,
body.portal-status-neomorphism #banner .portal-inline-banner__text {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
}
body.portal-status-neomorphism .portal-inline-banner__icon {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  border-radius: 10px !important;
  background: var(--neo-accent-soft) !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.portal-status-neomorphism .portal-inline-banner__icon::before {
  color: var(--neo-accent) !important;
}
body.portal-status-neomorphism .portal-inline-banner__title {
  color: var(--neo-text) !important;
  font-weight: 700 !important;
}
body.portal-status-neomorphism .portal-inline-banner__text {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism .portal-inline-banner[data-type="ok"] .portal-inline-banner__icon {
  background: rgba(63,168,120,.12) !important;
}
body.portal-status-neomorphism .portal-inline-banner[data-type="warn"] .portal-inline-banner__icon {
  background: rgba(228,163,59,.13) !important;
}

/* ---------- Calendar / left panel ---------- */
body.portal-status-neomorphism #calnote-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
body.portal-status-neomorphism #calendar-panel,
body.portal-status-neomorphism #motd-panel.motd-inline {
  border: 0 !important;
  border-radius: var(--neo-radius-md) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  backdrop-filter: none !important;
  overflow: hidden !important;
}
body.portal-status-neomorphism #calendar-panel::before,
body.portal-status-neomorphism #calendar-panel::after,
body.portal-status-neomorphism #motd-panel::before,
body.portal-status-neomorphism #motd-panel::after {
  display: none !important;
  content: none !important;
}
body.portal-status-neomorphism #calendar-panel iframe {
  width: 100% !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: var(--neo-surface-light) !important;
}

body.portal-status-neomorphism #portal-calendar-notes-shortcut {
  width: 100% !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 13px !important;
  gap: 8px !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transition: transform var(--neo-transition), box-shadow var(--neo-transition), color var(--neo-transition) !important;
}
body.portal-status-neomorphism #portal-calendar-notes-shortcut:hover {
  color: var(--neo-accent) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-neomorphism #portal-calendar-notes-shortcut:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism .portal-calendar-notes-shortcut__icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: var(--neo-accent);
}
body.portal-status-neomorphism .portal-calendar-notes-shortcut__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.portal-status-neomorphism .portal-inline-motd,
body.portal-status-neomorphism .portal-inline-birthday {
  height: 100% !important;
  min-height: 0 !important;
  padding: 11px 12px !important;
  gap: 9px !important;
  color: var(--neo-text) !important;
  background: transparent !important;
  background-image: none !important;
}
body.portal-status-neomorphism .portal-inline-motd__icon {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 10px !important;
  color: var(--neo-accent) !important;
  background: var(--neo-accent-soft) !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.portal-status-neomorphism .portal-inline-motd__text,
body.portal-status-neomorphism .portal-inline-birthday__text {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism .portal-inline-motd__author {
  color: var(--neo-text-muted) !important;
}

/* Neutral skeleton — no glass and no colorful shimmer. */
body.portal-status-neomorphism .portal-widget-placeholder {
  border-radius: 13px !important;
  background: var(--neo-surface-dark) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  animation: neoPlaceholderPulse 1.25s ease-in-out infinite !important;
}
@keyframes neoPlaceholderPulse {
  0%, 100% { opacity: .60; }
  50% { opacity: .90; }
}

/* ---------- Assistant launcher / tutorial bubble ---------- */
body.portal-status-neomorphism button#portal-smart-assistant {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.portal-status-neomorphism button#portal-tutorial-bubble {
  border: 0 !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  backdrop-filter: none !important;
}
body.portal-status-neomorphism button#portal-tutorial-bubble::before,
body.portal-status-neomorphism button#portal-tutorial-bubble::after {
  background-image: none !important;
  filter: none !important;
}
body.portal-status-neomorphism button#portal-tutorial-bubble:hover {
  color: var(--neo-accent) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-neomorphism button#portal-tutorial-bubble:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* ---------- Forms ---------- */
body.portal-status-neomorphism :where(
  .portal-auth-field input,
  .portal-phone-modal-field input,
  .portal-assistant-composer textarea,
  .portal-account-modal input,
  .portal-account-modal select,
  .portal-account-modal textarea,
  .input
) {
  min-height: 44px !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 12px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  caret-color: var(--neo-accent) !important;
  transition: box-shadow var(--neo-transition), outline-color var(--neo-transition) !important;
}
body.portal-status-neomorphism :where(
  .portal-auth-field input,
  .portal-phone-modal-field input,
  .portal-assistant-composer textarea,
  .portal-account-modal input,
  .portal-account-modal select,
  .portal-account-modal textarea,
  .input
)::placeholder {
  color: var(--neo-text-muted) !important;
  opacity: 1;
}
body.portal-status-neomorphism :where(
  .portal-auth-field input,
  .portal-phone-modal-field input,
  .portal-assistant-composer textarea,
  .portal-account-modal input,
  .portal-account-modal select,
  .portal-account-modal textarea,
  .input
):focus {
  border-color: rgba(255,91,97,.22) !important;
  box-shadow: var(--neo-shadow-inset), 0 0 0 3px var(--neo-accent-soft) !important;
}

/* ---------- Modal foundation ---------- */
body.portal-status-neomorphism #modal-root {
  z-index: 99990 !important;
}
body.portal-status-neomorphism .modal-backdrop,
body.portal-status-neomorphism .portal-my-assets-modal__backdrop,
body.portal-status-neomorphism .portal-tutorial-modal__backdrop,
body.portal-status-neomorphism .portal-assistant-modal__backdrop,
body.portal-status-neomorphism .portal-phone-modal-backdrop,
body.portal-status-neomorphism .portal-profile-warning-backdrop {
  background: rgba(52,56,61,.34) !important;
  background-image: none !important;
  backdrop-filter: none !important;
}

body.portal-status-neomorphism :where(
  .modal,
  .portal-my-assets-dialog,
  .portal-tutorial-dialog,
  .portal-assistant-dialog,
  .portal-phone-auth-modal,
  .portal-account-modal,
  .portal-profile-warning-dialog
) {
  border: 1px solid rgba(255,255,255,.32) !important;
  border-radius: 22px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow:
    14px 14px 30px rgba(112,117,122,.36),
    -10px -10px 24px rgba(255,255,255,.62) !important;
  backdrop-filter: none !important;
}

body.portal-status-neomorphism :where(
  .modal-title,
  .modal-body,
  .portal-my-assets-dialog__header,
  .portal-my-assets-content,
  .portal-my-assets-dialog__footer,
  .portal-tutorial-header,
  .portal-tutorial-body,
  .portal-assistant-header,
  .portal-assistant-main,
  .portal-account-head,
  .portal-account-body,
  .portal-account-footer,
  .portal-account-code-body
) {
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
}

body.portal-status-neomorphism :where(
  .modal-close,
  .portal-my-assets-close,
  .portal-tutorial-close,
  .portal-assistant-close,
  .portal-account-close,
  .portal-profile-warning-close
) {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transition: color var(--neo-transition), transform var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism :where(
  .modal-close,
  .portal-my-assets-close,
  .portal-tutorial-close,
  .portal-assistant-close,
  .portal-account-close,
  .portal-profile-warning-close
):hover {
  color: var(--neo-accent) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-neomorphism :where(
  .modal-close,
  .portal-my-assets-close,
  .portal-tutorial-close,
  .portal-assistant-close,
  .portal-account-close,
  .portal-profile-warning-close
):active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* ---------- Account modal / tabs / sessions ---------- */
body.portal-status-neomorphism #modal-root .portal-account-tabs {
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-tabs button {
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 11px !important;
  color: var(--neo-text-secondary) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-tabs button.is-active,
body.portal-status-neomorphism #modal-root .portal-account-tabs button[aria-selected="true"] {
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-tabs button.is-active::after,
body.portal-status-neomorphism #modal-root .portal-account-tabs button[aria-selected="true"]::after {
  background: var(--neo-accent) !important;
  background-image: none !important;
}

body.portal-status-neomorphism #modal-root .portal-account-avatar,
body.portal-status-neomorphism #modal-root .portal-session-item,
body.portal-status-neomorphism #modal-root .portal-security-intro,
body.portal-status-neomorphism #modal-root .portal-security-summary,
body.portal-status-neomorphism #modal-root .portal-security-empty,
body.portal-status-neomorphism #modal-root .portal-security-loading {
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-session-item.is-current {
  box-shadow: var(--neo-shadow-inset), inset 3px 0 0 var(--neo-success) !important;
}
body.portal-status-neomorphism #modal-root .portal-current-session-badge {
  color: #237a53 !important;
  background: rgba(63,168,120,.12) !important;
  border-radius: var(--neo-radius-round) !important;
}

/* ---------- Buttons inside dialogs ---------- */
body.portal-status-neomorphism :where(
  #portal-auth-submit,
  .portal-phone-modal-primary,
  .portal-account-confirm,
  .portal-profile-warning-primary,
  .portal-assistant-send
) {
  min-height: 44px !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: var(--neo-accent) !important;
  background-image: none !important;
  box-shadow: 4px 4px 9px rgba(188,58,64,.22), -3px -3px 8px rgba(255,255,255,.66) !important;
  transition: transform var(--neo-transition), background-color var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism :where(
  #portal-auth-submit,
  .portal-phone-modal-primary,
  .portal-account-confirm,
  .portal-profile-warning-primary,
  .portal-assistant-send
):hover:not(:disabled) {
  background: var(--neo-accent-hover) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-neomorphism :where(
  #portal-auth-submit,
  .portal-phone-modal-primary,
  .portal-account-confirm,
  .portal-profile-warning-primary,
  .portal-assistant-send
):active:not(:disabled) {
  background: var(--neo-accent-active) !important;
  transform: none !important;
  box-shadow: inset 3px 3px 7px rgba(137,38,44,.30), inset -2px -2px 5px rgba(255,255,255,.14) !important;
}

body.portal-status-neomorphism :where(
  .portal-account-cancel,
  .portal-profile-warning-secondary,
  .portal-assistant-back,
  .portal-assistant-new-chat,
  .portal-auth-linkbtn,
  .portal-session-logout,
  .portal-security-empty button
) {
  min-height: 40px !important;
  border: 0 !important;
  border-radius: 11px !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transition: transform var(--neo-transition), color var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism :where(
  .portal-account-cancel,
  .portal-profile-warning-secondary,
  .portal-assistant-back,
  .portal-assistant-new-chat,
  .portal-auth-linkbtn,
  .portal-session-logout,
  .portal-security-empty button
):hover:not(:disabled) {
  color: var(--neo-accent) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-neomorphism :where(
  .portal-account-cancel,
  .portal-profile-warning-secondary,
  .portal-assistant-back,
  .portal-assistant-new-chat,
  .portal-auth-linkbtn,
  .portal-session-logout,
  .portal-security-empty button
):active:not(:disabled) {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* ---------- Auth gate ---------- */
body.portal-status-neomorphism #portal-auth-gate,
body.portal-status-neomorphism #portal-auth-gate-checking {
  background: var(--neo-bg) !important;
  background-image: none !important;
  backdrop-filter: none !important;
}
body.portal-status-neomorphism .portal-auth-card,
body.portal-status-neomorphism .portal-auth-check-card {
  border: 1px solid rgba(255,255,255,.32) !important;
  border-radius: var(--neo-radius-lg) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised) !important;
  backdrop-filter: none !important;
}
body.portal-status-neomorphism .portal-auth-card::before,
body.portal-status-neomorphism .portal-auth-check-card::before,
body.portal-status-neomorphism .portal-auth-check-card::after {
  background-image: none !important;
}
body.portal-status-neomorphism .portal-auth-brand img,
body.portal-status-neomorphism .portal-auth-check-card img {
  border-radius: 18px !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism .portal-auth-message {
  border-radius: 11px !important;
  color: var(--neo-danger) !important;
  background: rgba(233,86,93,.08) !important;
}
body.portal-status-neomorphism .portal-auth-message.is-ok {
  color: #237a53 !important;
  background: rgba(63,168,120,.09) !important;
}

/* ---------- Assistant modal ---------- */
body.portal-status-neomorphism .portal-assistant-header__orb,
body.portal-status-neomorphism .portal-assistant-mode__icon,
body.portal-status-neomorphism .portal-assistant-current-mode__icon {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism .portal-assistant-modes {
  gap: 12px !important;
}
body.portal-status-neomorphism .portal-assistant-mode {
  min-height: 74px !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transition: transform var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism .portal-assistant-mode:hover {
  transform: translateY(-1px) !important;
}
body.portal-status-neomorphism .portal-assistant-mode:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism .portal-assistant-conversation,
body.portal-status-neomorphism .portal-assistant-composer__box,
body.portal-status-neomorphism .portal-assistant-current-mode {
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* ---------- Tutorial modal ---------- */
body.portal-status-neomorphism .portal-tutorial-header__icon {
  width: 42px !important;
  height: 42px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism .portal-tutorial-header__icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.portal-status-neomorphism .portal-tutorial-video-frame {
  border: 0 !important;
  border-radius: 16px !important;
  background: #181a1d !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  overflow: hidden !important;
}

/* ---------- My assets ---------- */
body.portal-status-neomorphism .portal-my-assets-content {
  overflow: auto !important;
}
body.portal-status-neomorphism .portal-my-assets-loading,
body.portal-status-neomorphism .portal-my-assets-empty,
body.portal-status-neomorphism .portal-my-assets-item {
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* ---------- Dropdowns / tabs / badges where present ---------- */
body.portal-status-neomorphism :where(.dropdown-menu, .portal-dropdown, [role="listbox"]) {
  border: 1px solid rgba(255,255,255,.28) !important;
  border-radius: 14px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  backdrop-filter: none !important;
  z-index: 100020 !important;
}
body.portal-status-neomorphism :where(.badge, .portal-badge, .status-badge) {
  border-radius: var(--neo-radius-round) !important;
  box-shadow: none !important;
}

/* ---------- Footer ---------- */
body.portal-status-neomorphism .footer {
  padding: 0 20px 14px !important;
  color: var(--neo-text-muted) !important;
  background: var(--neo-bg) !important;
  background-image: none !important;
}
body.portal-status-neomorphism .portal-footer-brand {
  width: min(1520px, 100%) !important;
  min-height: 32px !important;
  margin: 0 auto !important;
  padding: 4px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--neo-text-muted) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.portal-status-neomorphism .portal-footer-brand img {
  background: transparent !important;
  box-shadow: none !important;
}

/* ---------- State semantics ---------- */
body.portal-status-neomorphism .is-error,
body.portal-status-neomorphism [data-state="error"] { color: var(--neo-danger) !important; }
body.portal-status-neomorphism .is-success,
body.portal-status-neomorphism [data-state="success"] { color: var(--neo-success) !important; }
body.portal-status-neomorphism [data-state="warning"] { color: var(--neo-warning) !important; }
body.portal-status-neomorphism [data-state="info"] { color: var(--neo-info) !important; }

/* ---------- Responsive ---------- */
@media (min-width: 1025px) and (max-width: 1280px) {
  body.portal-status-neomorphism .container {
    width: min(1220px, calc(100% - 28px)) !important;
    gap: 16px !important;
    grid-template-columns: 240px minmax(0, 1fr) 240px !important;
  }
  body.portal-status-neomorphism .container > .card { padding: 16px !important; }
  body.portal-status-neomorphism .portal-hero { padding-inline: 16px !important; }
  body.portal-status-neomorphism .portal-hero__logo-card,
  body.portal-status-neomorphism .portal-hero__logo-card:nth-child(n) { width: 50px !important; height: 50px !important; }
  body.portal-status-neomorphism .portal-hero__logo-card img { width: 43px !important; height: 43px !important; }
}

@media (max-width: 1024px) {
  html,
  body.portal-status-neomorphism {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
  }
  body.portal-status-neomorphism { display: block !important; }
  body.portal-status-neomorphism .header,
  body.portal-status-neomorphism .footer { flex: none !important; }
  body.portal-status-neomorphism .header { padding: 12px 14px 0 !important; }
  body.portal-status-neomorphism .header .bar { min-height: 64px !important; border-radius: 18px !important; }
  body.portal-status-neomorphism .brand img { width: 52px !important; height: 52px !important; max-width: 52px !important; max-height: 52px !important; }
  body.portal-status-neomorphism .container {
    flex: 0 0 auto !important;
    width: calc(100% - 28px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 16px auto 22px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
  body.portal-status-neomorphism .container > #shortcuts-card {
    grid-column: 1 / -1 !important;
    order: -1 !important;
  }
  body.portal-status-neomorphism .container > .card {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    border-radius: 20px !important;
  }
  body.portal-status-neomorphism #portal-grid.grid {
    max-height: none !important;
    overflow: visible !important;
  }
  body.portal-status-neomorphism #calendar-panel {
    min-height: 500px !important;
    max-height: none !important;
  }
  body.portal-status-neomorphism #calendar-panel iframe {
    min-height: 500px !important;
  }
  body.portal-status-neomorphism #motd-panel,
  body.portal-status-neomorphism #motd-panel.motd-inline {
    min-height: 88px !important;
    height: auto !important;
    max-height: none !important;
  }
}

@media (max-width: 767px) {
  body.portal-status-neomorphism .container {
    width: calc(100% - 20px) !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body.portal-status-neomorphism .container > #shortcuts-card,
  body.portal-status-neomorphism .container > #status-card,
  body.portal-status-neomorphism .container > #calnote-card {
    grid-column: auto !important;
    order: initial !important;
  }
  body.portal-status-neomorphism .container > #shortcuts-card { order: -1 !important; }
  body.portal-status-neomorphism .container > .card {
    padding: 16px !important;
    border-radius: 18px !important;
    box-shadow:
      6px 6px 13px rgba(163,168,174,.48),
      -6px -6px 13px rgba(255,255,255,.92) !important;
  }
  body.portal-status-neomorphism #portal-grid.grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  body.portal-status-neomorphism .tile { min-height: 100px !important; }
  body.portal-status-neomorphism .portal-hero {
    min-height: 132px !important;
    padding: 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 12px !important;
  }
  body.portal-status-neomorphism .portal-hero__content {
    width: 100% !important;
    max-width: none !important;
    text-align: center !important;
  }
  body.portal-status-neomorphism .portal-hero__logos {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    justify-content: center !important;
  }
  body.portal-status-neomorphism #shortcuts-card .section.portal-shortcuts-summary {
    top: 22px !important;
    left: 22px !important;
  }
  body.portal-status-neomorphism #calendar-panel,
  body.portal-status-neomorphism #calendar-panel iframe {
    min-height: 470px !important;
  }
  body.portal-status-neomorphism :where(
    .modal,
    .portal-my-assets-dialog,
    .portal-tutorial-dialog,
    .portal-assistant-dialog,
    .portal-phone-auth-modal,
    .portal-account-modal,
    .portal-profile-warning-dialog
  ) {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 18px !important;
  }
}

@media (max-width: 479px) {
  body.portal-status-neomorphism .header { padding-inline: 10px !important; }
  body.portal-status-neomorphism .header .bar { min-height: 58px !important; padding: 6px 10px !important; }
  body.portal-status-neomorphism .brand img { width: 46px !important; height: 46px !important; max-width: 46px !important; max-height: 46px !important; border-radius: 15px !important; }
  body.portal-status-neomorphism .container {
    width: calc(100% - 16px) !important;
    margin-top: 12px !important;
    gap: 14px !important;
  }
  body.portal-status-neomorphism .container > .card { padding: 14px !important; }
  body.portal-status-neomorphism #portal-grid.grid { grid-template-columns: 1fr !important; }
  body.portal-status-neomorphism .tile {
    min-height: 72px !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    text-align: right !important;
    padding: 12px !important;
  }
  body.portal-status-neomorphism .tile .meta { text-align: right !important; }
  body.portal-status-neomorphism .tile .hint { display: block !important; }
  body.portal-status-neomorphism .portal-hero__logos { gap: 7px !important; }
  body.portal-status-neomorphism .portal-hero__logo-card,
  body.portal-status-neomorphism .portal-hero__logo-card:nth-child(n) { width: 48px !important; height: 48px !important; border-radius: 14px !important; }
  body.portal-status-neomorphism .portal-hero__logo-card img { width: 41px !important; height: 41px !important; }
  body.portal-status-neomorphism #status-card .kpi { min-height: 66px !important; }
  body.portal-status-neomorphism #calendar-panel,
  body.portal-status-neomorphism #calendar-panel iframe { min-height: 440px !important; }
  body.portal-status-neomorphism .footer { padding-inline: 10px !important; }
}

/* Short screens on desktop: preserve functionality without heavy shadows. */
@media (min-width: 901px) and (max-height: 820px) {
  body.portal-status-neomorphism .header { padding-top: 8px !important; }
  body.portal-status-neomorphism .header .bar { min-height: 58px !important; }
  body.portal-status-neomorphism .brand img { width: 48px !important; height: 48px !important; max-width: 48px !important; max-height: 48px !important; }
  body.portal-status-neomorphism .container { margin-top: 10px !important; margin-bottom: 12px !important; gap: 15px !important; }
  body.portal-status-neomorphism .container > .card { padding: 14px !important; }
  body.portal-status-neomorphism #status-card .kpis,
  body.portal-status-neomorphism #status-card .kpis--sidebar { gap: 7px !important; }
  body.portal-status-neomorphism #status-card .kpi { min-height: 62px !important; padding: 8px 9px !important; }
  body.portal-status-neomorphism #status-card .kpi .icon.portal-status-icon { width: 36px !important; min-width: 36px !important; height: 36px !important; min-height: 36px !important; flex-basis: 36px !important; }
  body.portal-status-neomorphism .tile { padding: 8px !important; gap: 4px !important; }
  body.portal-status-neomorphism .tile .icon,
  body.portal-status-neomorphism .tile .icon.icon--image { width: 39px !important; min-width: 39px !important; height: 39px !important; min-height: 39px !important; }
  body.portal-status-neomorphism .tile .icon img { width: 33px !important; height: 33px !important; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  body.portal-status-neomorphism *,
  body.portal-status-neomorphism *::before,
  body.portal-status-neomorphism *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  body.portal-status-neomorphism .portal-widget-placeholder { animation: none !important; opacity: .82 !important; }
}

/* =========================================================
   Status2 v7 — stable traffic action + natural shortcuts flow
   The banner follows the last tile and grows with multiline content.
   ========================================================= */
body.portal-status-neomorphism #shortcuts-card {
  justify-content: flex-start !important;
  height: auto !important;
  max-height: none !important;
}
body.portal-status-neomorphism #portal-grid.grid {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  grid-template-rows: none !important;
  grid-auto-rows: 96px !important;
  align-content: start !important;
  overflow: visible !important;
}
body.portal-status-neomorphism #portal-grid.grid .tile {
  height: auto !important;
  min-height: 96px !important;
  max-height: none !important;
}

@media (min-width: 1101px) {
  html {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }
  body.portal-status-neomorphism {
    display: block !important;
    height: auto !important;
    min-height: 100vh !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }
  body.portal-status-neomorphism .container {
    flex: none !important;
    height: auto !important;
    min-height: clamp(650px, calc(100vh - 172px), 780px) !important;
    align-items: stretch !important;
  }
  body.portal-status-neomorphism .container > .card {
    height: auto !important;
    max-height: none !important;
  }
}

@media (max-width: 767px) {
  body.portal-status-neomorphism #portal-grid.grid {
    grid-auto-rows: 100px !important;
  }
  body.portal-status-neomorphism #portal-grid.grid .tile {
    min-height: 100px !important;
  }
}

@media (max-width: 479px) {
  body.portal-status-neomorphism #portal-grid.grid {
    grid-auto-rows: auto !important;
  }
  body.portal-status-neomorphism #portal-grid.grid .tile {
    min-height: 72px !important;
  }
}



/* =========================================================
   Status2 v9 — calmer traffic typography + unlimited symbol
   Keep the DeltaSIB value in the DOM for accessibility; when the
   daily plan is unlimited, CSS presents it as an infinity mark with
   a small explanatory label instead of a large Persian word.
   ========================================================= */
body.portal-status-neomorphism #status-card .portal-traffic-kpi__stats {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi__stat {
  min-height: 52px !important;
  padding: 7px 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  text-align: center !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi__stat > span {
  margin: 0 !important;
  color: #767d7a !important;
  font-family: IRANSans, Tahoma, Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi__stat > strong {
  min-height: 20px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #3f4644 !important;
  font-family: Inter, IRANSans, Tahoma, Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -.1px !important;
  text-align: center !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi.is-unlimited #kpi-daily-allowance,
body.portal-status-neomorphism #status-card .portal-traffic-kpi.is-unlimited #kpi-daily-remaining {
  gap: 5px !important;
  min-height: 24px !important;
  font-size: 0 !important;
  line-height: 1 !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi.is-unlimited #kpi-daily-allowance::before,
body.portal-status-neomorphism #status-card .portal-traffic-kpi.is-unlimited #kpi-daily-remaining::before {
  content: "∞";
  color: #555d5a;
  font-family: Arial, "Segoe UI Symbol", sans-serif !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  line-height: .9 !important;
}
body.portal-status-neomorphism #status-card .portal-traffic-kpi.is-unlimited #kpi-daily-allowance::after,
body.portal-status-neomorphism #status-card .portal-traffic-kpi.is-unlimited #kpi-daily-remaining::after {
  content: "نامحدود";
  color: #7b817f;
  font-family: IRANSans, Tahoma, Arial, sans-serif !important;
  font-size: 8.5px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

/* =========================================================
   Status2 v10 — prevent Neomorphism shadows from being clipped
   Base style.css paints the shortcut grid inside a paint-containment
   boundary and the hero clips overflow. Both cut raised shadows at
   their edges. Status2 deliberately allows those shadows to breathe.
   ========================================================= */
body.portal-status-neomorphism .portal-hero {
  overflow: visible !important;
}

body.portal-status-neomorphism #portal-grid.grid {
  contain: none !important;
  overflow: visible !important;
}


/* =========================================================
   Status2 v11 — fully unclip hero logo shadows
   portal-pro.js injects a later !important overflow:hidden on the
   hero and on the logo strip. Use higher Status2-only specificity so
   edge-logo shadows remain visible even after that runtime style loads.
   Also remove the base paint containment from the logo cards.
   ========================================================= */
body.portal-status-master.portal-status-neomorphism .portal-hero,
body.portal-status-master.portal-status-neomorphism .portal-hero__logos {
  overflow: visible !important;
}

body.portal-status-master.portal-status-neomorphism .portal-hero__logo-card,
body.portal-status-master.portal-status-neomorphism .portal-hero__logo-card:nth-child(n) {
  contain: none !important;
  overflow: visible !important;
}

/* =========================================================
   v12 — Account settings modal unified with Status2 surface
   Scope is intentionally limited to Status2 + account modal.
   The original portal logic and production status.html stay untouched.
   ========================================================= */
body.portal-status-neomorphism #modal-root .portal-account-backdrop {
  background: rgba(52,56,61,.34) !important;
  background-image: none !important;
  backdrop-filter: none !important;
}

body.portal-status-neomorphism #modal-root .portal-account-modal,
body.portal-status-neomorphism #modal-root .portal-account-code-modal,
body.portal-status-neomorphism #modal-root .portal-account-success {
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 22px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised) !important;
  color: var(--neo-text) !important;
}

body.portal-status-neomorphism #modal-root .portal-account-head {
  border: 0 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-head > strong {
  color: var(--neo-text) !important;
  font-weight: 900 !important;
}
body.portal-status-neomorphism #modal-root .portal-account-close {
  border: 0 !important;
  border-radius: 11px !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-close:hover {
  color: var(--neo-accent) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-close:active {
  color: var(--neo-accent-active) !important;
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* Tabs: inset rail + raised active tab, no legacy blue. */
body.portal-status-neomorphism #modal-root .portal-account-tabs {
  gap: 8px !important;
  margin: 0 18px !important;
  padding: 5px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-tabs button {
  min-height: 40px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--neo-text-secondary) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  transition: color var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-tabs button span {
  filter: grayscale(1) saturate(0) !important;
  opacity: .72 !important;
}
body.portal-status-neomorphism #modal-root .portal-account-tabs button:hover {
  color: var(--neo-text) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-tabs button.is-active,
body.portal-status-neomorphism #modal-root .portal-account-tabs button[aria-selected="true"] {
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-tabs button.is-active::after,
body.portal-status-neomorphism #modal-root .portal-account-tabs button[aria-selected="true"]::after {
  right: 22% !important;
  left: 22% !important;
  bottom: 2px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: var(--neo-accent) !important;
}

body.portal-status-neomorphism #modal-root .portal-account-body,
body.portal-status-neomorphism #modal-root .portal-account-code-body {
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
}

/* Phone identity chip. */
body.portal-status-neomorphism #modal-root .portal-account-phone-chip,
body.portal-status-neomorphism #modal-root .portal-account-phone-chip.is-unverified {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-phone-chip b {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-phone-chip button {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-phone-chip button:hover {
  color: var(--neo-accent) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-phone-chip button:active {
  box-shadow: var(--neo-shadow-inset) !important;
}

/* Avatar area. */
body.portal-status-neomorphism #modal-root .portal-account-avatar {
  border: 5px solid var(--neo-surface) !important;
  background: var(--neo-surface-dark) !important;
  background-image: none !important;
  box-shadow:
    6px 6px 12px rgba(163,168,174,.46),
    -6px -6px 12px rgba(255,255,255,.86) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-avatar-button {
  min-height: 38px !important;
  padding: 7px 14px !important;
  border: 0 !important;
  border-radius: 11px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transition: color var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-avatar-button span {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-avatar-button:hover {
  color: var(--neo-accent) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-avatar-button:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-avatar-wrap small {
  color: var(--neo-text-muted) !important;
}

/* Form labels / inputs / birth date. */
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-phone-modal-field > span {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-phone-modal-field input {
  height: 42px !important;
  min-height: 42px !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 11px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  outline: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-phone-modal-field input:focus {
  border-color: rgba(255,91,97,.18) !important;
  box-shadow: var(--neo-shadow-inset), 0 0 0 2px var(--neo-accent-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-open {
  top: 3px !important;
  inset-inline-end: 3px !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  border: 0 !important;
  border-radius: 9px !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-open:hover {
  color: var(--neo-accent) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-open:active {
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-inline {
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-phone-editor {
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-phone-editor small {
  color: var(--neo-text-secondary) !important;
}

/* Security intro / summary. */
body.portal-status-neomorphism #modal-root .portal-security-intro {
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-security-intro strong {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #modal-root .portal-security-intro span,
body.portal-status-neomorphism #modal-root .portal-security-summary {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-security-summary span {
  color: var(--neo-text-secondary) !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* Session cards. */
body.portal-status-neomorphism #modal-root .portal-session-list {
  gap: 12px !important;
  padding: 2px 4px 8px !important;
}
body.portal-status-neomorphism #modal-root .portal-session-item,
body.portal-status-neomorphism #modal-root .portal-session-item.is-current {
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-session-item.is-current {
  box-shadow:
    var(--neo-shadow-raised-soft),
    inset 3px 0 0 rgba(63,168,120,.72) !important;
}
body.portal-status-neomorphism #modal-root .portal-session-title strong,
body.portal-status-neomorphism #modal-root .portal-session-meta em {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #modal-root .portal-session-main > span,
body.portal-status-neomorphism #modal-root .portal-session-main > small,
body.portal-status-neomorphism #modal-root .portal-session-meta span {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-session-main > small {
  color: var(--neo-text-muted) !important;
}
body.portal-status-neomorphism #modal-root .portal-current-session-badge {
  border: 0 !important;
  color: #4f665c !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* Logout remains semantically dangerous, but sits on the same neutral surface. */
body.portal-status-neomorphism #modal-root .portal-session-logout,
body.portal-status-neomorphism #modal-root .portal-security-empty button {
  min-height: 36px !important;
  padding: 6px 11px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--neo-danger) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transition: color var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism #modal-root .portal-session-logout:hover,
body.portal-status-neomorphism #modal-root .portal-security-empty button:hover {
  color: #cf3f47 !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-session-logout:active,
body.portal-status-neomorphism #modal-root .portal-security-empty button:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* Loading / empty states: remove legacy blue. */
body.portal-status-neomorphism #modal-root .portal-security-loading,
body.portal-status-neomorphism #modal-root .portal-security-empty {
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
}
body.portal-status-neomorphism #modal-root .portal-security-loading span {
  border-color: rgba(154,162,159,.26) !important;
  border-top-color: var(--neo-traffic-accent-active) !important;
}
body.portal-status-neomorphism #modal-root .portal-security-empty--error strong {
  color: var(--neo-danger) !important;
}

/* Footer and primary actions: raised neutral controls, coral only as interaction accent. */
body.portal-status-neomorphism #modal-root .portal-account-footer {
  border: 0 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.62) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-confirm,
body.portal-status-neomorphism #modal-root .portal-account-cancel {
  min-width: 98px !important;
  min-height: 40px !important;
  padding: 8px 18px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
  transition: color var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-confirm {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-cancel {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-confirm:hover:not(:disabled),
body.portal-status-neomorphism #modal-root .portal-account-cancel:hover:not(:disabled) {
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-confirm:active:not(:disabled),
body.portal-status-neomorphism #modal-root .portal-account-cancel:active:not(:disabled) {
  color: var(--neo-accent-active) !important;
  background: var(--neo-surface) !important;
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

body.portal-status-neomorphism #modal-root .portal-account-footer .portal-phone-modal-message {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-footer .portal-phone-modal-message.is-ok {
  color: #4f665c !important;
}
body.portal-status-neomorphism #modal-root .portal-account-code-body p {
  color: var(--neo-text-secondary) !important;
}

@media (max-width:700px) {
  body.portal-status-neomorphism #modal-root .portal-account-modal {
    border-radius: 18px !important;
  }
  body.portal-status-neomorphism #modal-root .portal-account-tabs {
    margin: 0 10px !important;
  }
  body.portal-status-neomorphism #modal-root .portal-session-meta {
    border-top-color: rgba(163,168,174,.34) !important;
  }
}

/* =========================================================
   v13 — birth-date trigger alignment bugfix
   Keep the trigger fully inside the recessed date field.
   ========================================================= */
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-input-wrap input {
  padding-inline-end: 46px !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-open {
  top: 6px !important;
  inset-inline-end: 6px !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  color: var(--neo-text-secondary) !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-open:hover {
  color: var(--neo-accent) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-open:active {
  color: var(--neo-accent-active) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

/* =========================================================
   v14 — birth-date field + picker aligned with Status2
   Fix physical LTR/RTL overlap and remove the legacy blue picker skin.
   ========================================================= */

/* The date input itself is LTR, while its wrapper lives in an RTL modal.
   Reserve real physical space on the LEFT where the trigger actually sits. */
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-input-wrap {
  position: relative !important;
  display: block !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-input-wrap input {
  padding-left: 46px !important;
  padding-right: 10px !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-open {
  position: absolute !important;
  top: 50% !important;
  left: 6px !important;
  right: auto !important;
  inset-inline-start: auto !important;
  inset-inline-end: auto !important;
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  line-height: 1 !important;
  font-size: 16px !important;
  color: var(--neo-text-muted) !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-open:hover {
  color: var(--neo-accent) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-50%) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-open:active {
  color: var(--neo-accent-active) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-50%) !important;
}

/* Inline birth-date picker: same neutral neomorphic surface as Status2. */
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-inline {
  margin: 10px 0 14px !important;
  padding: 10px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  overflow: visible !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker {
  width: 100% !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--neo-text) !important;
  box-shadow: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 4px 4px 10px !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-head strong {
  color: var(--neo-text) !important;
  font-size: .86rem !important;
  font-weight: 900 !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-head button {
  min-width: 58px !important;
  min-height: 32px !important;
  height: 32px !important;
  padding: 0 11px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
  transition: color var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-head button:hover {
  color: var(--neo-accent) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-head button:active {
  color: var(--neo-accent-active) !important;
  box-shadow: var(--neo-shadow-inset) !important;
  transform: none !important;
}

body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-controls {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  padding: 8px 4px 7px !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-controls label {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  color: var(--neo-text-secondary) !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-controls select {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 11px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  outline: none !important;
  font-family: inherit !important;
  font-weight: 850 !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-controls select:focus {
  border: 0 !important;
  box-shadow: var(--neo-shadow-inset), 0 0 0 2px var(--neo-accent-soft) !important;
}

body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-days {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 9px 4px 12px !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-days button {
  width: 100% !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  transition: color var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-days button:hover {
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-days button.is-selected {
  color: var(--neo-accent-active) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset), 0 0 0 1px rgba(255,91,97,.16) !important;
  transform: none !important;
}

body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-actions {
  display: flex !important;
  padding: 4px !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-actions button {
  width: 100% !important;
  min-height: 40px !important;
  padding: 7px 14px !important;
  border: 0 !important;
  border-radius: 11px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
  filter: none !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  transition: color var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-actions button:hover {
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
  filter: none !important;
}
body.portal-status-neomorphism #modal-root .portal-account-modal .portal-birth-date-picker-actions button:active {
  color: var(--neo-accent-active) !important;
  box-shadow: var(--neo-shadow-inset) !important;
  transform: none !important;
  filter: none !important;
}

/* =========================================================
   v15 — Notes workspace aligned with Status2 neomorphism
   UI-only override. Note paper colors and color swatches stay intact.
   ========================================================= */

/* Modal shell + backdrop */
body.portal-status-neomorphism #modal-root .modal-backdrop:has(.portal-notes-modal) {
  background: rgba(70, 74, 78, .42) !important;
  backdrop-filter: blur(9px) saturate(.82) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-modal {
  --notes-primary: var(--neo-accent) !important;
  --notes-primary-dark: var(--neo-accent-active) !important;
  --notes-text: var(--neo-text) !important;
  --notes-muted: var(--neo-text-secondary) !important;
  --notes-border: transparent !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: var(--neo-radius-lg) !important;
  box-shadow: var(--neo-shadow-raised) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-modal::before {
  display: none !important;
  content: none !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-modal::after {
  display: none !important;
  content: none !important;
}

/* Header */
body.portal-status-neomorphism #modal-root .portal-notes-head {
  padding: 17px 20px 15px !important;
  border: 0 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: inset 0 -1px 0 rgba(163,168,174,.22) !important;
  backdrop-filter: none !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-head__icon {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-eyebrow {
  color: var(--neo-text-muted) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-head h3 {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-head p {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-close {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-close:hover {
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  border: 0 !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-close:active {
  color: var(--neo-accent-active) !important;
  box-shadow: var(--neo-shadow-inset) !important;
  transform: none !important;
}

/* Main modal body */
body.portal-status-neomorphism #modal-root .portal-notes-body {
  background: var(--neo-surface) !important;
  background-image: none !important;
  scrollbar-color: #b8bdc2 transparent !important;
}

/* Composer */
body.portal-status-neomorphism #modal-root .portal-note-composer {
  border: 0 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  border-radius: var(--neo-radius-lg) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-composer::before {
  display: none !important;
  content: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-form-title {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-form-title::before {
  background: var(--neo-accent) !important;
  background-image: none !important;
  box-shadow: 0 0 0 5px var(--neo-accent-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-limit {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-field-label,
body.portal-status-neomorphism #modal-root .portal-note-tool-label {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-input,
body.portal-status-neomorphism #modal-root .portal-note-textarea {
  border: 0 !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-input:focus,
body.portal-status-neomorphism #modal-root .portal-note-textarea:focus {
  border: 0 !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-inset), 0 0 0 2px var(--neo-accent-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-textarea::placeholder {
  color: var(--neo-text-muted) !important;
}

/* Color selector shell. IMPORTANT: individual swatch backgrounds are intentionally untouched. */
body.portal-status-neomorphism #modal-root .portal-note-colors {
  border: 0 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-color {
  border-color: rgba(255,255,255,.72) !important;
  box-shadow: 2px 2px 5px rgba(163,168,174,.36), -2px -2px 5px rgba(255,255,255,.72) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-color:hover {
  transform: none !important;
  box-shadow: 3px 3px 6px rgba(163,168,174,.42), -3px -3px 6px rgba(255,255,255,.78) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-color.active {
  outline: 2px solid var(--neo-accent) !important;
  outline-offset: 2px !important;
  transform: none !important;
  box-shadow: 0 0 0 4px var(--neo-accent-soft), 2px 2px 5px rgba(163,168,174,.36) !important;
}

/* Reminder controls */
body.portal-status-neomorphism #modal-root .portal-note-reminder-chip {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-reminder-chip:hover {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-reminder-chip:active {
  color: var(--neo-accent-active) !important;
  box-shadow: var(--neo-shadow-inset) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-clear-reminder {
  border: 0 !important;
  color: var(--neo-danger) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-clear-reminder:hover {
  color: #d84a51 !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-clear-reminder:active {
  box-shadow: var(--neo-shadow-inset) !important;
  transform: none !important;
}

/* Composer actions */
body.portal-status-neomorphism #modal-root .portal-note-form-actions button,
body.portal-status-neomorphism #modal-root .portal-note-form-actions .primary,
body.portal-status-neomorphism #modal-root .portal-note-form-actions .secondary {
  border: 0 !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
  filter: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-form-actions button:hover,
body.portal-status-neomorphism #modal-root .portal-note-form-actions .primary:hover,
body.portal-status-neomorphism #modal-root .portal-note-form-actions .secondary:hover {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
  filter: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-form-actions button:active {
  color: var(--neo-accent-active) !important;
  box-shadow: var(--neo-shadow-inset) !important;
  transform: none !important;
}

/* Reminder date/time popover */
body.portal-status-neomorphism #modal-root .portal-note-date-popover {
  border: 0 !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-date-title {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-date-title small {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-time-panel,
body.portal-status-neomorphism #modal-root .portal-picker-panel {
  border: 0 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-time-field label {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-time-field input {
  border: 0 !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-time-field input:focus {
  border: 0 !important;
  box-shadow: var(--neo-shadow-inset), 0 0 0 2px var(--neo-accent-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-head button {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-head button:hover {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-head button:active {
  color: var(--neo-accent-active) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-title {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-week span {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-day {
  border: 0 !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-day:hover {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-day.is-today {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft), inset 0 0 0 1px var(--neo-accent-soft) !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-day.is-selected,
body.portal-status-neomorphism #modal-root .portal-picker-day.is-selected.is-today {
  border: 0 !important;
  color: var(--neo-accent-active) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset), 0 0 0 1px var(--neo-accent-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-apply {
  border: 0 !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-apply:hover {
  color: var(--neo-accent) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-apply:active {
  color: var(--neo-accent-active) !important;
  box-shadow: var(--neo-shadow-inset) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-message {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-picker-message.is-error {
  color: var(--neo-danger) !important;
}

/* Notes board toolbar */
body.portal-status-neomorphism #modal-root .portal-notes-toolbar b {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-toolbar small {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-arrange {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-arrange:hover {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-arrange:active {
  color: var(--neo-accent-active) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

/* Board surface + empty state */
body.portal-status-neomorphism #modal-root .portal-notes-list.is-free-board {
  border: 0 !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-list.is-free-board::before {
  color: var(--neo-text-muted) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-empty {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #modal-root .portal-notes-empty b {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #modal-root .portal-empty-icon {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}

/* Colored note papers: keep their selected paper color/background exactly as-is.
   Only neutral interaction chrome is aligned with Status2. */
body.portal-status-neomorphism #modal-root .portal-note-card {
  box-shadow: 6px 6px 14px rgba(163,168,174,.30), -4px -4px 12px rgba(255,255,255,.55) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-card:hover {
  box-shadow: 8px 8px 18px rgba(163,168,174,.34), -5px -5px 14px rgba(255,255,255,.58) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-reminder {
  color: rgba(52,56,61,.72) !important;
  border-color: rgba(255,255,255,.55) !important;
  box-shadow: 2px 2px 5px rgba(163,168,174,.20), -2px -2px 5px rgba(255,255,255,.38) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-actions button {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: rgba(236,238,239,.76) !important;
  background-image: none !important;
  box-shadow: 2px 2px 5px rgba(163,168,174,.30), -2px -2px 5px rgba(255,255,255,.52) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-actions button:hover {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: rgba(236,238,239,.86) !important;
  box-shadow: 2px 2px 5px rgba(163,168,174,.30), -2px -2px 5px rgba(255,255,255,.52) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-actions button[data-action="done"]:hover {
  color: var(--neo-success) !important;
  background: rgba(236,238,239,.86) !important;
  border: 0 !important;
}
body.portal-status-neomorphism #modal-root .portal-note-actions button[data-action="delete"]:hover {
  color: var(--neo-danger) !important;
  background: rgba(236,238,239,.86) !important;
  border: 0 !important;
}

/* Focus treatment: coral accent used throughout Status2, no legacy blue rings. */
body.portal-status-neomorphism #modal-root .portal-notes-modal button:focus-visible,
body.portal-status-neomorphism #modal-root .portal-notes-modal textarea:focus-visible,
body.portal-status-neomorphism #modal-root .portal-notes-modal input:focus-visible {
  outline: 2px solid var(--neo-accent) !important;
  outline-offset: 3px !important;
}

@media (max-width: 820px) {
  body.portal-status-neomorphism #modal-root .portal-notes-modal {
    border-radius: 20px !important;
  }
  body.portal-status-neomorphism #modal-root .portal-note-composer {
    border-radius: 18px !important;
  }
}

/* =========================================================
   v16 — Notes modal: use the available desktop height
   The notes module caps the modal at 940px, which forces an internal
   scrollbar even when the viewport still has unused vertical space.
   Keep overflow as a safety fallback only for genuinely short screens.
   ========================================================= */
@media (min-width: 821px) {
  body.portal-status-neomorphism #modal-root .modal-backdrop:has(.portal-notes-modal) {
    padding: 6px !important;
  }

  body.portal-status-neomorphism #modal-root .portal-notes-modal {
    height: min(1120px, calc(100dvh - 12px)) !important;
    max-height: calc(100dvh - 12px) !important;
  }

  body.portal-status-neomorphism #modal-root .portal-notes-body {
    min-height: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }
}


/* =========================================================
   v17 — Notes paper + action controls
   Preserve every selectable note-paper color exactly as provided by
   portal-notes.js; only shape, depth and interaction chrome are aligned
   with Status2 neomorphism.
   ========================================================= */
body.portal-status-neomorphism #modal-root .portal-note-card {
  border: 0 !important;
  border-radius: 22px !important;
  box-shadow:
    7px 7px 15px rgba(163,168,174,.31),
    -6px -6px 14px rgba(255,255,255,.56),
    inset 0 0 0 1px rgba(255,255,255,.42),
    inset 1px 1px 0 rgba(255,255,255,.48) !important;
  transform: none !important;
  filter: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-card:hover {
  border: 0 !important;
  box-shadow:
    9px 9px 18px rgba(163,168,174,.34),
    -7px -7px 16px rgba(255,255,255,.60),
    inset 0 0 0 1px rgba(255,255,255,.46),
    inset 1px 1px 0 rgba(255,255,255,.52) !important;
  transform: none !important;
  filter: none !important;
}
/* Remove the old glossy bubble; keep the paper's own selected background/color. */
body.portal-status-neomorphism #modal-root .portal-note-card::after {
  display: none !important;
  content: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-card::before {
  width: 4px !important;
  opacity: .64 !important;
  box-shadow: inset 1px 0 0 rgba(255,255,255,.34) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-pin {
  width: 38px !important;
  height: 6px !important;
  border-radius: var(--neo-radius-round) !important;
  opacity: .62 !important;
  box-shadow:
    inset 1px 1px 2px rgba(70,75,80,.18),
    inset -1px -1px 2px rgba(255,255,255,.36) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-reminder {
  border: 0 !important;
  background: rgba(255,255,255,.25) !important;
  box-shadow:
    2px 2px 5px rgba(120,125,130,.16),
    -2px -2px 5px rgba(255,255,255,.34),
    inset 0 0 0 1px rgba(255,255,255,.28) !important;
}

/* Keep the action row visually part of the paper, but give it the same
   recessed/raised language as the main Status2 controls. */
body.portal-status-neomorphism #modal-root .portal-note-actions {
  opacity: 1 !important;
  transform: none !important;
  gap: 6px !important;
  padding: 7px !important;
  margin-top: 2px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.20) !important;
  box-shadow:
    inset 3px 3px 7px rgba(120,125,130,.13),
    inset -3px -3px 7px rgba(255,255,255,.30) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-card:hover .portal-note-actions {
  opacity: 1 !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-actions button {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--neo-text-secondary) !important;
  background: rgba(255,255,255,.28) !important;
  background-image: none !important;
  box-shadow:
    2px 2px 5px rgba(120,125,130,.20),
    -2px -2px 5px rgba(255,255,255,.40),
    inset 0 0 0 1px rgba(255,255,255,.20) !important;
  transform: none !important;
  filter: none !important;
  transition: color var(--neo-transition), box-shadow var(--neo-transition), background var(--neo-transition) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-actions button:hover {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: rgba(255,255,255,.34) !important;
  box-shadow:
    2px 2px 5px rgba(120,125,130,.20),
    -2px -2px 5px rgba(255,255,255,.42),
    inset 0 0 0 1px var(--neo-accent-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-actions button:active {
  color: var(--neo-accent-active) !important;
  background: rgba(255,255,255,.23) !important;
  box-shadow:
    inset 2px 2px 5px rgba(120,125,130,.20),
    inset -2px -2px 5px rgba(255,255,255,.38) !important;
  transform: none !important;
}
body.portal-status-neomorphism #modal-root .portal-note-actions button[data-action="done"]:hover {
  color: var(--neo-success) !important;
  background: rgba(255,255,255,.34) !important;
  box-shadow:
    2px 2px 5px rgba(120,125,130,.20),
    -2px -2px 5px rgba(255,255,255,.42),
    inset 0 0 0 1px rgba(63,168,120,.18) !important;
}
body.portal-status-neomorphism #modal-root .portal-note-actions button[data-action="delete"]:hover {
  color: var(--neo-danger) !important;
  background: rgba(255,255,255,.34) !important;
  box-shadow:
    2px 2px 5px rgba(120,125,130,.20),
    -2px -2px 5px rgba(255,255,255,.42),
    inset 0 0 0 1px rgba(233,86,93,.18) !important;
}

/* =========================================================
   Status2 v18 — integrated calendar surface
   The themed calendar is requested only by Status2. The production
   status page keeps the legacy embed until the final migration.
   ========================================================= */
body.portal-status-neomorphism #calendar-panel {
  flex: 0 0 auto !important;
  height: auto;
  min-height: 300px !important;
  max-height: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}
body.portal-status-neomorphism #calendar-panel iframe.external-widget {
  width: 100% !important;
  min-height: 300px !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* =========================================================
   Status2 v79 — required profile warning modal
   Visual-only override. Keep the existing modal logic/markup untouched.
   ========================================================= */
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-backdrop {
  padding: 18px !important;
  background: rgba(52,56,61,.34) !important;
  background-image: none !important;
  backdrop-filter: none !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-dialog {
  position: relative !important;
  width: min(92vw, 500px) !important;
  max-width: 500px !important;
  display: grid !important;
  grid-template-columns: 58px minmax(0,1fr) !important;
  gap: 16px !important;
  padding: 26px 26px 22px !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 24px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow:
    14px 14px 30px rgba(112,117,122,.34),
    -10px -10px 24px rgba(255,255,255,.58) !important;
  overflow: visible !important;
  backdrop-filter: none !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-dialog::after {
  display: none !important;
  content: none !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-close {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 2 !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 11px !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  font: 800 21px/1 Arial, sans-serif !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-close:hover {
  color: var(--neo-accent) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-close:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-icon {
  width: 56px !important;
  min-width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 17px !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  font: 900 29px/1 Arial, sans-serif !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-copy {
  min-width: 0 !important;
  padding: 0 0 0 22px !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-copy > strong {
  display: block !important;
  margin: 1px 0 6px !important;
  color: var(--neo-text) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.65 !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-copy > p {
  margin: 0 !important;
  color: var(--neo-text-secondary) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.9 !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-missing {
  display: flex !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 13px !important;
  padding: 11px 13px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
  font-size: 11.5px !important;
  line-height: 1.85 !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-missing span {
  color: var(--neo-text-secondary) !important;
  font-weight: 650 !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-missing b {
  color: var(--neo-accent) !important;
  font-weight: 850 !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-copy > small {
  display: block !important;
  margin-top: 10px !important;
  color: var(--neo-text-muted) !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  line-height: 1.8 !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-actions {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin-top: 4px !important;
  padding-top: 17px !important;
  border-top: 0 !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-actions button {
  min-height: 42px !important;
  padding: 8px 17px !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-family: inherit !important;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-primary {
  color: #fff !important;
  background: var(--neo-accent) !important;
  background-image: none !important;
  box-shadow:
    4px 4px 9px rgba(188,58,64,.22),
    -3px -3px 8px rgba(255,255,255,.66) !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-primary:hover {
  background: var(--neo-accent-hover) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-primary:active {
  background: var(--neo-accent-active) !important;
  transform: none !important;
  box-shadow:
    inset 3px 3px 7px rgba(137,38,44,.30),
    inset -2px -2px 5px rgba(255,255,255,.14) !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-secondary {
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-secondary:hover {
  color: var(--neo-accent) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-secondary:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

@media (max-width: 560px) {
  body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-backdrop {
    padding: 10px !important;
  }
  body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-dialog {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 48px minmax(0,1fr) !important;
    gap: 12px !important;
    padding: 22px 16px 18px !important;
    border-radius: 20px !important;
  }
  body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-icon {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 15px !important;
    font-size: 25px !important;
  }
  body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-copy {
    padding-left: 20px !important;
  }
  body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-copy > strong {
    font-size: 15px !important;
  }
  body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.portal-status-master.portal-status-neomorphism #modal-root .portal-profile-warning-actions button {
    width: 100% !important;
  }
}

/* =========================================================
   Status2 v80 — success + birthday modals
   Visual-only overrides. Existing markup, logic and animation lifecycle stay untouched.
   ========================================================= */

/* ---------- Account/profile save success ---------- */
body.portal-status-master.portal-status-neomorphism #modal-root .portal-account-backdrop {
  background: rgba(52,56,61,.34) !important;
  background-image: none !important;
  backdrop-filter: none !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-account-success.portal-phone-auth-modal--success {
  width: min(92vw, 390px) !important;
  max-width: 390px !important;
  min-height: 0 !important;
  padding: 30px 28px 26px !important;
  gap: 12px !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 24px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow:
    14px 14px 30px rgba(112,117,122,.34),
    -10px -10px 24px rgba(255,255,255,.58) !important;
  backdrop-filter: none !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-account-success .portal-phone-success-mark {
  width: 66px !important;
  min-width: 66px !important;
  height: 66px !important;
  min-height: 66px !important;
  margin-bottom: 2px !important;
  border: 0 !important;
  border-radius: 20px !important;
  color: var(--neo-success) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  font-size: 31px !important;
  font-weight: 900 !important;
  box-shadow:
    6px 6px 13px rgba(163,168,174,.46),
    -6px -6px 13px rgba(255,255,255,.90),
    inset 0 0 0 1px rgba(63,168,120,.10) !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-account-success > strong {
  margin: 2px 0 0 !important;
  color: var(--neo-text) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.65 !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-account-success > p {
  max-width: 310px !important;
  margin: 0 0 3px !important;
  color: var(--neo-text-secondary) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.9 !important;
}

body.portal-status-master.portal-status-neomorphism #modal-root .portal-account-success .portal-phone-modal-primary {
  min-width: 108px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin-top: 3px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: var(--neo-accent) !important;
  background-image: none !important;
  font-size: 11.5px !important;
  font-weight: 850 !important;
  box-shadow:
    4px 4px 9px rgba(188,58,64,.22),
    -3px -3px 8px rgba(255,255,255,.62) !important;
  transition: transform var(--neo-transition), background var(--neo-transition), box-shadow var(--neo-transition) !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-account-success .portal-phone-modal-primary:hover {
  background: var(--neo-accent-hover) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-master.portal-status-neomorphism #modal-root .portal-account-success .portal-phone-modal-primary:active {
  background: var(--neo-accent-active) !important;
  transform: none !important;
  box-shadow:
    inset 3px 3px 7px rgba(137,38,44,.30),
    inset -2px -2px 5px rgba(255,255,255,.14) !important;
}

/* ---------- Personal birthday card ---------- */
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-modal__backdrop {
  background: rgba(52,56,61,.40) !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-dialog.portal-birthday-dialog--v21 {
  width: min(900px, calc(100vw - 42px)) !important;
  min-height: 510px !important;
  max-height: calc(100vh - 42px) !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 28px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow:
    18px 18px 42px rgba(100,105,111,.40),
    -12px -12px 30px rgba(255,255,255,.54) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-dialog.portal-birthday-dialog--v21::before {
  height: 3px !important;
  background: var(--neo-accent) !important;
  background-image: none !important;
  opacity: .72 !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-dialog.portal-birthday-dialog--v21::after {
  display: none !important;
  content: none !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21 {
  min-height: 510px !important;
  grid-template-columns: minmax(285px,.82fr) minmax(0,1.42fr) !important;
  gap: 18px !important;
  padding: 18px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__art,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__content {
  min-height: 474px !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__art {
  padding: 42px 28px 32px !important;
  gap: 20px !important;
  overflow: hidden !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__art::after,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__aurora {
  display: none !important;
  content: none !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__flower-stage,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__bouquet-mark {
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__flower-stage::before,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__flower-stage::after,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__bouquet-mark::before,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__bouquet-mark::after {
  display: none !important;
  content: none !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__art-copy {
  gap: 2px !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__art-copy span,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__art-copy small {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__art-copy strong {
  color: var(--neo-accent) !important;
  font-size: 27px !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__content {
  overflow: hidden !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__header {
  min-height: 88px !important;
  padding: 19px 70px 15px 28px !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__logo {
  width: 50px !important;
  height: 50px !important;
  flex-basis: 50px !important;
  border: 0 !important;
  border-radius: 15px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__logo img {
  width: 42px !important;
  height: 42px !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__brand-copy strong {
  color: var(--neo-text) !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__brand-copy small {
  color: var(--neo-text-secondary) !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__occasion {
  min-height: 34px !important;
  padding: 7px 13px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__body {
  padding: 28px 58px 34px 38px !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__kicker {
  margin-bottom: 8px !important;
  color: var(--neo-text-secondary) !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__title {
  color: var(--neo-text) !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__name {
  color: var(--neo-accent) !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: 42px !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__title-line {
  color: var(--neo-text) !important;
  font-size: 33px !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__date {
  color: var(--neo-text-muted) !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__date::before {
  background: var(--neo-accent) !important;
  opacity: .44 !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__message {
  margin-top: 20px !important;
  padding: 18px 21px 17px !important;
  border: 0 !important;
  border-right: 0 !important;
  border-radius: 17px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__quote {
  top: -9px !important;
  left: 17px !important;
  color: var(--neo-accent) !important;
  opacity: .18 !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__message p {
  color: var(--neo-text-secondary) !important;
  font-weight: 650 !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__signature {
  margin-top: 18px !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__signature::before {
  background: var(--neo-accent) !important;
  opacity: .40 !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__signature span {
  color: var(--neo-text-muted) !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__signature strong {
  color: var(--neo-text) !important;
}

body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-close.modal-close,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-close.modal-close:hover,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-close.modal-close:focus,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-close.modal-close:focus-visible,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-close.modal-close:active {
  top: 16px !important;
  left: 16px !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  outline: none !important;
  transform: none !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-close.modal-close:hover,
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-close.modal-close:focus-visible {
  color: var(--neo-accent) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-close.modal-close:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}

@media (max-width: 820px) {
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-dialog.portal-birthday-dialog--v21 {
    width: min(610px, calc(100vw - 24px)) !important;
    min-height: 0 !important;
    border-radius: 24px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21 {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 12px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__content,
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__art {
    min-height: 0 !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__content {
    grid-row: 1 !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__art {
    min-height: 210px !important;
    padding: 22px 20px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__header {
    min-height: 80px !important;
    padding: 16px 58px 13px 18px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__body {
    padding: 24px 24px 28px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__name {
    font-size: 35px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__title-line {
    font-size: 28px !important;
  }
}

@media (max-width: 480px) {
  body.portal-status-master.portal-status-neomorphism #modal-root .portal-account-success.portal-phone-auth-modal--success {
    width: calc(100vw - 20px) !important;
    padding: 26px 18px 22px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal {
    padding: 8px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-dialog.portal-birthday-dialog--v21 {
    width: calc(100vw - 16px) !important;
    border-radius: 20px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21 {
    padding: 9px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__header {
    padding: 15px 54px 12px 15px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__occasion {
    display: none !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__body {
    padding: 22px 18px 24px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__name {
    font-size: 31px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__title-line {
    font-size: 25px !important;
  }
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-v21__message {
    padding: 16px !important;
  }
}

/* =========================================================
   Status2 v81 — birthday announcement auto-height fix
   Allow the inline birthday message to grow naturally instead of
   inheriting the legacy fixed MOTD height, so wrapped text is never clipped.
   ========================================================= */
body.portal-status-master.portal-status-neomorphism #calnote-card #motd-panel[data-content-type="birthday"],
body.portal-status-master.portal-status-neomorphism #calnote-card #motd-panel.motd-inline[data-content-type="birthday"] {
  flex: 0 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body.portal-status-master.portal-status-neomorphism #calnote-card #motd-panel[data-content-type="birthday"] > .portal-inline-birthday {
  height: auto !important;
  min-height: 82px !important;
  max-height: none !important;
  padding-top: 10px !important;
  padding-bottom: 11px !important;
}

body.portal-status-master.portal-status-neomorphism #calnote-card #motd-panel[data-content-type="birthday"] .portal-inline-birthday__copy,
body.portal-status-master.portal-status-neomorphism #calnote-card #motd-panel[data-content-type="birthday"] .portal-inline-birthday__text {
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body.portal-status-master.portal-status-neomorphism #calnote-card #motd-panel[data-content-type="birthday"] .portal-inline-birthday__text {
  padding-block: 2px !important;
  white-space: normal !important;
}

/* =========================================================
   External portal authentication — visual parity only
   Keeps OTP / trusted-device / session logic untouched.
   ========================================================= */
body.portal-status-neomorphism .portal-auth-footer {
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  border: 0 !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  backdrop-filter: none !important;
}
body.portal-status-neomorphism .portal-auth-shell {
  border-radius: 28px !important;
  background:
    repeating-conic-gradient(
      from var(--portal-login-angle),
      rgba(255,91,97,.78) 0%,
      rgba(255,91,97,.78) 5%,
      transparent 5%,
      transparent 40%,
      rgba(154,162,159,.72) 50%
    ) !important;
  box-shadow:
    18px 18px 34px rgba(163,168,174,.42),
    -18px -18px 34px rgba(255,255,255,.88) !important;
}
body.portal-status-neomorphism .portal-auth-shell::before {
  border-radius: 28px !important;
  background:
    repeating-conic-gradient(
      from var(--portal-login-angle),
      rgba(67,142,203,.45) 0%,
      rgba(67,142,203,.45) 5%,
      transparent 5%,
      transparent 40%,
      rgba(63,168,120,.42) 50%
    ) !important;
}
body.portal-status-neomorphism .portal-auth-shell::after {
  inset: 3px !important;
  border: 0 !important;
  border-radius: 25px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: inset 1px 1px 0 rgba(255,255,255,.55) !important;
}
body.portal-status-neomorphism .portal-auth-shell:hover,
body.portal-status-neomorphism .portal-auth-shell:focus-within,
body.portal-status-neomorphism .portal-auth-shell.is-open {
  box-shadow:
    22px 22px 48px rgba(163,168,174,.50),
    -20px -20px 42px rgba(255,255,255,.92) !important;
}
body.portal-status-neomorphism .portal-auth-card {
  border: 0 !important;
  border-radius: 24px !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism .portal-auth-shell:hover .portal-auth-card,
body.portal-status-neomorphism .portal-auth-shell:focus-within .portal-auth-card,
body.portal-status-neomorphism .portal-auth-shell.is-open .portal-auth-card {
  background: var(--neo-surface) !important;
}
body.portal-status-neomorphism .portal-auth-brand h1 {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism .portal-auth-brand h1::before {
  background: var(--neo-accent) !important;
  box-shadow: 0 0 0 4px var(--neo-accent-soft) !important;
}
body.portal-status-neomorphism .portal-auth-brand h1::after {
  background: var(--neo-traffic-accent) !important;
  box-shadow: 0 0 0 4px var(--neo-traffic-accent-soft) !important;
}
body.portal-status-neomorphism .portal-auth-remember {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism .portal-auth-remember input {
  accent-color: var(--neo-accent) !important;
}
body.portal-status-neomorphism .portal-auth-otp-info {
  border: 0 !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism .portal-auth-check-card::after {
  border-color: var(--neo-surface-dark) !important;
  border-top-color: var(--neo-accent) !important;
}
@media (max-width: 560px) {
  body.portal-status-neomorphism .portal-auth-shell {
    border-radius: 24px !important;
  }
  body.portal-status-neomorphism .portal-auth-footer {
    box-shadow:
      6px 6px 14px rgba(163,168,174,.30),
      -6px -6px 14px rgba(255,255,255,.82) !important;
  }
}


/* =========================================================
   v86 — External portal mobile layout stabilization
   Visual/layout only. No auth/session/OTP/JS behavior changes.
   Uses dynamic viewport units so browser chrome does not clip dialogs.
   ========================================================= */
@media (max-width: 767px) {
  html,
  body.portal-status-neomorphism {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Main mobile shell: keep the shortcut/hero card inside the viewport. */
  body.portal-status-neomorphism .container,
  body.portal-status-neomorphism .container > .card,
  body.portal-status-neomorphism #shortcuts-card,
  body.portal-status-neomorphism .portal-hero,
  body.portal-status-neomorphism .portal-hero__content,
  body.portal-status-neomorphism .portal-hero__logos,
  body.portal-status-neomorphism #portal-grid.grid {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.portal-status-neomorphism #shortcuts-card,
  body.portal-status-neomorphism .portal-hero,
  body.portal-status-neomorphism #portal-grid.grid {
    width: 100% !important;
  }
  body.portal-status-neomorphism .portal-hero {
    height: auto !important;
    max-height: none !important;
  }
  body.portal-status-neomorphism .portal-hero__logos {
    flex-wrap: wrap !important;
    row-gap: 8px !important;
    overflow: visible !important;
  }
  body.portal-status-neomorphism .portal-hero__logo-card,
  body.portal-status-neomorphism .portal-hero__logo-card:nth-child(n) {
    flex: 0 0 auto !important;
  }

  /* Every modal backdrop must use the visible mobile viewport and allow safe scroll. */
  body.portal-status-neomorphism #modal-root .modal-backdrop,
  body.portal-status-neomorphism #modal-root .portal-phone-modal-backdrop,
  body.portal-status-neomorphism #modal-root .portal-account-backdrop,
  body.portal-status-neomorphism #modal-root .portal-profile-warning-backdrop,
  body.portal-status-neomorphism .portal-my-assets-modal,
  body.portal-status-neomorphism .portal-tutorial-modal,
  body.portal-status-neomorphism .portal-assistant-modal,
  body.portal-status-neomorphism #portal-birthday-modal,
  body.portal-status-neomorphism #modal-root .internal-directory-backdrop {
    padding: 8px !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
  }

  /* Generic iframe/tool modal. Inline 95vh sizes from portal-pro.js are visual only
     and are intentionally overridden here without touching JS. */
  body.portal-status-neomorphism #modal-root .modal {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    height: auto !important;
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }
  body.portal-status-neomorphism #modal-root .modal-title {
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }
  body.portal-status-neomorphism #modal-root .modal-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    padding: 8px !important;
  }
  body.portal-status-neomorphism #modal-root .modal-iframe {
    width: 100% !important;
    min-width: 0 !important;
    height: calc(100vh - 92px) !important;
    height: calc(100dvh - 92px) !important;
    min-height: 0 !important;
    max-height: calc(100vh - 92px) !important;
    max-height: calc(100dvh - 92px) !important;
  }

  /* Account/settings modal: old external CSS used fixed 100vh and max-height:none. */
  body.portal-status-neomorphism #modal-root .portal-account-backdrop {
    align-items: center !important;
    place-items: center !important;
  }
  body.portal-status-neomorphism #modal-root .portal-account-modal {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    height: calc(100vh - 16px) !important;
    height: calc(100dvh - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }
  body.portal-status-neomorphism #modal-root .portal-account-head,
  body.portal-status-neomorphism #modal-root .portal-account-tabs,
  body.portal-status-neomorphism #modal-root .portal-account-footer {
    flex: 0 0 auto !important;
  }
  body.portal-status-neomorphism #modal-root .portal-account-body {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  /* Phone/profile dialogs including Jalali profile completion. */
  body.portal-status-neomorphism #modal-root .portal-phone-auth-modal,
  body.portal-status-neomorphism #modal-root .portal-phone-auth-modal--profile {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  body.portal-status-neomorphism #modal-root .portal-phone-auth-modal--profile .portal-phone-modal-body {
    min-height: 0 !important;
    max-height: calc(100vh - 104px) !important;
    max-height: calc(100dvh - 104px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  /* Assistant: replace legacy 100vh full-height rule with dynamic viewport. */
  body.portal-status-neomorphism .portal-assistant-dialog {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    height: calc(100vh - 16px) !important;
    height: calc(100dvh - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }
  body.portal-status-neomorphism .portal-assistant-main,
  body.portal-status-neomorphism .portal-assistant-view,
  body.portal-status-neomorphism .portal-assistant-chat {
    min-height: 0 !important;
  }

  /* Notes is lazy-loaded and injects height:95vh after page load.
     Higher specificity here keeps it inside the real mobile viewport. */
  body.portal-status-neomorphism #modal-root .portal-notes-modal {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    min-width: 0 !important;
    height: calc(100vh - 16px) !important;
    height: calc(100dvh - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }
  body.portal-status-neomorphism #modal-root .portal-notes-body {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  /* Internal directory is also lazy-loaded and had height:calc(100vh - 16px). */
  body.portal-status-neomorphism #modal-root .internal-directory-backdrop {
    align-items: center !important;
    place-items: center !important;
  }
  body.portal-status-neomorphism #modal-root .internal-directory-modal {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    height: calc(100vh - 16px) !important;
    height: calc(100dvh - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }
  body.portal-status-neomorphism #modal-root .internal-directory-shell,
  body.portal-status-neomorphism #modal-root .internal-directory-body {
    min-width: 0 !important;
    min-height: 0 !important;
  }

  /* Tutorial and My Assets. */
  body.portal-status-neomorphism .portal-tutorial-dialog,
  body.portal-status-neomorphism .portal-my-assets-dialog {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }
  body.portal-status-neomorphism .portal-tutorial-body,
  body.portal-status-neomorphism .portal-my-assets-content {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  /* Birthday dialog: preserve its design but never let browser chrome crop it. */
  body.portal-status-master.portal-status-neomorphism #portal-birthday-modal .portal-birthday-dialog.portal-birthday-dialog--v21 {
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }
}

@media (max-width: 480px) {
  body.portal-status-neomorphism .portal-hero__logos {
    justify-content: center !important;
  }
  body.portal-status-neomorphism #modal-root .portal-account-tabs {
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }
  body.portal-status-neomorphism #modal-root .portal-account-tabs::-webkit-scrollbar {
    display: none !important;
  }
}

/* =========================================================
   v87 — iOS mobile scale + auth + shortcut containment fix
   Visual/layout only. No OTP/session/trusted-device/JS changes.
   ========================================================= */
@media (max-width: 767px) {
  html {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  /* iOS Safari auto-zooms focused inputs below 16px and can keep that zoom
     after authentication. Keep auth controls at 16px+ without disabling user zoom. */
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-field input,
  body.portal-status-neomorphism #portal-auth-gate input[type="text"],
  body.portal-status-neomorphism #portal-auth-gate input[type="password"] {
    font-size: 16px !important;
  }

  /* Compact, viewport-safe external login shell. */
  body.portal-status-neomorphism #portal-auth-gate,
  body.portal-status-neomorphism #portal-auth-gate-checking {
    padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom)) !important;
    overflow: hidden !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell,
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell.is-open,
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell:hover,
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell:focus-within {
    width: min(350px, calc(100vw - 28px)) !important;
    max-width: min(350px, calc(100vw - 28px)) !important;
    height: min(390px, calc(100dvh - 150px)) !important;
    min-height: 350px !important;
    border-radius: 24px !important;
    transform: none !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell:has([data-auth-step="otp"]:not(.is-hidden)) {
    height: min(480px, calc(100dvh - 118px)) !important;
    min-height: min(440px, calc(100dvh - 118px)) !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-card,
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell.is-open .portal-auth-card,
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell:hover .portal-auth-card,
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell:focus-within .portal-auth-card {
    inset: 18px !important;
    border-radius: 20px !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-content {
    width: min(88%, 300px) !important;
    max-width: 300px !important;
    gap: 10px !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-brand {
    min-height: 54px !important;
    gap: 5px !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-brand img,
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell.is-open .portal-auth-brand img,
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell:hover .portal-auth-brand img,
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell:focus-within .portal-auth-brand img {
    width: 48px !important;
    height: 48px !important;
    border-radius: 15px !important;
    padding: 6px !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-brand h1 {
    font-size: 17px !important;
  }
  body.portal-status-neomorphism #portal-auth-gate #portal-auth-form {
    gap: 10px !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-step {
    gap: 10px !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-field input {
    height: 44px !important;
    padding-inline: 16px !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-otp-info {
    padding: 9px 11px !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-remember {
    padding-inline: 4px !important;
    gap: 8px !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  /* Primary auth action: match final Status coral accent, never legacy blue. */
  body.portal-status-neomorphism #portal-auth-gate #portal-auth-submit,
  body.portal-status-neomorphism #portal-auth-gate button#portal-auth-submit {
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    border: 0 !important;
    border-radius: 14px !important;
    color: #fff !important;
    background: var(--neo-accent) !important;
    background-image: none !important;
    box-shadow:
      6px 6px 13px rgba(163,168,174,.42),
      -6px -6px 13px rgba(255,255,255,.88) !important;
  }
  body.portal-status-neomorphism #portal-auth-gate #portal-auth-submit:hover:not(:disabled),
  body.portal-status-neomorphism #portal-auth-gate #portal-auth-submit:focus-visible {
    background: var(--neo-accent-hover) !important;
    background-image: none !important;
    box-shadow:
      5px 5px 11px rgba(163,168,174,.44),
      -5px -5px 11px rgba(255,255,255,.9) !important;
    transform: translateY(-1px) !important;
  }
  body.portal-status-neomorphism #portal-auth-gate #portal-auth-submit:active:not(:disabled) {
    background: var(--neo-accent-active) !important;
    box-shadow: var(--neo-shadow-inset) !important;
    transform: none !important;
  }
  body.portal-status-neomorphism #portal-auth-gate #portal-auth-back.portal-auth-linkbtn {
    width: 100% !important;
    min-height: 38px !important;
    padding: 7px 10px !important;
    border: 0 !important;
    border-radius: 12px !important;
    color: var(--neo-text-secondary) !important;
    background: var(--neo-surface) !important;
    background-image: none !important;
    box-shadow: var(--neo-shadow-inset) !important;
    font-size: 13px !important;
  }
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-message {
    font-size: 13px !important;
  }

  /* Shortcut card: hard containment against legacy offsets/transforms. */
  body.portal-status-neomorphism .container,
  body.portal-status-neomorphism #shortcuts-card,
  body.portal-status-neomorphism #shortcuts-card .portal-hero,
  body.portal-status-neomorphism #shortcuts-card #portal-grid.grid,
  body.portal-status-neomorphism #shortcuts-card #portal-grid.grid > .tile {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    inset-inline: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
  }
  body.portal-status-neomorphism .container {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin-inline: auto !important;
  }
  body.portal-status-neomorphism #shortcuts-card {
    overflow: hidden !important;
  }
  body.portal-status-neomorphism #shortcuts-card .portal-hero {
    overflow: hidden !important;
    padding: 14px 12px !important;
  }
  body.portal-status-neomorphism #shortcuts-card .portal-hero__content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    text-align: center !important;
  }
  body.portal-status-neomorphism #shortcuts-card .portal-hero__logos {
    position: static !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: repeat(4, 48px) !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 4px auto 0 !important;
    padding: 0 !important;
    gap: 8px !important;
    direction: ltr !important;
    overflow: visible !important;
    transform: none !important;
  }
  body.portal-status-neomorphism #shortcuts-card .portal-hero__logo-card,
  body.portal-status-neomorphism #shortcuts-card .portal-hero__logo-card:nth-child(n) {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.portal-status-neomorphism #shortcuts-card #portal-grid.grid {
    overflow: hidden !important;
    padding-inline: 2px !important;
  }
  body.portal-status-neomorphism #shortcuts-card #portal-grid.grid > .tile {
    position: relative !important;
    overflow: hidden !important;
    padding-inline: 12px !important;
  }
  body.portal-status-neomorphism #shortcuts-card #portal-grid.grid > .tile .icon,
  body.portal-status-neomorphism #shortcuts-card #portal-grid.grid > .tile .icon.icon--image {
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    transform: none !important;
  }
  body.portal-status-neomorphism #shortcuts-card #portal-grid.grid > .tile .meta {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  body.portal-status-neomorphism #shortcuts-card #portal-grid.grid > .tile .name,
  body.portal-status-neomorphism #shortcuts-card #portal-grid.grid > .tile .hint {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 380px) {
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell,
  body.portal-status-neomorphism #portal-auth-gate .portal-auth-shell.is-open {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
  body.portal-status-neomorphism #shortcuts-card .portal-hero__logos {
    grid-template-columns: repeat(4, 44px) !important;
    gap: 6px !important;
  }
  body.portal-status-neomorphism #shortcuts-card .portal-hero__logo-card,
  body.portal-status-neomorphism #shortcuts-card .portal-hero__logo-card:nth-child(n) {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
  }
}

/* =========================================================
   v88 — External smart assistant visual parity with Status
   Visual-only high-specificity overrides. No assistant logic changed.
   ========================================================= */
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-modal__backdrop {
  background: rgba(52, 56, 61, .34) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-dialog {
  color: var(--neo-text) !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 24px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: 16px 16px 34px rgba(112,117,122,.34), -12px -12px 28px rgba(255,255,255,.66) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-dialog::before {
  height: 0 !important;
  display: none !important;
  background: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-header {
  min-height: 72px !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(163,168,174,.18) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.45) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-header h2 {
  color: var(--neo-text) !important;
  font-size: 16px !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-header__orb {
  width: 42px !important;
  height: 48px !important;
  flex: 0 0 42px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-header__orb img {
  height: 44px !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-limit {
  min-height: 34px !important;
  padding: 6px 11px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #237a53 !important;
  background: rgba(63,168,120,.10) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-limit.is-exhausted {
  color: var(--neo-danger) !important;
  background: rgba(233,86,93,.09) !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-close,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-close:hover,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-close:focus,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-close:active {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-close:hover {
  color: var(--neo-accent) !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-close:active {
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-main,
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-view--chat,
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-view--chooser {
  background: var(--neo-surface) !important;
  background-image: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-view--chooser {
  gap: 28px !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-intro h3 {
  color: var(--neo-text) !important;
  font-size: 26px !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-modes {
  gap: 14px !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode:hover,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode:focus-visible,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode:active {
  min-height: 170px !important;
  border: 0 !important;
  border-radius: 18px !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode::before,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode::after {
  display: none !important;
  content: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode:hover,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode:focus-visible {
  color: var(--neo-accent) !important;
  transform: translateY(-2px) !important;
  box-shadow: 8px 8px 16px rgba(163,168,174,.42), -8px -8px 16px rgba(255,255,255,.88) !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode:active {
  transform: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-mode__icon,
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-current-mode__icon {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-mode__copy strong,
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-current-mode strong {
  color: var(--neo-text) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-mode__copy small,
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-current-mode small {
  color: var(--neo-text-secondary) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-chatbar {
  border: 0 !important;
  border-bottom: 1px solid rgba(163,168,174,.18) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-back,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-new-chat,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-back:hover,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-new-chat:hover,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-back:focus,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-new-chat:focus,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-back:active,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-new-chat:active {
  min-height: 38px !important;
  border: 0 !important;
  border-radius: 11px !important;
  color: var(--neo-text-secondary) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
  transform: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-back:hover,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-new-chat:hover {
  color: var(--neo-accent) !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-back:active,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-new-chat:active {
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-current-mode {
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-conversation {
  background: var(--neo-bg) !important;
  background-image: none !important;
  scrollbar-color: #b8bdc2 transparent !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-message__avatar {
  border: 0 !important;
  color: var(--neo-accent) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-message__bubble {
  border: 0 !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-raised-soft) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-message--user .portal-assistant-message__bubble {
  border: 0 !important;
  color: var(--neo-text) !important;
  background: var(--neo-surface) !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-typing i {
  background: var(--neo-accent) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-composer {
  border: 0 !important;
  border-top: 1px solid rgba(163,168,174,.18) !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-composer__box,
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-composer__box:focus-within {
  border: 0 !important;
  border-radius: 14px !important;
  background: var(--neo-surface) !important;
  background-image: none !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-composer textarea,
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-composer textarea:hover,
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-composer textarea:focus {
  color: var(--neo-text) !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-composer textarea::placeholder {
  color: var(--neo-text-muted) !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-send,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-send:hover,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-send:focus,
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-send:active {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  border: 0 !important;
  border-radius: 13px !important;
  color: #fff !important;
  background: var(--neo-accent) !important;
  background-image: none !important;
  box-shadow: 4px 4px 9px rgba(188,58,64,.24), -3px -3px 8px rgba(255,255,255,.62) !important;
  transform: none !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-send:hover:not(:disabled) {
  background: var(--neo-accent-hover) !important;
  transform: translateY(-1px) !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-send:active:not(:disabled) {
  background: var(--neo-accent-active) !important;
  transform: none !important;
  box-shadow: inset 3px 3px 7px rgba(137,38,44,.30), inset -2px -2px 5px rgba(255,255,255,.14) !important;
}
body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-send:disabled {
  opacity: .45 !important;
  box-shadow: var(--neo-shadow-inset) !important;
}
body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-composer__meta {
  color: var(--neo-text-muted) !important;
}

@media (max-width: 760px) {
  body.portal-status-neomorphism #portal-assistant-modal.portal-assistant-modal {
    padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)) !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-dialog {
    width: 100% !important;
    height: auto !important;
    max-height: calc(100dvh - max(20px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
    min-height: min(560px, calc(100dvh - 20px)) !important;
    border-radius: 20px !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-header {
    min-height: 62px !important;
    padding: 9px 10px !important;
    gap: 8px !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-header__actions {
    gap: 7px !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-limit {
    font-size: 10px !important;
    padding: 5px 8px !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-view--chooser {
    padding: 22px 12px !important;
    gap: 20px !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-intro h3 {
    font-size: 20px !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode,
  body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode:hover,
  body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode:focus-visible,
  body.portal-status-neomorphism #portal-assistant-modal button.portal-assistant-mode:active {
    min-height: 96px !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    padding: 12px !important;
    border-radius: 15px !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-mode__icon {
    width: 48px !important;
    height: 48px !important;
    border-radius: 14px !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-conversation {
    padding: 14px 10px !important;
    gap: 12px !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-message__bubble {
    max-width: 88% !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-composer {
    padding: 8px !important;
  }
  body.portal-status-neomorphism #portal-assistant-modal .portal-assistant-composer textarea {
    font-size: 16px !important;
  }
}
