/* Mobile UI foundation. Only the App opts in; admin and documentation keep their own scale. */
body.mobile-ui {
  --ui-space-1: 4px; --ui-space-2: 8px; --ui-space-3: 12px; --ui-space-4: 16px;
  --ui-space-5: 20px; --ui-space-6: 24px; --ui-space-8: 32px;
  --ui-radius-xs: 4px; --ui-radius-sm: 8px; --ui-radius-md: 12px;
  --ui-radius-lg: 16px; --ui-radius-xl: 20px; --ui-radius-full: 999px;
  --ui-font-caption: 10px; --ui-font-secondary: 11px; --ui-font-meta: 12px;
  --ui-font-body: 13px; --ui-font-control: 13px; --ui-font-title: 14px;
  --ui-font-section: 16px; --ui-font-page: 18px; --ui-font-display: 20px;
  --ui-avatar-xs: 24px; --ui-avatar-sm: 32px; --ui-avatar-md: 40px; --ui-avatar-lg: 48px;
  --ui-icon-sm: 16px; --ui-icon-md: 20px; --ui-icon-lg: 24px;
  --ui-chip-height: 20px; --ui-badge-size: 16px; --ui-control-height: 40px;
  --ui-surface: #fff; --ui-canvas: #f6f9f9; --ui-subtle: #eef2f3;
  --ui-muted: #7c8796; --ui-text: #17232d; --ui-line: #e9eef0;
  --ui-shadow: 0 2px 12px rgba(24,46,52,.025);
  --ui-font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB",Arial,sans-serif;
  --font: var(--ui-font-family);
  --holyuni-font-caption: var(--ui-font-secondary); --holyuni-font-meta: var(--ui-font-secondary);
  --holyuni-font-body: var(--ui-font-body); --holyuni-font-control: var(--ui-font-control);
  --holyuni-font-card-title: var(--ui-font-title); --holyuni-font-section-title: var(--ui-font-section);
  --holyuni-font-page-title: var(--ui-font-page); --holyuni-font-display: var(--ui-font-display);
  --holyuni-publish-font-required: var(--ui-font-secondary); --holyuni-publish-font-note: var(--ui-font-meta);
  --holyuni-publish-font-workflow: var(--ui-font-control); --holyuni-publish-font-draft-title: var(--ui-font-title);
  --holyuni-publish-font-label: var(--ui-font-title); --holyuni-publish-font-control: var(--ui-font-title);
  --holyuni-publish-font-confirm-title: var(--ui-font-section);
  --holyuni-line-body: 1.5; --holyuni-line-caption: 1.4; --holyuni-line-title: 1.35;
  --holyuni-space-mobile: var(--ui-space-3); --holyuni-space-mobile-compact: var(--ui-space-3);
  --holyuni-page-gutter: var(--ui-space-3); --page-gutter: var(--ui-space-3); --home-gutter: var(--ui-space-3);
  --page-section-gap: var(--ui-space-3); --holyuni-nav-clearance: 88px;
  --holyuni-control-min-height: var(--ui-control-height); --holyuni-control-primary-height: 44px;
  --holyuni-radius-card: var(--ui-radius-md); --holyuni-radius-story: var(--ui-radius-lg);
  --holyuni-radius-control: var(--ui-radius-sm); --holyuni-radius-pill: var(--ui-radius-full);
  --holyuni-canvas: var(--ui-canvas); --holyuni-muted: var(--ui-muted); --holyuni-line: var(--ui-line);
  --holyuni-shadow-subtle: var(--ui-shadow); --holyuni-shadow-card: var(--ui-shadow);
  --canvas: var(--ui-canvas); --surface: var(--ui-surface); --subtle: var(--ui-subtle); --muted: var(--ui-muted);
  --text: var(--ui-text); --line: var(--ui-line); --r-card: var(--ui-radius-md); --r-control: var(--ui-radius-sm); --shadow: var(--ui-shadow);
  font-family: var(--ui-font-family); font-size: var(--ui-font-body); line-height: 1.5;
  color: var(--ui-text); background: var(--ui-canvas);
}
body.mobile-ui :is(button,input,select,textarea) { font-family: var(--ui-font-family); box-sizing: border-box; }
body.mobile-ui [hidden] { display: none !important; }
body.mobile-ui :is(button,a,input,textarea,select,[tabindex]) { -webkit-tap-highlight-color: transparent; }
body.mobile-ui :is(button,a,input,textarea,select,[tabindex]):focus-visible { outline: 2px solid var(--holyuni-forest); outline-offset: 2px; }
body.mobile-ui :is(button,.card,.chip,.primary-tab,.action):active { transform: none !important; }
body.mobile-ui .icon { width: var(--ui-icon-md); height: var(--ui-icon-md); stroke-width: 1.8; flex-shrink: 0; }
body.mobile-ui :is(.app,.page-shell,.page-content,.sheet,.sheet-content,main,section,article,fieldset) { min-width: 0; }
body.mobile-ui :is([class$="-copy"],[class$="-name"],[class$="-title"],.who,.profile-top>div,.event-copy,.group-owner>span) { min-width: 0; }
body.mobile-ui :is(p,.bubble,.holo-chat-bubble,.detail-note,.group-detail-description,.post-copy) { overflow-wrap: anywhere; }
body.mobile-ui :is(.who,.message-copy,.menu-copy,.rank-copy,.profile-published-copy,.group-card-copy,.notification-copy,.connection-copy) { flex: 1 1 0; min-width: 0; }
body.mobile-ui :is(.who>span,.menu-copy>span,.notification-copy>strong,.notification-copy>span,.connection-copy>strong,.connection-copy>span,.group-card-copy>strong,.group-owner strong) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mobile-ui :is(.who>strong,.profile-top h2,.public-profile-name h2,.menu-copy>strong) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mobile-ui :is(.card h2,.collection-item>strong,.managed-card>strong,.group-card-copy>span) { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
body.mobile-ui :is(.page-head h1,.sheet-head h2) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-font-section) !important; font-weight: 600; }
body.mobile-ui :is(.page-head,.sheet-head) { gap: var(--ui-space-2); padding-inline: var(--ui-space-3); }
body.mobile-ui .page-head { height: auto; min-height: calc(52px + env(safe-area-inset-top)); padding-top: calc(var(--ui-space-1) + env(safe-area-inset-top)); padding-bottom: var(--ui-space-1); background: var(--ui-canvas); border: 0; box-shadow: none; }
body.mobile-ui .page-layer.primary-page:not(.headerless-page) .page-head { min-height: calc(52px + env(safe-area-inset-top)); padding-bottom: var(--ui-space-1); }
body.mobile-ui :is(.round,.back,.close,.more) { width: 40px; height: 40px; min-width: 40px; flex-shrink: 0; box-shadow: none; }
body.mobile-ui :is(.app,.page-shell) { padding-bottom: calc(88px + env(safe-area-inset-bottom)); background: var(--ui-canvas); }
body.mobile-ui .page-layer.primary-page .page-shell { max-width: 520px; margin-inline: auto; background: var(--ui-canvas); }
body.mobile-ui .page-layer.primary-page { background: var(--ui-canvas); }
body.mobile-ui :is(.profile,.public-profile,.groups-page,.group-detail-page,.profile-service-page,.market-detail-page,.task-detail-page,.event-detail-page,.group-message-center) { padding-inline: var(--ui-space-3); }
body.mobile-ui :is(.feed,.group-list,.collection-list,.managed-list,.notification-list) { gap: var(--ui-space-2); }
body.mobile-ui :is(.card,.profile-card,.collection-item,.managed-card,.group-card,.service-entry,.wallet-record,.summary-tile,.notification-item,.connection-card) { border: 0; border-radius: var(--ui-radius-md); padding: var(--ui-space-3); box-shadow: var(--ui-shadow); }
body.mobile-ui :is(.profile-card,.group-card,.collection-item,.managed-card)::before { display: none; }
body.mobile-ui :is(.sheet,.page-shell,.activation-shell) { border-radius: var(--ui-radius-xl); }
body.mobile-ui :is(.sheet-content,.detail-page) { padding: var(--ui-space-4); }
body.mobile-ui :is(.profile-top,.author,.group-owner,.group-participant,.connection-card,.menu-row) { gap: var(--ui-space-2); }

