/* Studio skin. Screen tokens stay inside .app; modal surfaces are opt-in. */
.app {
  --bg: #f3f7fd;
  --surface: #fff;
  --surface-solid: #fff;
  --ink: #101b44;
  --muted: #72809a;
  --hairline: #eaf0f7;
  --line: #e1e9f4;
  --blue: var(--accent);
  --blue-deep: var(--accent-dark);
  --blue-soft: var(--accent-soft);
  --shadow: 0 4px 18px rgba(34, 61, 110, .035);
  --radius-xl: 20px;
  --radius-lg: 20px;
  --radius-md: 14px;
  width: 100%;
  max-width: 1400px;
  color: var(--ink);
  background: var(--bg);
}
.app::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: var(--bg);
  pointer-events: none;
}
.app .content { padding: 8px 18px 20px; }
.app .page-title { margin: 8px 0 22px; font-size: clamp(25px, 6.5vw, 34px); line-height: 1.15; letter-spacing: -.035em; }
.app .page-subtitle { margin-top: -11px; line-height: 1.55; }
.app .page > .eyebrow { display: none; }
.app .section-head h2 { font-size: 17px; letter-spacing: -.025em; }
.app .studio-page-heading { display: flex; align-items: center; gap: 12px; margin: 8px 0 22px; }
.app .studio-page-heading > div { flex: 1; min-width: 0; }
.app .studio-page-heading .page-title { flex: 1; margin: 0; }
.app .studio-page-heading > img { width: 40px; height: 40px; flex: 0 0 auto; object-fit: contain; }
/* Home keeps its original typography; the subtitle must never overlap it. */
.app .studio-home .studio-page-heading > div { display: grid; gap: 8px; }
.app .studio-home .page-title { margin: 0; color: #111114; font-size: clamp(29px, 8vw, 40px); line-height: .98; letter-spacing: -.05em; font-weight: 760; }
.app .studio-home .dashboard-subtitle { margin: 0; color: #7d7d86; font-size: 12px; line-height: 1.4; }
.app .studio-icon,
.sheet:not([class*="fortune"]) .studio-icon { display: inline-flex; width: 22px; height: 22px; flex: 0 0 auto; align-items: center; justify-content: center; vertical-align: middle; }
.app .studio-icon svg,
.sheet:not([class*="fortune"]) .studio-icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.app .studio-status-icon { display: inline-flex; width: 18px; height: 18px; margin-right: 6px; vertical-align: middle; }
.app .studio-status-icon .studio-icon { width: 18px; height: 18px; }

/* The same compact account header is used on every screen. */
.app .topbar { gap: 12px; padding: calc(16px + var(--safe-top)) 18px 16px; background: rgba(243, 247, 253, .94); backdrop-filter: blur(16px); }
.app .top-left { min-width: 0; }
.app .top-actions { flex: 0 0 auto; }
.app .profile-button { min-width: 0; gap: 10px; }
.app .profile-copy { min-width: 0; }
.app .avatar { flex: 0 0 auto; }
.app .avatar { border: 1px solid var(--line); border-radius: 14px; color: var(--accent); background: #fff; box-shadow: none; }
.app .profile-copy strong { color: var(--ink); font-weight: 650; letter-spacing: -.025em; }
.app .notification-button { width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 13px; background: #fff; box-shadow: none; }
.app .notification-symbol { width: 22px; height: 22px; border: 0; border-radius: 0; color: var(--ink); background: transparent; }
.app .balance-button { min-width: 160px; min-height: 60px; border: 1px solid var(--line); border-radius: 16px; color: var(--ink); background: #fff; box-shadow: var(--shadow); }
.app .balance-button small,
.app .balance-button span { color: var(--muted); }
.app .balance-button strong { color: var(--ink); letter-spacing: -.035em; }
.app .preview-banner { border-color: rgba(var(--accent-rgb), .16); }

/* Shared white surfaces, with status and warning colors left intact. */
.app .hero-card,
.app .metric,
.app .status-card,
.app .task-card,
.app .report-card,
.app .panel,
.app .menu-list,
.app .editor-offer-card,
.app .editor-report-kpis article,
.app .report-money-grid article,
.app .report-adjustments,
.app .wallet-details,
.app .wallet-statement,
.app .wallet-history article,
.app .currency-panel,
.app .wallet-admin-entry,
.app .saved-requisite,
.app .notification-card,
.app .finance-breakdown,
.app .payment-settings > button,
.app .withdraw-methods > button {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow);
}
.app .hero-card { min-height: 180px; padding: 22px; color: var(--ink); }
.app .studio-home .hero-card.earnings-card:not(:has(> .fortune-banner)) { min-height: 0; padding: 18px 22px; }
.app .hero-card::before,
.app .hero-card::after { display: none; }
.app .hero-card .label,
.app .hero-card .hero-stat span { color: var(--muted); }
.app .hero-value { font-size: clamp(36px, 10vw, 48px); letter-spacing: -.045em; }
.app .hero-badge { color: var(--accent); border: 1px solid rgba(var(--accent-rgb), .1); background: var(--accent-soft); }
.app .hero-grid { margin-top: 24px; gap: 10px; }
.app .hero-stat { border: 1px solid var(--hairline); border-radius: 12px; color: var(--ink); background: #f7f9fd; }
.app .hero-stat strong { font-weight: 650; }
/* Preserve the existing colored invitation card without restyling its CTA. */
.app .hero-card:has(> .fortune-banner) { border-color: transparent; color: #fff; background: linear-gradient(145deg, var(--accent), var(--accent-dark) 74%); box-shadow: 0 24px 55px rgba(var(--accent-rgb), .24); }
.app .hero-card:has(> .fortune-banner)::before,
.app .hero-card:has(> .fortune-banner)::after { display: block; }
.app .hero-card:has(> .fortune-banner) .label { color: rgba(255, 255, 255, .57); }
.app .hero-card:has(> .fortune-banner) .hero-badge { border-color: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .82); background: rgba(255, 255, 255, .09); }
.app .metrics { gap: 12px; }
.app .metric { min-height: 116px; padding: 18px; }
.app .metric strong { margin-top: 10px; color: var(--ink); font-size: 27px; font-weight: 650; }
.app .metric-icon { border-radius: 10px; box-shadow: none; }
.app .quick-grid { gap: 12px; }
.app .quick-icon { width: 54px; height: 54px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow); }
.app .quick small { font-size: 11px; font-weight: 550; }
.app .status-grid { gap: 10px; }
.app .status-card { min-height: 70px; border-radius: 16px; }
.app .task-list { gap: 12px; }
.app .task-card { grid-template-columns: 4px minmax(0, 1fr) auto; gap: 10px; min-height: 96px; padding: 16px; border-radius: 18px; }
.app .waiting-task-card { grid-template-columns: 4px minmax(0, 1fr); }
.app .task-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; white-space: normal; line-height: 1.35; font-weight: 650; letter-spacing: -.015em; }
.app .task-meta { letter-spacing: .025em; }
.app .type-pill { color: #6b7993; background: #f0f4fa; }
.app .filter-row { padding-bottom: 5px; }
.app .filter { border-color: var(--line); color: var(--muted); background: #fff; }
.app .filter.is-active { border-color: rgba(var(--accent-rgb), .16); color: var(--accent); background: var(--accent-soft); box-shadow: none; }
.app .empty-icon { width: 68px; height: 68px; border-radius: 20px; box-shadow: none; }
.app .menu-row { min-height: 68px; padding: 10px 17px; }
.app .menu-row:active { background: #f6f9fe; }
.app .menu-icon:not(.gold) { color: var(--accent); background: var(--accent-soft); box-shadow: none; }
.app .menu-icon.orange { color: #bf7721; background: #fff6e8; }
.app .menu-icon.green { color: #16845d; background: #ebf8f2; }
.app .menu-icon.purple { color: #7862be; background: #f2effb; }
.app .menu-icon.dark { color: #4f6089; background: #edf2fa; }
.app .menu-copy strong { font-weight: 620; }
.app .menu-copy small { margin-top: 4px; font-size: 11px; line-height: 1.4; }
.app .menu-arrow { color: #a3afc3; }
.app .month-switch { gap: 12px; margin-bottom: 20px; }
.app .month-switch button { width: 38px; height: 38px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: #fff; }
.app .month-switch strong { min-width: 0; text-align: center; font-size: 15px; font-weight: 650; }
.app .bar { height: 6px; background: #edf2f9; }
.app .bar i { box-shadow: none; }

/* Profile: goals first, then one readable daily-income plot. */
.app .profile-page { width: 100%; max-width: none; }
.app #profileAnalysis:not(:empty) { margin: 0; padding: 0; border: 0; }
.app .profile-month { margin-top: 4px; }
.app .profile-formats { margin: 0 0 18px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.app .profile-section-title { margin-top: 0; }
.app .profile-formats.profile-format-goals { margin: 0 0 24px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.app .profile-format-goals .profile-section-title { margin-bottom: 14px; align-items: center; }
.app .profile-format-goals .profile-section-title h2 { font-size: clamp(19px, 4.8vw, 28px); line-height: 1.2; }
.app .profile-format-goals .profile-section-title > span { flex-shrink: 0; color: #8490a7; font-size: 12px; }
.app .profile-goals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.app .profile-goal { display: block; min-width: 0; min-height: 0; padding: 15px 13px 16px; border: 1px solid transparent; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(36, 75, 126, .025); }
.app .profile-goal.is-complete { border-color: var(--green); border-width: 2px; }
.app .profile-goal-top { display: flex; align-items: center; gap: 8px; min-width: 0; }
.app .profile-goal-project { display: grid; flex: 0 0 auto; place-items: center; width: 29px; height: 29px; overflow: hidden; border-radius: 9px; color: var(--accent); background: var(--accent-soft); }
.app .profile-goal-project .project-icon { display: block; width: 100%; height: 100%; object-fit: cover; }
.app .profile-goal-project[data-project-type="arizona"] .project-icon { transform: scale(2); }
.app .profile-goal-project[data-project-type^="shorts"] .project-icon { width: 72%; height: 78%; object-fit: contain; }
.app .profile-goal-project > svg { width: 20px; height: 20px; }
.app .profile-goal h3 { flex: 1; min-width: 0; margin: 0; color: var(--ink); font-size: 12px; line-height: 1.2; font-weight: 600; letter-spacing: -.025em; }
.app .profile-goal-remaining { display: grid; flex: 0 0 auto; place-items: center; min-width: 25px; height: 26px; padding: 0 6px; border-radius: 9px; color: var(--accent); background: var(--accent-soft); font-size: 12px; line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; }
.app .profile-goal.is-complete .profile-goal-remaining { color: var(--green); background: #e7f7ef; }
.app .profile-goal-remaining > svg { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.app .profile-goal > strong { display: block; margin: 14px 0 12px; color: var(--ink); font-size: 34px; line-height: 1; font-weight: 730; letter-spacing: -.055em; font-variant-numeric: tabular-nums; }
.app .profile-goal > strong small { color: #909bb0; font-size: 15px; font-weight: 600; letter-spacing: -.025em; }
.app .profile-goal-bar { height: 6px; overflow: hidden; border-radius: 99px; background: #e7edf5; }
.app .profile-goal-bar > i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.app .profile-goal .goal-script-summary { margin: 12px 0 0; color: #8490a7; font-size: 11px; line-height: 1.4; letter-spacing: -.025em; }
.app .profile-goal .goal-script-count { margin-left: 3px; font-weight: 650; }
.app .profile-over-goal { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; margin-top: 10px; padding: 20px 18px; border: 1px solid transparent; border-radius: 20px; color: var(--ink); background: #fff; box-shadow: 0 8px 24px rgba(36, 75, 126, .025); }
.app .profile-over-goal > span { max-width: 180px; font-size: 14px; line-height: 1.35; font-weight: 600; letter-spacing: -.025em; }
.app .profile-over-goal > strong { color: var(--green); font-size: 26px; line-height: 1.15; font-weight: 700; letter-spacing: -.04em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.app .profile-format-breakdown .profile-section-title { align-items: center; margin-bottom: 8px; }
.app .profile-format-breakdown .profile-section-title > span { color: #8490a7; font-size: 12px; }
.app .profile-format-list > .profile-format-row { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 13px; min-height: 76px; padding: 15px 0; border-bottom: 1px solid #eff3f8; }
.app .profile-format-list > .profile-format-row:last-child { padding-bottom: 4px; border-bottom: 0; }
.app .profile-format-list .profile-format-project { display: grid; place-items: center; width: 42px; height: 42px; overflow: hidden; border-radius: 12px; color: var(--accent); background: var(--accent-soft); box-shadow: 0 2px 7px rgba(29, 48, 77, .06); }
.app .profile-format-list .profile-format-project > .project-icon { display: block; width: 100%; height: 100%; object-fit: cover; }
.app .profile-format-list .profile-format-project[data-project-type="arizona"] > .project-icon { transform: scale(2); }
.app .profile-format-list .profile-format-project[data-project-type^="shorts"] > .project-icon { width: 72%; height: 78%; object-fit: contain; }
.app .profile-format-list .profile-format-project > svg { width: 24px; height: 24px; }
.app .profile-format-list .profile-format-copy { min-width: 0; }
.app .profile-format-list .profile-format-caption { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 9px; color: var(--ink); }
.app .profile-format-list .profile-format-caption > span { font-size: 14px; line-height: 1.25; font-weight: 600; letter-spacing: -.02em; overflow-wrap: anywhere; }
.app .profile-format-list .profile-format-caption > strong { color: var(--ink); font-size: 23px; line-height: 1; font-weight: 700; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.app .profile-format-list .profile-format-progress { width: 100%; height: 5px; border-radius: 99px; background: #eaf0f7; }
.app .profile-format-list .profile-format-progress > b { background: var(--accent); opacity: 1; }
@media (max-width: 360px) {
  .app .profile-goal { padding: 13px 10px 15px; border-radius: 17px; }
  .app .profile-goal-top { gap: 5px; }
  .app .profile-goal-project { width: 24px; height: 24px; border-radius: 7px; }
  .app .profile-goal h3 { font-size: 11px; }
  .app .profile-goal-remaining { min-width: 22px; height: 24px; padding: 0 4px; font-size: 11px; }
}
.app .profile-income-panel { margin: 0 0 18px; padding: 20px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.app .profile-income-hero { padding: 0 0 24px; }
.app .profile-income-hero strong { margin-top: 6px; color: var(--ink); font-size: clamp(30px, 8vw, 42px); font-weight: 680; letter-spacing: -.045em; }
.app .profile-income-hero > div { container-type: inline-size; }
.app .profile-income-amounts { display: flex; align-items: baseline; gap: .3em; margin-top: 6px; font-size: clamp(22px, 11cqw, 42px); }
.app .profile-income-amounts > strong { flex: 0 0 auto; margin: 0; font-size: inherit; white-space: nowrap; }
.app .profile-income-amounts > .profile-income-scenario-value { color: #7b8bab; font-size: .76em; font-weight: 550; line-height: 1.15; letter-spacing: -.035em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.app .profile-income-label { gap: 7px; }
.app .profile-income-hero img { width: 36px; height: 36px; object-fit: contain; }
.app .profile-analysis-chart { height: 260px; grid-template-columns: 32px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); gap: 9px; margin-bottom: 26px; padding-bottom: 20px; }
.app .profile-analysis-plot { display: flex; flex-direction: column; min-height: 0; height: 100%; }
.app .profile-analysis-axis { margin-top: 58px; color: #8c9ab3; font-size: 9px; }
.app .profile-chart-canvas { position: relative; flex: 1; min-height: 0; margin-top: 58px; }
.app .profile-chart-tooltip { position: absolute; top: 0; left: clamp(0px, calc(var(--point-x) - 85px), max(0px, calc(100% - 170px))); z-index: 2; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 3px 8px; width: 170px; max-width: 100%; padding: 8px 10px; border: 1px solid #e2ebf7; border-radius: 12px; color: var(--ink); background: #fff; box-shadow: 0 4px 16px rgba(41, 78, 132, .07); pointer-events: none; }
.app .profile-chart-tooltip > span { grid-column: 1 / -1; color: #7d8eaa; font-size: 10px; line-height: 1.2; }
.app .profile-chart-tooltip > strong { font-size: 17px; line-height: 1.2; font-weight: 650; letter-spacing: -.025em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.app .profile-chart-tooltip > small { color: #7d8eaa; font-size: 10px; line-height: 1.3; text-align: right; }
.app .profile-analysis-axis span:nth-child(1) { top: 8.333%; }
.app .profile-analysis-axis span:nth-child(2) { top: 29.166%; }
.app .profile-analysis-axis span:nth-child(3) { top: 50%; }
.app .profile-analysis-axis span:nth-child(4) { top: 70.833%; }
.app .profile-analysis-axis span:nth-child(5) { top: 91.666%; }
.app .profile-income-chart { display: block; width: 100%; height: 100%; min-height: 0; overflow: visible; }
.app .profile-income-gridline { stroke: #edf2f9; stroke-width: 1; stroke-dasharray: none; vector-effect: non-scaling-stroke; }
.app .profile-income-area { stroke: none; }
.app .profile-income-line { fill: none; stroke: var(--accent); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.app .profile-income-guide { stroke: var(--accent); stroke-width: 1; stroke-dasharray: 3 4; opacity: .22; vector-effect: non-scaling-stroke; }
.app .profile-income-halo { fill: var(--accent); opacity: .12; pointer-events: none; }
.app .profile-income-point { fill: #fff; stroke: var(--accent); stroke-width: 1.4; opacity: 0; vector-effect: non-scaling-stroke; }
.app .profile-income-point.is-selected { fill: var(--accent); stroke: #fff; stroke-width: 2.5; opacity: 1; }
.app .profile-income-point.is-negative { stroke: var(--red); }
.app .profile-income-point.is-negative.is-selected { fill: var(--red); stroke: #fff; }
.app .profile-analysis-day > span { color: #8c9ab3; font-size: 9px; }
.app .profile-analysis-day.is-selected > span { color: var(--accent); }
.app .profile-analysis-day:focus-visible { outline: 2px solid var(--accent); outline-offset: -1px; border-radius: 5px; background: rgba(var(--accent-rgb), .025); }
.app .profile-income-day { padding-top: 18px; }
.app .profile-income-day strong { color: var(--ink); font-size: 25px; }
.app .profile-income-works { height: calc(65px * var(--profile-work-slots, 3)); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #dce6f3 transparent; }
.app .profile-income-work { min-height: 65px; }
.app .profile-income-work:last-child { border-bottom: 0; }
.app .profile-income-work-mark { width: 28px; height: 28px; padding: 5px; border-radius: 9px; color: var(--accent); background: var(--accent-soft); }
.app .profile-income-work-title strong { font-size: 12px; font-weight: 570; }
.app .profile-income-work > b { color: var(--ink); white-space: nowrap; }
.app .profile-overview article { border-color: var(--hairline); background: #f7f9fd; box-shadow: none; }
.app .type-grid article { border-color: var(--line); border-radius: 16px; }

/* Reports and accounting retain positive/negative and payment-state semantics. */
.app .editor-report-cover { border: 1px solid var(--line); border-radius: 20px; color: var(--ink); background: #fff; box-shadow: var(--shadow); }
.app .editor-report-cover::after { display: none; }
.app .editor-report-person > span { border-color: var(--line); color: var(--accent); background: var(--accent-soft); }
.app .editor-report-person small { color: var(--muted); }
.app .editor-report-period { border-color: var(--line); color: var(--muted); background: #f7f9fd; }
.app .editor-report-kpis,
.app .report-money-grid { gap: 12px; }
.app .report-money-grid .total { color: var(--ink); border-color: rgba(var(--accent-rgb), .14); background: #fff; }
.app .report-money-grid .total strong { color: var(--accent); }
.app .report-money-grid .total span,
.app .report-money-grid .total small { color: var(--muted); }
.app .finance-head { color: var(--ink); border-bottom: 1px solid var(--hairline); background: #fff; }
.app .finance-head small { color: var(--muted); }
.app .finance-head > span { color: var(--accent); background: var(--accent-soft); }
.app .finance-total { background: #f7f9fd; }
.app .finance-row.cap { background: #f3f6fc; }
.app .wallet-card { padding: 22px; border: 1px solid var(--line); border-radius: 20px; color: var(--ink); background: #fff; box-shadow: var(--shadow); }
.app .wallet-card::after { display: none; }
.app .wallet-card-top,
.app .wallet-card > small,
.app .wallet-settings-link { color: var(--muted); }
.app .wallet-card-top b { color: var(--accent); background: var(--accent-soft); }
.app .wallet-amount { font-size: clamp(39px, 10vw, 56px); letter-spacing: -.05em; }
.app .wallet-withdraw { min-height: 50px; border-radius: 13px; color: #fff; background: var(--accent); box-shadow: none; }
.app .wallet-admin-icon { color: var(--accent); background: var(--accent-soft); box-shadow: none; }
/* Wallet journal: quiet date dividers, recognizable operations, clear amounts. */
.app .wallet-page .wallet-history-head { margin-top: 28px; margin-bottom: 13px; align-items: center; gap: 12px; flex-wrap: wrap; }
.app .wallet-page .wallet-history-head .section-note { display: none; }
.app .wallet-page .wallet-history-filter { display: flex; align-items: center; gap: 7px; min-height: 38px; max-width: 100%; padding-left: 11px; border: 1px solid #e5ecf6; border-radius: 12px; background: #f3f6fb; color: var(--accent); }
.app .wallet-page .wallet-history-filter > svg { width: 16px; height: 16px; flex: 0 0 auto; }
.app .wallet-page .wallet-history-filter select { width: auto; min-width: 0; max-width: 100%; min-height: 38px; margin: 0; padding: 7px 25px 7px 0; border: 0; border-radius: 11px; outline: none; box-shadow: none; background-color: transparent; color: #526680; font: inherit; font-size: 12px; font-weight: 550; cursor: pointer; }
.app .wallet-page .wallet-history-filter:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
.app .wallet-page .wallet-history-loading { padding: 32px 16px; color: #8692a7; font-size: 13px; text-align: center; }
.app .wallet-page .wallet-statement { padding: 0 18px 6px; border-color: rgba(216,226,242,.85); border-radius: 22px; background: #fff; box-shadow: 0 8px 28px rgba(34,61,110,.04); }
.app .wallet-page .statement-date { display: flex; align-items: baseline; gap: 8px; padding: 22px 0 9px; color: #455674; font-size: 12px; line-height: 1.4; font-weight: 650; letter-spacing: -.015em; text-transform: none; }
.app .wallet-page .statement-date small { color: #98a5ba; font-size: 10px; font-weight: 450; }
.app .wallet-page .statement-date::after { content: ''; height: 1px; flex: 1; margin-left: 6px; background: #eef2f8; }
.app .wallet-page .statement-row { grid-template-columns: 42px minmax(0,1fr) auto; gap: 12px; min-height: 83px; padding: 16px 0; border-bottom: 1px solid #f0f3f8; }
.app .wallet-page .statement-row:last-child { border-bottom: 0; }
.app .wallet-page .statement-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(133,156,190,.08); border-radius: 14px; background: #f1f5fb; color: #607492; }
.app .wallet-page .statement-icon svg { display: block; width: 23px; height: 23px; }
.app .wallet-page .statement-icon > img { width: 36px; height: 36px; object-fit: contain; }
.app .wallet-page .statement-icon.is-project { overflow: hidden; padding: 0; border-color: #e7edf5; background: #f5f7fc; box-shadow: 0 3px 8px rgba(29,48,77,.06); }
.app .wallet-page .statement-icon.is-project > img { width: 100%; height: 100%; object-fit: cover; }
.app .wallet-page .statement-icon.is-prize { background: linear-gradient(145deg,#fff9e8,#fff3d1); border-color: #f9ecc7; }
.app .wallet-page .statement-icon.is-food { background: #fff5e9; border-color: #f9ebdb; }
.app .wallet-page .statement-icon.is-accent { color: var(--accent); background: var(--accent-soft); }
.app .wallet-page .statement-icon.is-violet { color: #8465cd; background: #f3eeff; }
.app .wallet-page .statement-icon.is-green { color: #13a27c; background: #eaf9f2; }
.app .wallet-page .statement-icon.is-rose { color: #e75575; background: #fff0f3; }
.app .wallet-page .statement-copy strong { display: block; overflow: visible; color: #172548; font-size: 13px; font-weight: 630; line-height: 1.35; letter-spacing: -.018em; white-space: normal; overflow-wrap: anywhere; }
.app .wallet-page .statement-copy small { display: block; margin-top: 5px; overflow: visible; color: #8692a7; font-size: 10px; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
.app .wallet-page .statement-side { display: grid; justify-items: end; align-content: center; gap: 6px; min-width: 55px; max-width: 125px; text-align: right; }
.app .wallet-page .statement-side b { font-size: 14px; font-weight: 680; line-height: 1.2; letter-spacing: -.025em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.app .wallet-page .statement-side b.credit { color: #119c73; }
.app .wallet-page .statement-side b.debit { color: #df526e; }
.app .wallet-page .statement-side time { color: #a0aabd; font-size: 10px; line-height: 1; font-variant-numeric: tabular-nums; }
@media (min-width: 700px) {
  .app .wallet-page .wallet-statement { padding-right: 26px; padding-left: 26px; }
  .app .wallet-page .statement-row { min-height: 86px; grid-template-columns: 46px minmax(0,1fr) auto; gap: 16px; }
  .app .wallet-page .statement-icon { width: 46px; height: 46px; border-radius: 15px; }
  .app .wallet-page .statement-copy strong { font-size: 14px; }
  .app .wallet-page .statement-copy small { font-size: 11px; }
  .app .wallet-page .statement-side b { font-size: 16px; }
}
@media (max-width: 360px) {
  .app .wallet-page .wallet-statement { padding-right: 12px; padding-left: 12px; }
  .app .wallet-page .statement-row { grid-template-columns: 35px minmax(0,1fr) auto; gap: 8px; }
  .app .wallet-page .statement-icon { width: 35px; height: 35px; border-radius: 11px; }
  .app .wallet-page .statement-icon > img { width: 31px; height: 31px; }
  .app .wallet-page .statement-icon.is-project > img { width: 100%; height: 100%; }
  .app .wallet-page .statement-copy strong { font-size: 12px; }
  .app .wallet-page .statement-side b { font-size: 12px; }
}
.app .currency-switch { background: #f1f5fb; border-radius: 14px; }
.app .currency-switch button { border-radius: 12px; }
.app .currency-switch button.is-active { color: var(--accent); background: #fff; box-shadow: 0 2px 8px rgba(34, 61, 110, .055); }
.app .currency-switch button.is-active span { color: var(--accent); background: var(--accent-soft); }
.app .saved-requisite { background: #fff; }
.app .notification-card { border-radius: 17px; }
.app .notification-card.is-unread { border-color: rgba(var(--accent-rgb), .16); background: linear-gradient(100deg, var(--accent-soft), #fff 70%); }
.app .notification-card strong { font-weight: 620; }
.app .notification-card p { font-size: 11px; line-height: 1.5; }
.app .setting-row { min-height: 64px; gap: 16px; }
.app .setting-row strong { font-weight: 620; }
.app .setting-row small { margin-top: 4px; font-size: 11px; line-height: 1.45; }
.app .input { border-color: var(--line); border-radius: 12px; background: #fff; box-shadow: none; }
.app .input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.app .button { border-radius: 12px; box-shadow: none; }
.app .button.secondary { color: #526480; background: #edf2f9; }
.app .button.ghost { color: var(--accent); background: var(--accent-soft); }
.app .segmented { padding: 4px; border-radius: 13px; background: #edf2f9; }
.app .segmented button { border-radius: 10px; }
.app .segmented button.is-active { color: var(--ink); box-shadow: 0 2px 5px rgba(34, 61, 110, .05); }

/* Mobile navigation remains visible and reachable above the safe area. */
.app .bottom-nav { border: 1px solid var(--line); border-radius: 20px; background: rgba(255, 255, 255, .97); box-shadow: 0 7px 28px rgba(34, 61, 110, .08); }
.app .nav-item { color: #8b99af; }
.app .nav-item.is-active { color: var(--accent); }
.app .nav-icon { stroke-width: 1.7; }
.app .nav-create { border-radius: 16px; background: var(--accent); box-shadow: 0 4px 10px rgba(var(--accent-rgb), .14); }
.app .studio-sidebar { display: none; }

/* Ordinary dialogs only: the specialty full-screen experience is excluded. */
.sheet:not([class*="fortune"]) { border: 1px solid #e1e9f4; border-radius: 24px 24px 0 0; color: #101b44; background: #f6f9fe; box-shadow: 0 -12px 50px rgba(16, 27, 68, .1); }
.sheet:not([class*="fortune"]) .sheet-handle { background: #dce4ef; }
.sheet:not([class*="fortune"]) .close-button { color: #72809a; background: #eaf0f8; }
.sheet:not([class*="fortune"]) .sheet-header h2 { color: #101b44; font-size: 26px; letter-spacing: -.035em; }
.sheet:not([class*="fortune"]) .sheet-header p { color: #72809a; line-height: 1.5; }
.sheet:not([class*="fortune"]) .panel,
.sheet:not([class*="fortune"]) .report-card,
.sheet:not([class*="fortune"]) .finance-breakdown,
.sheet:not([class*="fortune"]) .saved-requisite { border: 1px solid #e1e9f4; border-radius: 18px; background: #fff; box-shadow: 0 4px 18px rgba(34, 61, 110, .035); }
.sheet:not([class*="fortune"]) .field > span { color: #526480; font-size: 12px; }
.sheet:not([class*="fortune"]) .input { border-color: #dfe7f2; border-radius: 12px; color: #101b44; background: #fff; box-shadow: none; }
.sheet:not([class*="fortune"]) .input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.sheet:not([class*="fortune"]) .button { border-radius: 12px; box-shadow: none; }
.sheet:not([class*="fortune"]) .button.secondary { color: #526480; background: #eaf0f8; }
.sheet:not([class*="fortune"]) .button.ghost { color: var(--accent); background: var(--accent-soft); }
.sheet:not([class*="fortune"]) .segmented { background: #eaf0f8; }
.sheet:not([class*="fortune"]) .segmented button.is-active { color: #101b44; box-shadow: 0 2px 6px rgba(34, 61, 110, .05); }
.sheet:not([class*="fortune"]) .setting-row { min-height: 62px; border-color: #e6edf6; }
.sheet:not([class*="fortune"]) .setting-row small { color: #72809a; line-height: 1.45; }
.sheet:not([class*="fortune"]) .action-grid { gap: 10px; }
.sheet:not([class*="fortune"]) .finance-head { border-bottom: 1px solid #eaf0f7; color: #101b44; background: #fff; }
.sheet:not([class*="fortune"]) .finance-head small { color: #72809a; }
.sheet:not([class*="fortune"]) .finance-head > span { color: var(--accent); background: var(--accent-soft); }
.sheet:not([class*="fortune"]) .finance-total { background: #f3f7fd; }
.sheet:not([class*="fortune"]) .payment-insights { border-color: #e1e9f4; background: #f7f9fd; }
.sheet:not([class*="fortune"]) .payment-settings > button,
.sheet:not([class*="fortune"]) .withdraw-methods > button,
.sheet:not([class*="fortune"]) .analysis-disclosure,
.sheet:not([class*="fortune"]) .analysis-empty { border-color: #e1e9f4; border-radius: 18px; box-shadow: 0 4px 18px rgba(34, 61, 110, .035); }
.sheet:not([class*="fortune"]) .voice-upload-choice .button { border-radius: 14px; }

/* Acceptance preview: the video price and the actual payout are distinct. */
.sheet:not([class*="fortune"]):has(.rating-payment-panel) { padding: 10px 18px 22px; }
.sheet:not([class*="fortune"]):has(.rating-payment-panel) .sheet-header { margin-bottom: 16px; }
.sheet:not([class*="fortune"]):has(.rating-payment-panel) .sheet-header h2 { font-size: 25px; }
.sheet:not([class*="fortune"]) .rating-payment-panel { color: #101d43; }
.sheet:not([class*="fortune"]) .rating-payment-project { display: flex; align-items: center; gap: 11px; margin: 0 0 21px; }
.sheet:not([class*="fortune"]) .rating-project-icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; overflow: hidden; border-radius: 12px; background: #f0f4fb; }
.sheet:not([class*="fortune"]) .rating-project-icon .project-icon { display: block; width: 100%; height: 100%; object-fit: cover; }
.sheet:not([class*="fortune"]) .rating-project-icon[data-project-type="arizona"] .project-icon { transform: scale(2); }
.sheet:not([class*="fortune"]) .rating-project-icon[data-project-type^="shorts"] .project-icon { width: 72%; height: 78%; object-fit: contain; }
.sheet:not([class*="fortune"]) .rating-payment-project > div { min-width: 0; }
.sheet:not([class*="fortune"]) .rating-payment-project strong { display: block; font-size: 14px; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; }
.sheet:not([class*="fortune"]) .rating-payment-project small { display: block; margin-top: 3px; color: #8190aa; font-size: 11px; }
.sheet:not([class*="fortune"]) .rating-payment-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 10px; }
.sheet:not([class*="fortune"]) .rating-payment-heading h3 { margin: 0; font-size: 13px; font-weight: 650; }
.sheet:not([class*="fortune"]) .rating-payment-ai { flex-shrink: 0; padding: 5px 8px; border-radius: 8px; color: #647ea8; background: #edf2fb; font-size: 10px; font-weight: 600; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list { gap: 7px; margin-bottom: 15px; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button { position: relative; min-height: 65px; gap: 7px; padding: 10px 2px; border: 1px solid #e3eaf5; border-radius: 13px; background: #fff; box-shadow: 0 3px 10px rgba(25,55,103,.025); cursor: pointer; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button span { color: #101d43; line-height: 1; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button span b { font-size: 19px; font-weight: 720; color: inherit; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button span i { margin-left: 1px; font-size: 9px; color: #8794ac; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button strong { font-size: 10px; font-weight: 650; color: #546987; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button.is-active { border-color: #007aff; background: #eaf4ff; box-shadow: 0 0 0 1px #007aff; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button.is-active span,
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button.is-active strong { color: #007aff; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button:disabled { cursor: default; opacity: .5; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button:focus-visible { outline: 2px solid #007aff; outline-offset: 3px; }
.sheet:not([class*="fortune"]) .rating-payment-breakdown { padding: 16px; border: 1px solid #e3eaf5; border-radius: 17px; background: #fff; }
.sheet:not([class*="fortune"]) .rating-payment-empty { padding: 15px 0; color: #8290a9; font-size: 13px; text-align: center; }
.sheet:not([class*="fortune"]) .rating-payment-base,
.sheet:not([class*="fortune"]) .rating-payment-adjustment,
.sheet:not([class*="fortune"]) .rating-payment-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.sheet:not([class*="fortune"]) .rating-payment-base { font-size: 14px; font-weight: 650; }
.sheet:not([class*="fortune"]) .rating-payment-base strong { font-size: 19px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sheet:not([class*="fortune"]) .rating-payment-adjustment { margin-top: 11px; color: #7b8aa5; font-size: 12px; line-height: 1.3; }
.sheet:not([class*="fortune"]) .rating-payment-adjustment strong { flex-shrink: 0; color: #596e8d; font-size: 13px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sheet:not([class*="fortune"]) .rating-payment-adjustment.is-bonus strong { color: #11a87a; }
.sheet:not([class*="fortune"]) .rating-payment-adjustment.is-penalty strong { color: #ec526c; }
.sheet:not([class*="fortune"]) .rating-payment-total { align-items: center; margin-top: 16px; padding-top: 15px; border-top: 1px solid #eaf0f7; }
.sheet:not([class*="fortune"]) .rating-payment-total span { font-size: 12px; font-weight: 600; color: #596e8d; }
.sheet:not([class*="fortune"]) .rating-payment-total strong { color: #007aff; font-size: 26px; line-height: 1.15; letter-spacing: -.035em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-submit { width: 100%; min-height: 48px; margin-top: 16px; border-radius: 14px; color: #fff; background: #007aff; font-size: 14px; }
.sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-submit:disabled { color: #8da4c5; background: #e3ecf8; opacity: 1; cursor: default; }
@media (min-width: 700px) {
  .sheet:not([class*="fortune"]):has(.rating-payment-panel) { padding: 12px 25px 26px; }
  .sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list { gap: 10px; }
  .sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button { min-height: 75px; border-radius: 16px; }
  .sheet:not([class*="fortune"]) .rating-payment-panel .rating-payment-list button strong { font-size: 13px; }
  .sheet:not([class*="fortune"]) .rating-payment-project strong { font-size: 17px; }
  .sheet:not([class*="fortune"]) .rating-payment-breakdown { padding: 19px 22px; }
}

@media (min-width: 700px) {
  .app .content { padding: 12px 28px 28px; }
  .app .topbar { padding-right: 28px; padding-left: 28px; }
  .app .profile-analysis-chart { height: 310px; }
  .app .profile-income-panel { padding: 24px; }
  .app .profile-formats { padding: 20px 24px; }
  .app .profile-format-goals .profile-section-title { margin-bottom: 18px; }
  .app .profile-format-goals .profile-section-title > span { font-size: 15px; }
  .app .profile-goals { gap: 16px; }
  .app .profile-goal { padding: 22px 24px 24px; border-radius: 26px; }
  .app .profile-goal-top { gap: 13px; }
  .app .profile-goal-project { width: 40px; height: 40px; border-radius: 12px; }
  .app .profile-goal h3 { font-size: 17px; }
  .app .profile-goal-remaining { min-width: 34px; height: 34px; padding: 0 8px; border-radius: 11px; font-size: 16px; }
  .app .profile-goal-remaining > svg { width: 21px; height: 21px; }
  .app .profile-goal > strong { margin: 20px 0 18px; font-size: 46px; }
  .app .profile-goal > strong small { font-size: 21px; }
  .app .profile-goal-bar { height: 8px; }
  .app .profile-goal .goal-script-summary { margin-top: 16px; font-size: 14px; }
  .app .profile-over-goal { margin-top: 16px; padding: 24px; border-radius: 26px; }
  .app .profile-over-goal > span { max-width: none; font-size: 17px; }
  .app .profile-over-goal > strong { font-size: 32px; }
  .app .quick-grid { gap: 18px; }
}

@media (min-width: 1100px) {
  .app { padding-left: 220px; padding-bottom: 28px; }
  .app .topbar { padding: 22px 32px 20px; }
  .app .content { padding: 12px 32px 36px; }
  .app .topbar .profile-copy strong { max-width: 340px; }
  .app .balance-button { min-width: 176px; }
  .app .bottom-nav { display: none; }
  .app .preview-banner { margin-right: 32px; margin-left: 32px; top: 102px; }
  .app .studio-sidebar {
    position: fixed;
    z-index: 15;
    top: 0;
    bottom: 0;
    left: max(0px, calc((100vw - 1400px) / 2));
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 220px;
    min-height: 0;
    padding: 30px 18px 20px;
    overflow-y: auto;
    border-right: 1px solid var(--line);
    background: #fff;
  }
  .app .studio-brand { display: flex; align-items: center; gap: 10px; padding: 0 7px 15px; }
  .app .studio-brand-mark { display: grid; width: 37px; height: 37px; place-items: center; flex: 0 0 auto; border-radius: 12px; color: #fff; background: var(--accent); font-size: 23px; font-weight: 720; }
  .app .studio-brand strong { display: block; color: var(--ink); font-size: 18px; font-weight: 740; letter-spacing: -.035em; }
  .app .studio-brand strong > span { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; font-weight: 450; letter-spacing: .03em; }
  .app .studio-nav,
  .app .studio-sidebar-nav { display: grid; gap: 7px; }
  .app .studio-sidebar button[data-screen-link] { display: flex; min-height: 46px; width: 100%; align-items: center; gap: 12px; padding: 10px 13px; border: 1px solid transparent; border-radius: 12px; color: #7a88a1; background: transparent; font: inherit; font-size: 13px; font-weight: 530; text-align: left; }
  .app .studio-sidebar button[data-screen-link].is-active { border-color: rgba(var(--accent-rgb), .045); color: var(--accent); background: var(--accent-soft); font-weight: 650; }
  .app .studio-sidebar .studio-icon { width: 20px; height: 20px; }
  .app .studio-primary { display: flex; min-height: 46px; align-items: center; justify-content: center; gap: 9px; padding: 10px; border: 0; border-radius: 12px; color: #fff; background: var(--accent); font: inherit; font-size: 12px; font-weight: 620; }
  .app .studio-sidebar-user,
  .app .sidebar-user { display: flex; align-items: center; gap: 9px; margin-top: auto; padding: 18px 4px 0; border-top: 1px solid var(--hairline); }
  .app .studio-sidebar-user > span,
  .app .sidebar-user > span { display: grid; width: 35px; height: 35px; flex: 0 0 auto; place-items: center; border-radius: 11px; color: var(--accent); background: var(--accent-soft); font-size: 12px; font-weight: 650; }
  .app .studio-sidebar-user > div,
  .app .sidebar-user > div { min-width: 0; }
  .app .studio-sidebar-user strong,
  .app .sidebar-user strong { display: block; overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 650; }
  .app .studio-sidebar-user small,
  .app .sidebar-user small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }
  .app .task-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .app .status-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .app .hero-card { padding: 26px; }
  .app .profile-income-panel { padding: 26px; }
  .app .profile-analysis-chart { height: 340px; }
}

@media (max-width: 390px) {
  .app .topbar { gap: 8px; padding-right: 14px; padding-left: 14px; }
  .app .top-left { flex: 1; gap: 6px; }
  .app .topbar .profile-button { flex: 1; gap: 7px; overflow: hidden; }
  .app .topbar .avatar { width: 34px; height: 34px; border-radius: 11px; font-size: 13px; }
  .app .topbar .profile-copy { display: grid; min-width: 0; }
  .app .topbar .profile-copy strong { max-width: none; font-size: 12px; }
  .app .topbar .profile-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
  .app .notification-button { width: 34px; height: 34px; border-radius: 11px; }
  .app .content { padding-right: 14px; padding-left: 14px; }
  .app .balance-button { width: 114px; min-width: 0; min-height: 54px; height: 54px; padding: 7px 10px; border-radius: 14px; }
  .app .balance-button strong { max-width: 92px; font-size: 16px; }
  .app .balance-button small { font-size: 7px; letter-spacing: .04em; }
  .app .balance-button span { max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 7px; }
  .app .profile-income-panel,
  .app .profile-formats { padding: 16px; }
  .app .profile-analysis-chart { grid-template-columns: 27px minmax(0, 1fr); gap: 6px; height: 245px; }
  .app .profile-income-day { gap: 8px; }
  .app .profile-income-work { gap: 8px; }
  .app .profile-income-work > b { font-size: 11px; }
  .app .quick-grid { gap: 7px; }
  .app .quick small { font-size: 10px; }
}

@media (hover: hover) {
  .app .profile-analysis-day { cursor: crosshair; }
  .app .studio-sidebar button[data-screen-link]:hover:not(.is-active),
  .app .menu-row:hover { background: #f6f9fe; }
  .app .task-card:hover { border-color: #cedbef; box-shadow: 0 5px 20px rgba(34, 61, 110, .055); }
  .app .profile-income-work:hover { background: #f8faff; }
}

@media (prefers-reduced-motion: reduce) {
  .app .page { animation: none; }
  .app .task-card,
  .app .studio-sidebar button[data-screen-link],
  .app .profile-income-point { transition: none; }
}

/* Existing limited-access states must not gain an alternate desktop menu. */
.access-locked .app .studio-sidebar,
.voice-limited .app .studio-sidebar { display: none; }
.access-locked .app,
.voice-limited .app { padding-left: 0; }
.access-locked .app::before { display: none; }

/* Authenticated Telegram photos; initials remain underneath as a fallback. */
.app .telegram-avatar,
.sheet:not([class*="fortune"]) .telegram-avatar { position: relative; display: grid; place-items: center; width: 100%; height: 100%; flex: 0 0 auto; overflow: hidden; border-radius: inherit; }
.app .telegram-avatar-initials,
.sheet:not([class*="fortune"]) .telegram-avatar-initials { display: grid; place-items: center; width: 100%; height: 100%; border-radius: inherit; color: inherit; font: inherit; }
.app .telegram-avatar-photo,
.sheet:not([class*="fortune"]) .telegram-avatar-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; opacity: 0; }
.app .telegram-avatar-photo.is-loaded,
.sheet:not([class*="fortune"]) .telegram-avatar-photo.is-loaded { opacity: 1; }

/* Video reserve stays separate from actual monthly work and financial totals. */
.app .profile-reserve { margin: 0 0 24px; padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.app .profile-reserve-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.app .profile-reserve-heading h2 { margin: 0; color: var(--ink); font-size: 19px; line-height: 1.25; font-weight: 700; letter-spacing: -.035em; }
.app .profile-reserve-period { margin: 6px 0 10px; color: #8490a7; font-size: 11px; line-height: 1.45; }
.app .profile-reserve-list { display: grid; grid-template-columns: minmax(0, 1fr); }
.app .profile-reserve-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 11px; min-width: 0; min-height: 64px; padding: 13px 0; border-bottom: 1px solid #eff3f8; }
.app .profile-reserve-row:last-child { border-bottom: 0; }
.app .profile-reserve-project { display: grid; place-items: center; width: 36px; height: 36px; overflow: hidden; border-radius: 11px; background: var(--accent-soft); }
.app .profile-reserve-project > .project-icon { display: block; width: 100%; height: 100%; object-fit: cover; }
.app .profile-reserve-project[data-project-type="arizona"] > .project-icon { transform: scale(2); }
.app .profile-reserve-copy { min-width: 0; }
.app .profile-reserve-copy h3 { margin: 0; color: var(--ink); font-size: 14px; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; }
.app .profile-reserve-copy p { margin: 4px 0 0; color: #7384a2; font-size: 11px; line-height: 1.5; }
.app .profile-reserve-count { display: grid; place-items: center; min-width: 34px; height: 34px; padding: 0 7px; border-radius: 11px; color: var(--green); background: #e7f7ef; font-size: 20px; line-height: 1; font-weight: 700; font-variant-numeric: tabular-nums; }
.app .profile-reserve-row.is-empty .profile-reserve-count { color: #8b98ae; background: #f3f6fa; }
.app .profile-reserve-note { margin: 13px 0 0; padding-top: 14px; border-top: 1px solid #eff3f8; color: #8490a7; font-size: 11px; line-height: 1.55; }
.app .profile-reserve-goal-note { margin: 9px 0 0; color: var(--green); font-size: 11px; line-height: 1.35; font-weight: 600; }
@media (min-width: 700px) {
  .app .profile-reserve { padding: 24px; border-radius: 26px; }
  .app .profile-reserve-heading h2 { font-size: 24px; }
  .app .profile-reserve-period { font-size: 13px; }
  .app .profile-reserve-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
  .app .profile-reserve-row { grid-template-columns: 42px minmax(0, 1fr) auto; min-height: 77px; }
  .app .profile-reserve-row:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
  .app .profile-reserve-project { width: 42px; height: 42px; border-radius: 12px; }
  .app .profile-reserve-copy h3 { font-size: 16px; }
  .app .profile-reserve-copy p,
  .app .profile-reserve-note,
  .app .profile-reserve-goal-note { font-size: 13px; }
}
@media (max-width: 360px) {
  .app .profile-reserve { padding: 16px; }
  .app .profile-reserve-heading { gap: 8px; }
  .app .profile-reserve-heading h2 { font-size: 17px; }
}

/* Won prizes are a personal monthly summary, independent of wallet balance. */
.app .profile-fortune { min-width: 0; margin: 0 0 24px; padding: 20px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); }
.app .profile-fortune-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px 12px; margin-bottom: 16px; }
.app .profile-fortune-heading > div { min-width: 0; }
.app .profile-fortune-heading h2 { margin: 0; color: var(--ink); font-size: 19px; line-height: 1.25; font-weight: 700; letter-spacing: -.035em; }
.app .profile-fortune-heading p { margin: 5px 0 0; color: #8490a7; font-size: 11px; line-height: 1.45; }
.app .profile-fortune-heading > span { max-width: 100%; padding: 6px 9px; border-radius: 10px; color: var(--accent); background: var(--accent-soft); font-size: 11px; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
.app .profile-fortune-rewards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.app .profile-fortune-reward { display: block; min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 16px; background: #f8faff; }
.app .profile-fortune-reward-heading { display: flex; align-items: center; gap: 7px; min-width: 0; margin-bottom: 13px; }
.app .profile-fortune-reward-heading img { display: block; flex: 0 0 auto; width: 36px; height: 36px; object-fit: contain; }
.app .profile-fortune-reward-heading h3 { min-width: 0; margin: 0; color: #7384a2; font-size: 12px; line-height: 1.3; font-weight: 550; overflow-wrap: anywhere; }
.app .profile-fortune-reward > strong { display: block; margin: 0; color: var(--ink); font-size: clamp(21px, 5.5vw, 28px); line-height: 1.2; font-weight: 700; letter-spacing: -.035em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.app .profile-fortune-reward > span { display: block; margin-top: 4px; color: #8490a7; font-size: 11px; line-height: 1.35; }
.app .profile-fortune-reward.is-empty > strong { color: #8b98ae; }
.app .profile-fortune-empty { margin: -2px 0 14px; color: #8490a7; font-size: 12px; line-height: 1.5; }
.app .profile-fortune-note { margin: 15px 0 0; padding-top: 13px; border-top: 1px solid var(--line); color: #8490a7; font-size: 11px; line-height: 1.55; }
@media (min-width: 700px) {
  .app .profile-fortune { padding: 24px; border-radius: 26px; }
  .app .profile-fortune-heading h2 { font-size: 24px; }
  .app .profile-fortune-heading p,
  .app .profile-fortune-heading > span,
  .app .profile-fortune-note { font-size: 13px; }
  .app .profile-fortune-rewards { gap: 14px; }
  .app .profile-fortune-reward { padding: 18px; }
  .app .profile-fortune-reward-heading h3 { font-size: 14px; }
}
@media (max-width: 360px) {
  .app .profile-fortune { padding: 16px; }
  .app .profile-fortune-heading h2 { font-size: 17px; }
  .app .profile-fortune-rewards { gap: 8px; }
  .app .profile-fortune-reward { padding: 10px; border-radius: 13px; }
  .app .profile-fortune-reward-heading { gap: 5px; }
  .app .profile-fortune-reward-heading img { width: 28px; height: 28px; }
  .app .profile-fortune-reward-heading h3 { font-size: 11px; }
}