/* Avatars always occupy an explicit slot. Group members cannot resize a row. */
body.mobile-ui .avatar,body.mobile-ui .ui-avatar { width: var(--ui-avatar-md); height: var(--ui-avatar-md); min-width: var(--ui-avatar-md); flex: 0 0 var(--ui-avatar-md); border-radius: 50%; overflow: hidden; box-shadow: none; border: 0; }
body.mobile-ui .ui-avatar { display: inline-grid; place-items: center; color: var(--holyuni-forest); background-color: var(--holyuni-mint-light); font-size: var(--ui-font-title); font-weight: 600; }
body.mobile-ui .ui-avatar.has-photo { background-image: url('../student-avatars-v1.png'); background-size: 400% 400%; background-position: var(--avatar-position); }
body.mobile-ui :is(.ui-avatar--xs,.group-card-person .avatar) { --ui-avatar-md: var(--ui-avatar-xs); }
body.mobile-ui :is(.ui-avatar--sm,.group-chat-avatar.avatar,.group-participant .avatar,.comment-avatar,.holo-chat-avatar) { --ui-avatar-md: var(--ui-avatar-sm); }
body.mobile-ui :is(.ui-avatar--lg,.profile-top .avatar,.public-profile-top .avatar,.community-profile-top .avatar,.seller-identity .avatar) { --ui-avatar-md: var(--ui-avatar-lg); }
body.mobile-ui .ui-avatar-group { width: var(--ui-avatar-md); height: var(--ui-avatar-md); flex: 0 0 var(--ui-avatar-md); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr)); gap: 2px; padding: 2px; overflow: hidden; border-radius: var(--ui-radius-sm); background: var(--ui-subtle); }
body.mobile-ui .ui-avatar-group .ui-avatar { width: 100%; height: 100%; min-width: 0; border-radius: var(--ui-radius-xs); }
body.mobile-ui .ui-avatar-group[data-count="1"] .ui-avatar { grid-area: 1/1/3/3; }
body.mobile-ui .ui-avatar-group[data-count="2"] { grid-template-rows: 1fr; align-items: center; }
body.mobile-ui .ui-avatar-group[data-count="2"] .ui-avatar { height: 18px; }
body.mobile-ui .ui-avatar-group[data-count="3"] .ui-avatar:first-child { grid-column: 1/3; width: calc((100% - 2px)/2); justify-self: center; }

/* Compact labels and scrollable tabs are shared across feeds, records and details. */
body.mobile-ui :is(.tag,.business-label,.conversation-mode,.halo-lit,.group-fee-badge,.item-status,.group-message-label,.group-status,.group-category-label) { box-sizing: border-box; min-width: 0; max-width: 100%; height: var(--ui-chip-height); min-height: var(--ui-chip-height); padding: 0 var(--ui-space-2); border-radius: var(--ui-radius-xs); border: 0; display: inline-flex; align-items: center; font-size: var(--ui-font-caption) !important; font-weight: 500; line-height: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-shadow: none; flex-shrink: 0; }
body.mobile-ui :is(.message-tabs,.manager-tabs,.group-status-tabs,.group-date-filters,.campus-subboards,.task-status-tabs,.event-category-tabs,.event-date-filters,.public-profile-tabs,.group-message-tabs) { display: flex; flex-wrap: nowrap; min-width: 0; gap: var(--ui-space-1); padding: var(--ui-space-1) var(--ui-space-3); overflow-x: auto; scrollbar-width: none; scroll-padding-inline: var(--ui-space-3); }
body.mobile-ui :is(.message-tab,.manager-tab,.group-status-tab,.group-date-filter,.subboard-tab,.task-status-tab,.event-category-tab,.event-date-filter,.public-profile-tab,.group-message-tab) { box-sizing: border-box; flex: 0 0 auto; width: auto; max-width: 100%; min-height: 32px !important; height: 32px !important; padding: 0 var(--ui-space-3) !important; border-radius: var(--ui-radius-sm); border: 0; white-space: nowrap; font-size: var(--ui-font-secondary) !important; font-weight: 500; }
body.mobile-ui :is(.message-tab.active,.manager-tab.active,.group-status-tab.active,.group-date-filter.active) { background: var(--holyuni-mint-light); color: var(--holyuni-forest); box-shadow: none; }
body.mobile-ui :is(.primary-mini,.managed-actions button,.group-card-actions button,.group-detail-actions button,.group-lifecycle-actions button,.empty-recovery-actions button) { min-width: 0; max-width: 100%; min-height: var(--ui-control-height); padding: var(--ui-space-2) var(--ui-space-3); border-radius: var(--ui-radius-sm); font-size: var(--ui-font-control); line-height: 1.3; overflow-wrap: anywhere; }
body.mobile-ui :is(.cta,.activation-cta,.publish-submit) { min-height: 44px; border-radius: var(--ui-radius-sm); font-size: var(--ui-font-title); font-weight: 600; }
body.mobile-ui :is(.field,.form-field,.publish-field,fieldset) { min-width: 0; }
body.mobile-ui :is(.field input,.field select,.field textarea,.form-field input,.form-field select,.publish-field input,.publish-field select,.calendar-drop) { max-width: 100%; min-width: 0; border-radius: var(--ui-radius-sm); }
body.mobile-ui :is(.field label,.publish-field>label,.publish-field legend,.form-field label) { font-size: var(--ui-font-title); font-weight: 600; }
body.mobile-ui :is(.field input,.field select,.publish-field input,.publish-field select) { min-height: 40px; padding: var(--ui-space-2) var(--ui-space-3); }

/* A conversation is two lines, regardless of the title, badges or member count. */
body.mobile-ui .message-center { padding: calc(var(--ui-space-3) + env(safe-area-inset-top)) var(--ui-space-3) var(--ui-space-4); }
body.mobile-ui .ui-message-search { min-height: 40px; display: flex; align-items: center; gap: var(--ui-space-2); margin-bottom: var(--ui-space-1); padding: 0 var(--ui-space-3); background: var(--ui-subtle); border-radius: var(--ui-radius-md); color: var(--ui-muted); }
body.mobile-ui .ui-message-search .icon { width: var(--ui-icon-sm); height: var(--ui-icon-sm); }
body.mobile-ui .ui-message-search input { outline: none; width: 100%; min-width: 0; flex: 1; min-height: 40px; border: 0; outline-offset: 0; background: transparent; font-size: var(--ui-font-meta); }
body.mobile-ui .ui-message-search input::placeholder { color: var(--ui-muted); }
body.mobile-ui .message-center .message-toolbar { display: flex; align-items: center; gap: var(--ui-space-2); position: sticky; top: 0; margin: 0 0 var(--ui-space-2); padding: var(--ui-space-1) 0 !important; background: var(--ui-canvas); border: 0; box-shadow: none; z-index: 3; }
body.mobile-ui .message-center .message-tabs { flex: 1 1 0; padding: 0; gap: var(--ui-space-1); }
body.mobile-ui .message-center .message-tab { display: inline-flex; align-items: center; gap: var(--ui-space-1); padding-inline: var(--ui-space-2) !important; background: transparent; color: var(--ui-muted); }
body.mobile-ui .message-center .message-tab.active { background: var(--holyuni-mint-light); color: var(--holyuni-forest); }
body.mobile-ui .message-center .read-all { flex: 0 0 auto; max-width: 88px; min-height: 32px; padding: 0; font-size: var(--ui-font-secondary) !important; font-weight: 500; background: transparent; white-space: normal; line-height: 1.25; color: var(--holyuni-forest); }
body.mobile-ui .message-center .read-all:disabled { color: var(--ui-muted); }
body.mobile-ui :is(.ui-badge,.message-tab-count,.nav-badge,.notification-badge,.message-group-subtab b) { min-width: var(--ui-badge-size); max-width: 28px; height: var(--ui-badge-size); padding: 0 var(--ui-space-1); border: 0; border-radius: var(--ui-radius-full); background: var(--holyuni-notification-count); color: white; font-size: var(--ui-font-caption) !important; font-weight: 600; line-height: var(--ui-badge-size); text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; flex-shrink: 0; box-shadow: none !important; }
body.mobile-ui .message-center .message-tab-count { position: static; display: inline-block; margin: 0; font-size: 9px !important; }
body.mobile-ui .message-center .message-tab-count.is-zero { background: var(--ui-subtle); color: var(--ui-muted); }
body.mobile-ui .message-center .message.ui-conversation { width: 100%; min-height: 64px; height: 64px; margin: 0 0 var(--ui-space-2); padding: var(--ui-space-2); display: flex; align-items: center; gap: var(--ui-space-2); border: 0; border-radius: var(--ui-radius-md); background: var(--ui-surface); box-shadow: none; text-align: left; }
body.mobile-ui .message-center .message.ui-conversation[hidden] { display: none; }
body.mobile-ui .message-center .message-copy { flex: 1 1 0; min-width: 0; overflow: hidden; }
body.mobile-ui .message-center .message-copy>strong { min-width: 0; display: flex; align-items: center; gap: var(--ui-space-1); flex-wrap: nowrap; font-size: var(--ui-font-title); font-weight: 600; line-height: 1.4; }
body.mobile-ui .message-center .message-thread-title { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: inherit; font-weight: inherit; color: var(--ui-text); }
body.mobile-ui .message-center .ui-conversation-tags { min-width: 0; max-width: 50%; display: flex; gap: var(--ui-space-1); flex: 0 0 auto; overflow: hidden; }
body.mobile-ui .message-center .business-label,body.mobile-ui .message-center .conversation-mode { min-width: 0; flex: 0 1 auto; height: var(--ui-chip-height); min-height: var(--ui-chip-height); padding: 0 var(--ui-space-1); display: inline-flex !important; align-items: center; border: 0; border-radius: var(--ui-radius-xs); font-size: var(--ui-font-caption) !important; font-weight: 500; background: var(--holyuni-mint-light); line-height: 1; }
body.mobile-ui .message-center .conversation-mode { background: var(--ui-subtle); color: #687784; gap: 2px; }
body.mobile-ui .message-center .conversation-mode.group { color: var(--holyuni-forest); background: #e7f8f1; }
body.mobile-ui .message-center .conversation-mode svg { width: 10px; height: 10px; flex: 0 0 10px; }
body.mobile-ui .message-center .conversation-mode i { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: var(--ui-font-caption); font-weight: 500; }
body.mobile-ui .message-center .ui-chip-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: inherit; line-height: inherit; color: inherit; }
body.mobile-ui .message-center .ui-conversation-preview { display: block; margin-top: 2px; font-size: var(--ui-font-meta); line-height: 1.4; color: var(--ui-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.mobile-ui .message-center .ui-conversation-meta { flex: 0 0 48px; min-width: 48px; display: flex; flex-direction: column; align-items: flex-end; align-self: stretch; justify-content: space-between; padding-block: var(--ui-space-1); gap: var(--ui-space-1); }
body.mobile-ui .message-center .message-time { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-font-caption) !important; line-height: 1.4; color: var(--ui-muted); }
body.mobile-ui .message-center .message-group-workspace { margin: 0; padding: 0; }
body.mobile-ui .message-group-subtabs { gap: var(--ui-space-4); padding: 0 var(--ui-space-1) var(--ui-space-2); }
body.mobile-ui .message-group-subtab { min-width: 0; min-height: 32px; padding: 0; display: inline-flex; align-items: center; gap: var(--ui-space-1); font-size: var(--ui-font-secondary); font-weight: 500; }
body.mobile-ui .message-group-subtab b { position: static; min-width: var(--ui-badge-size); height: var(--ui-badge-size); max-width: 28px; }
body.mobile-ui .message-endcap { margin: var(--ui-space-3) 0 0; padding: 0 var(--ui-space-2); font-size: var(--ui-font-secondary); line-height: 1.5; color: var(--ui-muted); }
body.mobile-ui :is(.message-empty,.group-empty,.group-message-empty,.holo-page-end,.empty,.smart-empty) { margin: var(--ui-space-4) 0; padding: var(--ui-space-4); border: 0; background: transparent; box-shadow: none; border-radius: var(--ui-radius-md); }
body.mobile-ui :is(.message-empty img,.group-empty img,.group-message-empty img,.holo-page-end img,.empty>img) { width: 40px; height: 40px; margin: 0 auto var(--ui-space-2); object-fit: contain; }
body.mobile-ui :is(.message-empty strong,.group-empty strong,.group-message-empty strong,.holo-page-end strong) { font-size: var(--ui-font-meta) !important; font-weight: 500; line-height: 1.4; }
body.mobile-ui :is(.message-empty>span,.group-empty>span,.group-message-empty>span,.holo-page-end span) { margin-top: var(--ui-space-1); font-size: var(--ui-font-secondary) !important; line-height: 1.4 !important; }
body.mobile-ui .holo-page-end { min-height: 0; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 0 var(--ui-space-2); max-width: 280px; margin: var(--ui-space-4) auto; text-align: left; }
body.mobile-ui .holo-page-end img { grid-row: 1/3; width: 32px; height: 32px; margin: 0; }
body.mobile-ui .ui-search-empty { color: var(--ui-muted); font-size: var(--ui-font-meta); text-align: center; padding: var(--ui-space-5); }

/* One floating navigation system on every root page. */
body.mobile-ui .bottom-nav.home-ref-nav { width: min(calc(100% - 16px),492px); height: 56px; padding: 0 var(--ui-space-1); gap: var(--ui-space-1); border-radius: var(--ui-radius-xl); bottom: max(var(--ui-space-2),env(safe-area-inset-bottom)); box-shadow: 0 2px 20px rgba(24,46,52,.07); border: 0; }
body.mobile-ui .bottom-nav.home-ref-nav .nav-btn { width: auto; min-width: 0; height: 44px; flex: 1 1 0; gap: 2px; padding: 0; }
body.mobile-ui .bottom-nav.home-ref-nav .nav-btn small { max-width: 100%; font-size: var(--ui-font-secondary); line-height: 1.2; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mobile-ui .bottom-nav.home-ref-nav .nav-btn .icon { width: 22px; height: 22px; }
body.mobile-ui .bottom-nav.home-ref-nav .create { display: grid; place-items: center; padding: 0; line-height: 0; width: 52px; height: 52px; flex: 0 0 52px; margin: -8px var(--ui-space-1) 0; box-shadow: 0 0 0 3px var(--holyuni-mint-light); }
body.mobile-ui .bottom-nav.home-ref-nav .create .icon { width: var(--ui-icon-lg); height: var(--ui-icon-lg); stroke-width: 3.5; stroke-linecap: butt; stroke-linejoin: miter; display: block; }
body.mobile-ui .bottom-nav .nav-badge { top: 0; right: 8px; }
body.mobile-ui .bottom-nav.home-ref-nav .message-nav-badge { top: 0; right: calc(50% - 24px); min-width: var(--ui-badge-size); width: auto; max-width: 28px; height: var(--ui-badge-size); padding: 0 var(--ui-space-1); border: 0; border-radius: var(--ui-radius-full); background: var(--holyuni-notification-count); color: white; font-size: var(--ui-font-caption); line-height: var(--ui-badge-size); font-weight: 600; box-shadow: none; }
/* Homepage presentation is maintained in holyuni-home.css. */
body.mobile-ui .profile-top h2 { font-size: var(--ui-font-section); margin: 0; }
body.mobile-ui .profile-top>div { flex: 1 1 0; min-width: 0; }
body.mobile-ui .profile-top>div>span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mobile-ui .profile-card { padding: var(--ui-space-4); }
body.mobile-ui .stats { margin-top: var(--ui-space-4); padding-top: var(--ui-space-3); }
body.mobile-ui .menu-row { min-height: 56px; padding: var(--ui-space-2) var(--ui-space-3); }
body.mobile-ui .menu-icon { width: var(--ui-avatar-sm); height: var(--ui-avatar-sm); flex: 0 0 var(--ui-avatar-sm); border-radius: var(--ui-radius-sm); }
body.mobile-ui .group-reference-layout .group-card { padding: var(--ui-space-3); border-radius: var(--ui-radius-md); }
body.mobile-ui .group-reference-layout .group-card-people { gap: var(--ui-space-2); }
body.mobile-ui .group-reference-layout .group-category { min-width: 0; padding: var(--ui-space-2) var(--ui-space-1); border-radius: var(--ui-radius-sm); }
body.mobile-ui .group-card-person .avatar { width: var(--ui-avatar-sm); height: var(--ui-avatar-sm); min-width: var(--ui-avatar-sm); flex-basis: var(--ui-avatar-sm); }
body.mobile-ui .group-message-item { padding: var(--ui-space-3); gap: var(--ui-space-2); border-radius: var(--ui-radius-md); box-shadow: none; }
body.mobile-ui .group-message-item>i { width: var(--ui-avatar-sm); height: var(--ui-avatar-sm); flex: 0 0 var(--ui-avatar-sm); }
/* Shared content surfaces and hierarchy, including secondary screens. */
html:has(body.mobile-ui), body.mobile-ui .page-shell { scrollbar-width: none; }
body.mobile-ui:has(.page-layer.open,.overlay.open) { overflow: hidden; }
body.mobile-ui .page-shell { overscroll-behavior-y: contain; }
body.mobile-ui .page-layer .page-shell { border-radius: 0; }
body.mobile-ui .page-layer .page-head h1 { font-size: var(--ui-font-section) !important; font-weight: 600; }
body.mobile-ui .page-layer h2 { font-size: var(--ui-font-section) !important; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
body.mobile-ui .page-layer h3 { font-size: var(--ui-font-title) !important; font-weight: 600; }
body.mobile-ui .page-layer .group-card h2 { font-size: var(--ui-font-title) !important; }
body.mobile-ui .floating-page-back { width: 44px; height: 44px; min-width: 44px; right: max(var(--ui-space-3),calc((100vw - 496px)/2)); bottom: calc(88px + env(safe-area-inset-bottom)); border: 0; box-shadow: 0 0 0 3px var(--holyuni-mint-light); }
body.mobile-ui :is(.profile,.groups-page) { padding-top: var(--ui-space-3); }
body.mobile-ui :is(.profile-group,.profile-menu,.profile-tools,.status-summary,.profile-timetable-feature,.public-profile-hero,.profile-trust-card,.profile-review,.seller-listing,.detail-page,.md-card,.event-info-card,.task-box,.event-box,.chat-context,.bubble,.group-detail-hero,.group-detail-section,.group-lifecycle,.managed-card,.publish-page .form,.publish-page-context,.publish-submit-zone,.compose-draft,.compose-editor,.compose-declare,.search-result-bar,.search-panel) { border-radius: var(--ui-radius-md); box-shadow: none; }
body.mobile-ui :is(.profile-group,.profile-wallet-block,.partner-exclusive-group,.status-summary,.md-card) { border: 0; }
body.mobile-ui :is(.profile-architecture,.group-list,.form,.compose-form) { gap: var(--ui-space-3); }
body.mobile-ui :is(.profile-group-head,.partner-exclusive-group .profile-group-head) { padding: var(--ui-space-3) var(--ui-space-3) var(--ui-space-1); }
body.mobile-ui .profile-group-head strong { font-size: var(--ui-font-title); font-weight: 600; }
body.mobile-ui .profile-group-head span { font-size: var(--ui-font-secondary); line-height: 1.4; }
body.mobile-ui :is(.profile-group .menu-row,.profile-wallet-block .menu-row) { min-height: 56px; padding: var(--ui-space-2) var(--ui-space-3); border-radius: 0 !important; border: 0 !important; }
body.mobile-ui .profile .menu-copy strong { font-size: var(--ui-font-title); font-weight: 500; }
body.mobile-ui .profile .menu-copy span { font-size: var(--ui-font-secondary); }
body.mobile-ui .profile .menu-icon { width: 32px; height: 32px; flex: 0 0 32px; box-shadow: none; }
body.mobile-ui .status-summary { padding: var(--ui-space-2); gap: var(--ui-space-2); margin-top: var(--ui-space-3); }
body.mobile-ui .status-summary .summary-tile { flex: 1 1 0; min-width: 0; min-height: 64px; padding: var(--ui-space-2) var(--ui-space-1); border-radius: var(--ui-radius-sm); }
body.mobile-ui .summary-tile strong { font-size: var(--ui-font-section); }
body.mobile-ui .summary-tile span { font-size: var(--ui-font-secondary); }
body.mobile-ui .profile-timetable-feature { min-height: 56px; padding: var(--ui-space-2) var(--ui-space-3); margin-top: var(--ui-space-3); }
body.mobile-ui .partner-exclusive-group .profile-menu { padding: var(--ui-space-2); }
body.mobile-ui .partner-exclusive-group .partner-dashboard-entry { min-height: 64px; padding: var(--ui-space-3); border-radius: var(--ui-radius-sm); box-shadow: none; }
body.mobile-ui :is(.public-profile-name h2,.detail-page>h2,.market-detail-summary h2,.group-detail-title,.compose-section h3,.service-hero h2) { font-size: var(--ui-font-section) !important; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
body.mobile-ui :is(.detail-price,.market-detail-summary .detail-price,.price-badge strong,.task-row strong,.public-profile-stats strong) { font-size: var(--ui-font-display) !important; font-weight: 600; }
body.mobile-ui :is(.detail-page,.public-profile-hero,.profile-trust-card,.profile-review,.task-box,.event-box,.md-card,.group-detail-hero,.group-detail-section,.group-lifecycle) { padding: var(--ui-space-3); }
body.mobile-ui :is(.detail-page>p,.bubble,.group-chat-bubble,.md-card p,.group-detail-description,.group-detail-intro) { font-size: var(--ui-font-body); line-height: 1.6; overflow-wrap: anywhere; }
body.mobile-ui :is(.market-media,.content-gallery,.media-grid,.market-detail-cover) { border-radius: var(--ui-radius-sm); }
body.mobile-ui .home-ref .market-media img { height: auto; aspect-ratio: 16/9; }
body.mobile-ui .price-badge { padding: var(--ui-space-2); border-radius: var(--ui-radius-sm); box-shadow: none; }
body.mobile-ui :is(.task-box,.event-box) { margin-top: var(--ui-space-3); }
body.mobile-ui .event-box .date { width: 48px; height: 48px; flex: 0 0 48px; border-radius: var(--ui-radius-sm); }
body.mobile-ui .event-box .date strong { font-size: var(--ui-font-section); }
body.mobile-ui :is(.event-copy,.task-row>span,.seller-identity-copy,.comment-body,.chat-context-copy,.group-participant-copy) { min-width: 0; }
body.mobile-ui :is(.event-copy strong,.seller-identity-copy strong,.chat-context-copy strong,.group-participant-copy strong) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mobile-ui :is(.group-chat-avatar.avatar,.comment-item .avatar,.group-card-organizer .avatar) { width: 32px; height: 32px; min-width: 32px; flex: 0 0 32px; }
body.mobile-ui .comment-body { border-radius: var(--ui-radius-sm); padding: var(--ui-space-2) var(--ui-space-3); }
body.mobile-ui :is(.chat-context,.chat-stream,.quick-replies,.chat-form) { padding-inline: var(--ui-space-3); }
body.mobile-ui :is(.chat-form input,.chat-form button,.quick-reply,.group-chat-form textarea) { border-radius: var(--ui-radius-sm); }
body.mobile-ui .holo-page-end img { animation: none; filter: none; }
body.mobile-ui .ui-message-search:focus-within { box-shadow: inset 0 0 0 1px var(--holyuni-mint); }
body.mobile-ui :is(button,a,input,select,textarea):focus-visible { outline: 2px solid var(--holyuni-forest); outline-offset: 2px; }
body.mobile-ui .ui-message-search input:focus-visible { outline: none; box-shadow: none; }

/* Group discovery retains every category, date, status and action at a compact scale. */
body.mobile-ui .group-reference-layout>.group-category-grid { gap: var(--ui-space-2); margin: 0 0 var(--ui-space-2); padding: 0; }
body.mobile-ui .group-reference-layout .group-category { width: 52px; min-width: 52px; flex-basis: 52px; min-height: 52px; border-radius: var(--ui-radius-sm); }
body.mobile-ui .group-reference-layout>.group-primary-actions { height: 40px; margin: 0 0 var(--ui-space-2); padding: var(--ui-space-1); border: 0; border-radius: var(--ui-radius-sm); }
body.mobile-ui .group-reference-layout>.group-primary-actions button { min-height: 32px !important; border-radius: var(--ui-radius-xs) !important; font-size: var(--ui-font-meta); }
body.mobile-ui .group-reference-layout .group-filter-stack { margin: 0; padding: 0; border: 0; background: transparent; }
body.mobile-ui .group-reference-layout :is(.group-date-filters,.group-status-tabs) { padding: var(--ui-space-1) 0; gap: var(--ui-space-1); }
body.mobile-ui .group-reference-layout .group-date-filter { border-radius: var(--ui-radius-sm); }
body.mobile-ui .group-reference-layout .group-status-tab { border-radius: var(--ui-radius-sm); background: transparent; }
body.mobile-ui .group-reference-layout .group-status-tab.active { background: var(--holyuni-mint-light); color: var(--holyuni-forest); }
body.mobile-ui .group-reference-layout>.group-list-head { min-height: 32px; margin: var(--ui-space-1) 0; }
body.mobile-ui .group-reference-layout .reference-group-card { padding: 0; border: 0; border-radius: var(--ui-radius-md); box-shadow: var(--ui-shadow); }
body.mobile-ui .group-reference-layout .group-card-media { aspect-ratio: 3/1; }
body.mobile-ui .group-reference-layout .group-card-more { width: 32px; height: 32px; top: var(--ui-space-2); right: var(--ui-space-2); box-shadow: none; }
body.mobile-ui .group-reference-layout .group-card-body { padding: var(--ui-space-3); }
body.mobile-ui .group-reference-layout .group-card-labels { gap: var(--ui-space-1); }
body.mobile-ui .group-reference-layout .group-card-label { height: var(--ui-chip-height); max-width: 100%; padding: var(--ui-space-1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-font-caption); font-weight: 500; border-radius: var(--ui-radius-xs); line-height: 1.2; }
body.mobile-ui .group-reference-layout .group-card-title { margin: var(--ui-space-2) 0; font-size: var(--ui-font-title); font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
body.mobile-ui .group-reference-layout .group-card-organizer>span:last-child { min-width: 0; }
body.mobile-ui .group-reference-layout .group-card-organizer :is(strong,small) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mobile-ui .group-reference-layout .group-card-facts { grid-template-columns: 56px minmax(0,1fr); margin-top: var(--ui-space-2); border: 0; border-radius: var(--ui-radius-sm); background: var(--ui-canvas); }
body.mobile-ui .group-reference-layout :is(.group-card-fact,.group-card-date) { padding: var(--ui-space-1) var(--ui-space-2); border: 0; }
body.mobile-ui .group-reference-layout .group-card-date b { font-size: var(--ui-font-section); white-space: nowrap; }
body.mobile-ui .group-reference-layout .group-card-members { flex-direction: row; align-items: center; margin-top: var(--ui-space-2); padding: var(--ui-space-1) 0; gap: var(--ui-space-2); background: transparent; font-weight: 500; }
body.mobile-ui .group-reference-layout .group-card-members>strong { font-weight: 500; text-align: right; font-size: var(--ui-font-secondary); }
body.mobile-ui .group-reference-layout .group-card-avatar-stack :is(.avatar,b) { width: 24px; height: 24px; min-width: 24px; flex: 0 0 24px; font-size: var(--ui-font-caption); }
body.mobile-ui .group-reference-layout .group-card-trust { margin-top: var(--ui-space-1); font-size: var(--ui-font-secondary); }
body.mobile-ui .group-reference-layout .group-card-actions { grid-template-columns: 40px minmax(0,1fr) minmax(0,1.2fr); gap: var(--ui-space-2); margin-top: var(--ui-space-2); }
body.mobile-ui .group-reference-layout .group-card-actions button { height: 40px; padding: 0 var(--ui-space-2); border-radius: var(--ui-radius-sm); font-size: var(--ui-font-meta); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mobile-ui .group-reference-layout .group-card-actions .group-card-share { display: block; }
body.mobile-ui .group-detail-hero { background: var(--holyuni-mint-light); }
body.mobile-ui .group-detail-hero h2 { margin-block: var(--ui-space-2); }
body.mobile-ui .group-detail-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; overflow: hidden; border-radius: var(--ui-radius-md); background: var(--ui-surface); }
body.mobile-ui .group-detail-grid>article { min-width: 0; padding: var(--ui-space-2) var(--ui-space-3); display: grid; grid-template-columns: 72px minmax(0,1fr); align-items: center; gap: var(--ui-space-2); border: 0; border-radius: 0; background: transparent; color: var(--ui-text); }
body.mobile-ui .group-detail-grid>article small { color: var(--ui-muted); }
body.mobile-ui .group-detail-grid>article strong { min-width: 0; margin: 0; font-size: var(--ui-font-body); overflow-wrap: anywhere; }
body.mobile-ui .group-detail-grid .group-detail-countdown { background: var(--ui-canvas); }
body.mobile-ui :is(.group-fee-detail,.group-participants,.group-safety) { padding: var(--ui-space-3); border-radius: var(--ui-radius-md); box-shadow: none; }
body.mobile-ui .group-lifecycle-step { padding: var(--ui-space-2); border-radius: var(--ui-radius-sm); }
body.mobile-ui .group-participant { min-height: 48px; padding: var(--ui-space-2) 0; }

/* Sheets, search and editing share the same control geometry. */
body.mobile-ui .overlay { padding: var(--ui-space-2); background: rgba(18,30,38,.4); }
body.mobile-ui .sheet { padding: var(--ui-space-4) var(--ui-space-3) calc(var(--ui-space-4) + env(safe-area-inset-bottom)); border-radius: var(--ui-radius-xl); }
body.mobile-ui .sheet-head { padding: 0; }
body.mobile-ui .sheet-content { margin-top: var(--ui-space-3); padding: 0; }
body.mobile-ui :is(.create-grid,.form-row,.compose-chips,.compose-board,.publish-board-options) { gap: var(--ui-space-2); grid-template-columns: repeat(2,minmax(0,1fr)); }
body.mobile-ui .create-tile { min-height: 88px; padding: var(--ui-space-3); border-radius: var(--ui-radius-md); }
body.mobile-ui .create-tile b { font-size: var(--ui-font-title); font-weight: 600; }
body.mobile-ui .create-tile span { font-size: var(--ui-font-secondary); }
body.mobile-ui :is(.form input,.form select,.form textarea,.compose-editor textarea,.sp-input) { min-width: 0; max-width: 100%; border-radius: var(--ui-radius-sm); font-size: 16px !important; }
body.mobile-ui :is(.form input,.form select) { min-height: 40px; padding: var(--ui-space-2) var(--ui-space-3); }
body.mobile-ui :is(.form label,.compose-section h3,.compose-draft b,.compose-declare-head b) { font-size: var(--ui-font-title) !important; font-weight: 600; }
body.mobile-ui :is(.publish-page,.compose-page) { padding-inline: var(--ui-space-3); }
body.mobile-ui .publish-page .form { padding: var(--ui-space-3); }
body.mobile-ui :is(.publish-page-context,.publish-submit-zone,.compose-draft,.compose-editor) { padding: var(--ui-space-3); }
body.mobile-ui :is(.compose-draft,.compose-declare-head) { min-height: 48px; }
body.mobile-ui .compose-editor textarea { min-height: 128px; border-radius: 0; line-height: 1.5; }
body.mobile-ui .compose-chip { min-height: 36px; padding-inline: var(--ui-space-3); gap: var(--ui-space-1); font-size: var(--ui-font-meta); border-radius: var(--ui-radius-sm); }
body.mobile-ui :is(.compose-board label,.publish-board-option span) { min-height: 44px; padding: var(--ui-space-2); border-radius: var(--ui-radius-sm); font-size: var(--ui-font-body); }
body.mobile-ui .compose-board { grid-template-columns: repeat(3,minmax(0,1fr)); }
body.mobile-ui :is(.cta,.compose-submit,.publish-submit-zone .publish-submit) { min-height: 44px; height: auto; padding: var(--ui-space-3); border-radius: var(--ui-radius-sm); box-shadow: none; font-size: var(--ui-font-title); }
body.mobile-ui :is(.sp-tag,.sp-discover-item,.keyword,.result-category) { min-width: 0; max-width: 100%; min-height: 32px; padding: var(--ui-space-2); border-radius: var(--ui-radius-sm); font-size: var(--ui-font-meta); }
body.mobile-ui :is(.sp-discover-item span,.search-result-top strong) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.mobile-ui .search-page { background: var(--ui-canvas); }
body.mobile-ui .sp-bar { gap: var(--ui-space-1); padding-inline: var(--ui-space-2); }
body.mobile-ui .sp-field { min-width: 0; height: 40px; border: 0; border-radius: var(--ui-radius-md); background: var(--ui-subtle); box-shadow: none; }
body.mobile-ui .sp-field:focus-within { box-shadow: inset 0 0 0 1px var(--holyuni-mint); }
body.mobile-ui .sp-field input { min-width: 0; font-size: 16px; outline: none; box-shadow: none; }
body.mobile-ui .sp-icon-btn { width: 40px; height: 40px; flex: 0 0 40px; }
body.mobile-ui .sp-scroll { padding: var(--ui-space-3); }
body.mobile-ui .sp-block { margin-bottom: var(--ui-space-5); }
body.mobile-ui .sp-head { min-height: 32px; margin-bottom: var(--ui-space-2); }
body.mobile-ui .sp-head strong { font-size: var(--ui-font-title); font-weight: 600; }
body.mobile-ui :is(.sp-tags,.sp-discover) { gap: var(--ui-space-2); }
body.mobile-ui .sp-discover-item { gap: var(--ui-space-2); }
body.mobile-ui .sp-voice { padding-bottom: calc(var(--ui-space-4) + env(safe-area-inset-bottom)); }
body.mobile-ui .sp-voice-mascot { width: 40px; height: 40px; }
body.mobile-ui :is(.sp-voice-glow,.sp-spark) { display: none; }
body.mobile-ui .sp-voice-copy { margin-block: var(--ui-space-2); font-size: var(--ui-font-body); font-weight: 500; }
body.mobile-ui .sp-mic { width: 44px; height: 44px; border: 0; box-shadow: var(--ui-shadow); }
body.mobile-ui :is(.nav-btn,.message-tab,.group-status-tab,.group-date-filter,.ui-conversation,.menu-row,.summary-tile) { transition: background-color .18s ease,color .18s ease; }
body.mobile-ui .ui-conversation:active { background: #eaf4f0; transform: none; }

@media (max-width:360px) {
  body.mobile-ui .message-center .ui-conversation-tags { max-width: 48%; }
  body.mobile-ui .message-center .message-copy>strong { gap: 2px; }
  body.mobile-ui .message-center .read-all { max-width: 64px; }
}
@media (min-width:700px) {
  body.mobile-ui .app { border-radius: var(--ui-radius-xl); }
  body.mobile-ui .page-layer.primary-page { padding: var(--ui-space-6) 0 0; }
  body.mobile-ui .page-layer.primary-page .page-shell { border-radius: var(--ui-radius-xl); }
}
@media (hover:hover) {
  body.mobile-ui .ui-conversation:hover { background: #f0f8f5; }
}
@media (prefers-reduced-motion:reduce) {
  body.mobile-ui *, body.mobile-ui *::before, body.mobile-ui *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Restore Style4 depth on personal profiles and content details only. */
body.mobile-ui :is(.profile,.public-profile,.detail-page,.market-detail-page,.task-detail-page,.event-detail-page,.group-detail-page) {
  --holyuni-restored-shadow: 0 4px 16px rgba(7,88,62,.06);
}
body.mobile-ui .profile { padding-inline: var(--holyuni-space-4); }
body.mobile-ui .profile .profile-card {
  padding: var(--holyuni-space-4);
  background: var(--holyuni-mint-light);
  border-radius: var(--ui-radius-lg);
  box-shadow: var(--holyuni-restored-shadow);
}
body.mobile-ui .profile .profile-top { gap: var(--holyuni-space-3); }
body.mobile-ui .profile .profile-top h2 { font-size: var(--ui-font-display) !important; color: var(--holyuni-forest); }
body.mobile-ui .profile .stats { border: 0; gap: var(--holyuni-space-2); padding-top: var(--holyuni-space-2); }
body.mobile-ui .profile .stats strong { font-size: var(--ui-font-section); color: var(--holyuni-forest); }
body.mobile-ui .profile .profile-timetable-feature { background: var(--holyuni-surface); border: 0; }
body.mobile-ui .profile .status-summary { padding: 0; gap: var(--holyuni-space-2); background: transparent; }
body.mobile-ui .profile .summary-tile { background: var(--holyuni-surface); box-shadow: var(--holyuni-restored-shadow); }
body.mobile-ui .profile .summary-tile strong { color: var(--holyuni-forest); }
body.mobile-ui .profile .profile-architecture { gap: var(--holyuni-space-4); }
body.mobile-ui .profile :is(.profile-group,.profile-wallet-block) { overflow: hidden; border-radius: var(--ui-radius-lg); box-shadow: var(--holyuni-restored-shadow); }
body.mobile-ui .profile .profile-group-head { padding: var(--holyuni-space-4) var(--holyuni-space-3) var(--holyuni-space-2); }
body.mobile-ui .profile .profile-group-head strong { color: var(--holyuni-forest); }
body.mobile-ui .profile .profile-group:not(.partner-exclusive-group) .menu-icon { background: var(--holyuni-mint-light); color: var(--holyuni-forest); }
body.mobile-ui .public-profile :is(.public-profile-hero,.profile-trust-card,.profile-review) { box-shadow: var(--holyuni-restored-shadow); }
body.mobile-ui .public-profile .public-profile-hero { background: var(--holyuni-mint-light); padding: var(--holyuni-space-4); }

/* The existing content and action sections keep their order and behaviour. */
body.mobile-ui .detail-page {
  margin: var(--holyuni-space-3);
  padding: var(--holyuni-space-4);
  background: var(--holyuni-surface);
  border-radius: var(--ui-radius-lg);
  box-shadow: var(--holyuni-restored-shadow);
}
body.mobile-ui .detail-page .detail-context { border: 0; padding-bottom: var(--holyuni-space-3); }
body.mobile-ui .detail-page .detail-context b { background: var(--holyuni-mint-light); color: var(--holyuni-forest); border: 0; }
body.mobile-ui .detail-page .detail-author-card { background: var(--holyuni-mint-light); border: 0; border-radius: var(--holyuni-radius-card); padding: var(--holyuni-space-3); }
body.mobile-ui .detail-page .detail-follow { background: var(--holyuni-surface); color: var(--holyuni-forest); }
body.mobile-ui .detail-page .detail-post-copy { margin-block: var(--holyuni-space-4); }
body.mobile-ui .detail-page .detail-post-copy p { font-weight: 500; line-height: 1.65; }
body.mobile-ui .detail-page .content-gallery { gap: var(--holyuni-space-2); border-radius: var(--holyuni-radius-card); }
body.mobile-ui .detail-page .detail-engagement { border-top: 0; margin-top: var(--holyuni-space-4); padding-top: 0; }
body.mobile-ui .detail-page .detail-action-btn { border: 0; border-radius: var(--holyuni-radius-control); }
body.mobile-ui .detail-page .detail-action-btn.saved { background: var(--holyuni-mint-light); color: var(--holyuni-forest); }
body.mobile-ui .detail-page .detail-comment-content { background: var(--holyuni-canvas); border: 0; }
body.mobile-ui .detail-page .detail-composer { background: var(--holyuni-mint-light); border-radius: var(--holyuni-radius-card); }
body.mobile-ui .detail-page .detail-composer > button { background: var(--holyuni-forest); color: var(--holyuni-surface); }
body.mobile-ui .detail-page :is(.md-card,.event-info-card,.task-detail-core) { box-shadow: var(--holyuni-restored-shadow); border: 0; }
body.mobile-ui :is(.market-detail-page,.detail-page) .market-detail-summary { background: var(--holyuni-surface); border-radius: var(--ui-radius-lg); padding: var(--holyuni-space-4); }
body.mobile-ui .detail-page :is(.task-box,.event-box) { background: var(--holyuni-mint-light); border: 0; }
body.mobile-ui .detail-page .event-box .date { background: var(--holyuni-mint); color: var(--holyuni-surface); }
body.mobile-ui .group-detail-page :is(.group-detail-hero,.group-detail-grid,.group-participants,.group-detail-section) { box-shadow: var(--holyuni-restored-shadow); }
body.mobile-ui .group-detail-page .group-detail-hero { padding: var(--holyuni-space-4); border-radius: var(--ui-radius-lg); }
@media (hover:hover) {
  body.mobile-ui .profile :is(.summary-tile,.profile-group .menu-row):hover { background: var(--holyuni-mint-light); }
  body.mobile-ui .detail-page .detail-follow:hover { background: var(--holyuni-surface); box-shadow: var(--holyuni-focus-ring); }
}
@media (max-width:340px) {
  body.mobile-ui .profile { padding-inline: var(--holyuni-space-3); }
  body.mobile-ui .detail-page { margin: var(--holyuni-space-2); padding: var(--holyuni-space-3); }
}

/* Retain content spacing while restoring the original typography. */
body.mobile-ui .group-reference-layout .group-discovery-intro span {
  margin-top: 8px;
}
body.mobile-ui .page-layer .group-reference-layout .group-card-title {
  margin-block: 12px;
}
body.mobile-ui .group-reference-layout .group-card-body { padding: 16px; }body.mobile-ui .profile .profile-top h2 { margin-bottom: 8px; }body.mobile-ui .message-center .ui-conversation-preview {
  margin-top: 4px;
}

/* Profile portrait matches the full name / campus / role information block. */
body.mobile-ui .profile .profile-top > .avatar {
  width: 90px;
  height: 90px;
  min-width: 90px;
  flex: 0 0 90px;
  align-self: center;
}
