:root {
  --bg: #FAF6F0;
  --surface: #FFFFFF;
  --surface-soft: #F3EDE2;
  --primary: #1B5E57;
  --primary-dark: #134640;
  --primary-light: #E6F2F0;
  --accent: #C86D51;
  --accent-light: #FBECE7;
  --gold: #D49B35;
  --gold-light: #FDF6E4;
  --text: #1E2423;
  --text-muted: #5C6664;
  --border: #E4DDD0;
  --success: #23784B;
  --success-bg: #E7F5EE;
  --radius-lg: 18px;
  --radius-md: 12px;
  --radius-sm: 8px;
  --shadow: 0 4px 18px rgba(27, 94, 87, 0.07);
  --font-en: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-fa: "Vazirmatn", "IRANSans", "Segoe UI", Tahoma, "Geeza Pro", sans-serif;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

body {
  margin: 0;
  padding: 0 0 92px;
  background-color: var(--bg);
  color: var(--text);
  font-family: var(--font-en);
  line-height: 1.5;
}

body[dir="rtl"] { font-family: var(--font-fa); }

.app-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(250, 246, 240, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  padding: 10px 16px;
}

.header-inner {
  max-width: 780px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

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

.brand-avatar {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  object-fit: cover;
  border: 2px solid var(--primary);
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.brand-title { font-weight: 800; font-size: 1.05rem; color: var(--primary-dark); line-height: 1.2; margin: 0; }
.brand-sub { font-size: 0.75rem; color: var(--text-muted); margin: 0; display: flex; align-items: center; gap: 6px; }

.sync-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; background: var(--gold); }
.sync-dot.live { background: var(--success); box-shadow: 0 0 0 3px rgba(35, 120, 75, 0.18); }

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

.profile-pill {
  display: inline-flex;
  background: var(--surface-soft);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 2px;
}

.profile-btn {
  border: none;
  background: transparent;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text-muted);
  cursor: pointer;
}

.profile-btn.active {
  background: var(--surface);
  color: var(--primary-dark);
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.lang-toggle-btn {
  border: 1.5px solid var(--primary);
  background: var(--primary);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 0.82rem;
  padding: 6px 13px;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-fa);
}

.card-lang-btn {
  border: 1px solid var(--primary);
  background: var(--primary-light);
  color: var(--primary-dark);
  font-weight: 700;
  font-size: 0.78rem;
  padding: 4px 11px;
  border-radius: 999px;
  cursor: pointer;
  font-family: var(--font-fa);
  white-space: nowrap;
}

.card-lang-btn:hover, .card-lang-btn.active-fa { background: var(--primary); color: #FFFFFF; }

.container { max-width: 780px; margin: 0 auto; padding: 14px 16px 32px; }

.install-bar {
  background: linear-gradient(135deg, #1B5E57 0%, #24756C 100%);
  color: #FFFFFF;
  border-radius: var(--radius-md);
  padding: 12px 14px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  box-shadow: var(--shadow);
}

.install-bar-text { font-size: 0.84rem; line-height: 1.35; }
.install-bar-text strong { display: block; font-size: 0.92rem; margin-bottom: 2px; }
.install-bar-actions { display: flex; gap: 8px; flex-wrap: wrap; }

.btn-light {
  background: #FFFFFF;
  color: var(--primary-dark);
  border: none;
  border-radius: 999px;
  padding: 6px 13px;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
}

.btn-outline-light {
  background: rgba(255,255,255,0.14);
  color: #FFFFFF;
  border: 1px solid rgba(255,255,255,0.4);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
}

.panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: var(--shadow);
}

.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.panel-title { font-size: 1.02rem; font-weight: 800; margin: 0; color: var(--primary-dark); }
.drop-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; width: 100%; max-width: 100%; min-width: 0; }

.input-textarea {
  width: 100%;
  min-height: 74px;
  padding: 11px 13px;
  border-radius: var(--radius-md);
  border: 1.5px solid var(--border);
  background: var(--bg);
  font-family: inherit;
  font-size: 0.92rem;
  color: var(--text);
  resize: vertical;
}

.row-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; width: 100%; max-width: 100%; min-width: 0; }
@media (max-width: 520px) { .row-2 { grid-template-columns: 1fr; } }

.input-select, .input-text {
  width: 100%;
  padding: 9px 12px;
  border-radius: var(--radius-sm);
  border: 1.5px solid var(--border);
  background: var(--bg);
  font-family: inherit;
  font-size: 0.86rem;
  color: var(--text);
}

.camera-upload-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: var(--radius-sm);
  border: 1.5px dashed var(--primary);
  background: var(--primary-light);
  color: var(--primary-dark);
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
}

.photo-preview-wrap {
  display: none;
  align-items: center;
  gap: 10px;
  background: var(--surface-soft);
  padding: 8px 12px;
  border-radius: var(--radius-sm);
}

.photo-preview-wrap.visible { display: flex; }
.photo-preview-img { width: 54px; height: 54px; border-radius: 8px; object-fit: cover; border: 1px solid var(--border); }

.preset-chips { display: flex; flex-wrap: wrap; gap: 6px; width: 100%; max-width: 100%; min-width: 0; padding-bottom: 4px; }
.preset-chip {
  border: 1px solid var(--border);
  background: var(--surface-soft);
  color: var(--text);
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: normal;
  text-align: start;
  max-width: 100%;
  cursor: pointer;
}

.btn-primary {
  background: var(--primary);
  color: #FFFFFF;
  border: none;
  border-radius: var(--radius-md);
  padding: 12px 18px;
  font-size: 0.94rem;
  font-weight: 700;
  cursor: pointer;
  width: 100%;
}

.cards-list { display: grid; grid-template-columns: 1fr; gap: 14px; }

.item-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow);
}

.item-card[dir="rtl"] { font-family: var(--font-fa); text-align: right; }
.item-card[dir="ltr"] { font-family: var(--font-en); text-align: left; }

.card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.card-badges { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.badge { font-size: 0.72rem; font-weight: 700; padding: 3px 9px; border-radius: 999px; display: inline-flex; align-items: center; }
.badge-cat { background: var(--primary-light); color: var(--primary-dark); }
.badge-status-accent { background: var(--accent-light); color: #9E472D; }
.badge-status-success { background: var(--success-bg); color: var(--success); }
.badge-status-warning { background: var(--gold-light); color: #8F6210; }
.badge-status-neutral { background: var(--surface-soft); color: var(--text-muted); }

.card-title { font-size: 1.06rem; font-weight: 800; margin: 4px 0; color: var(--text); }
.card-subtitle { font-size: 0.85rem; font-weight: 600; color: var(--primary); margin: 0 0 8px; }
.card-details {
  font-size: 0.88rem;
  color: var(--text-muted);
  margin: 0 0 12px;
  line-height: 1.55;
  background: var(--bg);
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  border-inline-start: 3px solid var(--primary);
}

.swatch-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.swatch-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 11px;
  border-radius: 10px;
  background: var(--surface-soft);
  border: 1px solid var(--border);
  font-size: 0.8rem;
  font-weight: 600;
}
.swatch-dot { width: 20px; height: 20px; border-radius: 6px; border: 1px solid rgba(0,0,0,0.15); }

.card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 10px;
  border-top: 1px solid var(--surface-soft);
  font-size: 0.76rem;
  color: var(--text-muted);
}

.card-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

.action-link, .action-btn {
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 5px 11px;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: var(--surface-soft);
  color: var(--primary-dark);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.action-btn.share-mb { background: var(--accent-light); color: #9E472D; border-color: #F0CABB; }

.drive-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
.drive-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  text-decoration: none;
  color: var(--text);
  font-weight: 700;
  font-size: 0.86rem;
}

.bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 60;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--border);
  padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
}

.bottom-nav-inner { max-width: 780px; margin: 0 auto; display: flex; align-items: stretch; justify-content: space-between; gap: 6px; width: 100%; }

.nav-tab {
  border: none;
  background: transparent;
  padding: 6px 4px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  color: var(--text-muted);
  font-size: 0.68rem;
  font-weight: 700;
  cursor: pointer;
}

.nav-tab .nav-icon { font-size: 1.15rem; line-height: 1; }
.nav-tab.active { color: var(--primary-dark); background: var(--primary-light); }

.toast {
  position: fixed;
  bottom: 84px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  background: #1E2423;
  color: #FFFFFF;
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 600;
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s ease;
  z-index: 100;
}

.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  z-index: 120;
}

.modal-backdrop.open { display: flex; }
.modal-card {
  background: var(--surface);
  border-radius: var(--radius-lg);
  max-width: 440px;
  width: 100%;
  padding: 20px;
}

/* In-App Update Notification Banner */
.update-banner {
  display: none;
  background: linear-gradient(135deg, #FFF8EB 0%, #FCEBD2 100%);
  border: 2px solid #E5A93C;
  border-radius: var(--radius-md);
  padding: 12px 14px;
  margin-bottom: 14px;
  box-shadow: 0 8px 24px rgba(183, 121, 31, 0.16);
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  animation: slideDownUpdate 0.25s ease-out;
}
.update-banner.visible {
  display: flex;
}
@keyframes slideDownUpdate {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}
.update-banner-content {
  flex: 1;
  min-width: 210px;
}
.update-banner-title {
  font-weight: 800;
  font-size: 0.9rem;
  color: #6B420F;
  margin: 0 0 3px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.update-banner-notes {
  font-size: 0.8rem;
  color: #825418;
  margin: 0;
  line-height: 1.45;
}
.update-banner-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.btn-update-now {
  background: var(--primary);
  color: #FFFFFF;
  border: none;
  padding: 8px 14px;
  border-radius: 10px;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(27, 94, 87, 0.25);
  white-space: nowrap;
}
.btn-update-now:hover {
  background: var(--primary-dark);
}
.btn-update-dismiss {
  background: rgba(107, 66, 15, 0.1);
  color: #6B420F;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.version-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--primary-light);
  color: var(--primary-dark);
  font-size: 0.68rem;
  font-weight: 800;
  cursor: pointer;
  border: 1px solid rgba(27, 94, 87, 0.2);
}

.item-card.shared-highlight {
  border: 2px solid var(--primary);
  box-shadow: 0 0 0 4px rgba(27, 94, 87, 0.14), var(--shadow-md);
}
.share-shortcut-box {
  background: var(--primary-light);
  border: 1px dashed var(--primary);
  border-radius: var(--radius-md);
  padding: 10px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.code-pill {
  display: block;
  background: #1E2423;
  color: #E8F5F3;
  padding: 8px 10px;
  border-radius: 8px;
  font-family: monospace;
  font-size: 0.75rem;
  word-break: break-all;
  margin: 6px 0;
  direction: ltr;
  text-align: left;
}

/* WhatsApp-Style First-Time Login Overlay */
.auth-overlay {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: linear-gradient(155deg, #12423D 0%, #1B5E57 50%, #244B47 100%);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  overflow-y: auto;
}
.auth-overlay.open {
  display: flex;
}
.auth-card {
  background: var(--surface);
  color: var(--text);
  width: 100%;
  max-width: 440px;
  border-radius: 22px;
  padding: 22px 20px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.auth-member-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(115px, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}
.auth-member-card {
  border: 2px solid var(--border);
  background: var(--surface-soft);
  border-radius: 12px;
  padding: 10px 8px;
  text-align: center;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}
.auth-member-card.selected {
  border-color: var(--primary);
  background: var(--primary-light);
  box-shadow: 0 0 0 3px rgba(27, 94, 87, 0.15);
}
.auth-member-emoji {
  font-size: 1.55rem;
  line-height: 1.1;
}
.auth-member-name {
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--text);
}
.auth-member-fa {
  font-size: 0.75rem;
  color: var(--text-muted);
  font-family: var(--font-fa);
}
.family-member-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--bg);
  border: 1px solid var(--border);
  margin-bottom: 8px;
}
.family-member-row.active-member {
  border-color: var(--primary);
  background: var(--primary-light);
}

/* Monogram Initial Badges & 3-Level Permission Styles */
.monogram-badge {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1B5E57 0%, #12423D 100%);
  color: #FAF6F0;
  font-weight: 800;
  font-size: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #E5A93C;
  flex-shrink: 0;
  overflow: hidden;
}
.monogram-badge.sm {
  width: 22px;
  height: 22px;
  font-size: 0.68rem;
  border-width: 1.5px;
}
.monogram-badge img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.role-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 999px;
}
.role-pill.admin {
  background: #FEF3C7;
  color: #92400E;
  border: 1px solid #F59E0B;
}
.role-pill.full {
  background: #E3F2EF;
  color: #12423D;
  border: 1px solid #1B5E57;
}
.role-pill.guest {
  background: #FCEBD2;
  color: #9E472D;
  border: 1px solid #D97757;
}
.guest-checklist-box {
  background: #FFFDF9;
  border: 1px dashed var(--primary);
  border-radius: 10px;
  padding: 10px 12px;
  margin-top: 8px;
}
.guest-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
  gap: 6px;
  margin-top: 6px;
}
.guest-check-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.78rem;
  color: var(--text);
  cursor: pointer;
  padding: 4px 6px;
  border-radius: 6px;
  background: var(--surface-soft);
}
.guest-check-item input[type="checkbox"] {
  width: 15px;
  height: 15px;
  accent-color: var(--primary);
}
.avatar-choice-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.avatar-choice-pill {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 8px;
  padding: 4px 9px;
  font-size: 0.76rem;
  font-weight: 700;
  cursor: pointer;
}
.avatar-choice-pill.selected {
  border-color: var(--primary);
  background: var(--primary-light);
  color: var(--primary-dark);
}

/* v1.6.1 Mobile Viewport & Grid/Flex Overflow Fix (iOS Safari LTR + RTL) */
html, body {
  max-width: 100%;
  width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

*, *::before, *::after {
  box-sizing: border-box;
}

.app-header,
.header-inner,
.container,
.tab-section,
.panel,
.drop-grid,
.cards-list,
.item-card,
.install-bar,
.update-banner,
.share-shortcut-box {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.panel {
  overflow: hidden;
}

.panel-header {
  flex-wrap: wrap;
  min-width: 0;
}

.brand {
  min-width: 0;
  max-width: 100%;
}

.brand-sub {
  flex-wrap: wrap;
}

.header-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  max-width: 100%;
  min-width: 0;
}

.profile-pill {
  display: inline-flex;
  flex-wrap: wrap;
  max-width: 100%;
  min-width: 0;
}

.drop-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.drop-grid > * {
  min-width: 0;
  max-width: 100%;
}

.row-2 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.row-2 > * {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 560px) {
  .row-2 {
    grid-template-columns: minmax(0, 1fr);
  }
}

.input-textarea,
.input-select,
.input-text,
.camera-upload-label,
.btn-primary {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.camera-upload-label {
  text-align: center;
  flex-wrap: wrap;
  word-break: break-word;
}

.preset-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: visible;
  padding-bottom: 2px;
}

.preset-chip {
  max-width: 100%;
  white-space: normal;
  text-align: start;
  line-height: 1.3;
  word-break: break-word;
}

.share-shortcut-box {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.share-shortcut-box > * {
  min-width: 0;
  max-width: 100%;
}

.share-shortcut-box .action-btn {
  max-width: 100%;
  white-space: normal;
  text-align: center;
  line-height: 1.3;
}

.bottom-nav-inner {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
  max-width: 780px;
}

.nav-tab {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* v1.7.0 On-Device AI Receipt & Photo Reader, Suggestion Box & 1-Tap Move/Edit Drawer */
.ai-progress-box {
  display: none;
  background: linear-gradient(135deg, #E3F2EF 0%, #FFF8E7 100%);
  border: 1.5px solid var(--primary);
  border-radius: 12px;
  padding: 11px 13px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.ai-progress-box.visible {
  display: block;
}
.ai-progress-bar-track {
  width: 100%;
  height: 7px;
  background: rgba(27, 94, 87, 0.14);
  border-radius: 999px;
  overflow: hidden;
  margin-top: 7px;
}
.ai-progress-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--primary) 0%, #E5A93C 100%);
  width: 18%;
  transition: width 0.25s ease;
  border-radius: 999px;
}

.ai-suggestion-box {
  display: none;
  background: linear-gradient(145deg, #F3FAF8 0%, #FFFDF7 100%);
  border: 2px solid var(--primary);
  border-radius: 14px;
  padding: 13px;
  box-shadow: 0 6px 18px rgba(27, 94, 87, 0.12);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.ai-suggestion-box.visible {
  display: block;
}
.ai-suggestion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.ai-pick-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #1B5E57;
  color: #FAF6F0;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 999px;
}
.ai-detected-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 7px 0 10px;
}
.ai-fact-chip {
  background: #fff;
  border: 1px solid rgba(27, 94, 87, 0.25);
  color: var(--primary-dark);
  border-radius: 8px;
  padding: 3px 8px;
  font-size: 0.75rem;
  font-weight: 700;
}
.ai-cat-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  width: 100%;
  min-width: 0;
}
.ai-cat-pill {
  border: 1.5px solid var(--border);
  background: #fff;
  color: var(--text);
  border-radius: 999px;
  padding: 6px 11px;
  font-size: 0.77rem;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.15s ease;
  max-width: 100%;
  white-space: normal;
  text-align: start;
}
.ai-cat-pill.selected {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
  box-shadow: 0 3px 9px rgba(27, 94, 87, 0.24);
}
.ai-cat-pill .ai-rec-tag {
  background: #E5A93C;
  color: #1E2423;
  font-size: 0.65rem;
  font-weight: 900;
  padding: 1px 6px;
  border-radius: 999px;
}
.ai-ocr-preview {
  background: #fff;
  border: 1px dashed var(--border);
  border-radius: 8px;
  padding: 7px 9px;
  font-size: 0.74rem;
  color: var(--text-muted);
  max-height: 95px;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-word;
  margin-top: 7px;
}

.card-move-drawer {
  display: none;
  margin-top: 10px;
  padding: 11px 12px;
  border-radius: 11px;
  background: var(--primary-light);
  border: 1.5px dashed var(--primary);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.card-move-drawer.open {
  display: block;
}

/* v1.8.0 Auto-Saved Receipt Photo Card Container & Full-Screen Zoom Lightbox */
.ai-autosave-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  background: #DCFCE7;
  border: 1.5px solid #16A34A;
  color: #14532D;
  padding: 9px 11px;
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 800;
  margin-bottom: 9px;
}

.card-saved-photo-box {
  margin: 8px 0 11px;
  background: var(--surface-soft);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 9px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.card-saved-photo-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 7px;
  font-size: 0.74rem;
  font-weight: 800;
  color: var(--primary-dark);
}
.card-saved-photo-img {
  display: block;
  width: 100%;
  max-height: 190px;
  object-fit: contain;
  background: #fff;
  border-radius: 9px;
  border: 1px solid var(--border);
  cursor: zoom-in;
}

.lightbox-backdrop {
  position: fixed;
  inset: 0;
  z-index: 260;
  background: rgba(15, 23, 22, 0.88);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 14px;
  overflow-y: auto;
}
.lightbox-backdrop.open {
  display: flex;
}
.lightbox-card {
  background: var(--surface);
  color: var(--text);
  width: 100%;
  max-width: 680px;
  max-height: 92vh;
  border-radius: 18px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
}
.lightbox-img-wrap {
  flex: 1;
  min-height: 220px;
  max-height: 72vh;
  overflow: auto;
  background: #141918;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.lightbox-img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  object-fit: contain;
}

/* v1.9.0 Global Search Bar, Yes/No Allocation Confirmation, Structured Key-Info Box, Auto-Hide Folder Accordions & Document Scanner Auto-Crop */
.global-search-wrap {
  background: var(--surface);
  border: 2px solid var(--primary);
  border-radius: 14px;
  padding: 9px 12px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 14px rgba(27, 94, 87, 0.1);
  width: 100%;
  box-sizing: border-box;
}
.global-search-icon {
  font-size: 1.1rem;
  flex-shrink: 0;
}
.global-search-input {
  border: none;
  background: transparent;
  outline: none;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--text);
  font-family: inherit;
}
.global-search-input::placeholder {
  color: var(--text-muted);
  font-weight: 600;
}
.global-search-clear {
  border: 1px solid var(--border);
  background: var(--surface-soft);
  color: var(--text-muted);
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 0.74rem;
  font-weight: 800;
  cursor: pointer;
  flex-shrink: 0;
  display: none;
}
.global-search-clear.visible {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.ai-yesno-box {
  background: #FFFFFF;
  border: 2px solid var(--primary);
  border-radius: 12px;
  padding: 12px;
  margin: 8px 0 10px;
  box-shadow: 0 4px 12px rgba(27, 94, 87, 0.1);
}
.ai-yesno-question {
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--primary-dark);
  margin-bottom: 9px;
  line-height: 1.4;
}
.ai-yesno-btns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
}
@media (max-width: 480px) {
  .ai-yesno-btns {
    grid-template-columns: minmax(0, 1fr);
  }
}
.btn-ai-yes {
  background: #16A34A;
  color: #FFFFFF;
  border: 2px solid #15803D;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 0.85rem;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-shadow: 0 4px 10px rgba(22, 163, 74, 0.25);
  transition: transform 0.12s ease;
}
.btn-ai-yes:active {
  transform: scale(0.98);
}
.btn-ai-no {
  background: #FFF7ED;
  color: #9A3412;
  border: 2px solid #F97316;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 0.83rem;
  font-weight: 800;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.ai-uncertain-banner {
  background: #FEF3C7;
  border: 1.5px solid #D97706;
  color: #78350F;
  border-radius: 11px;
  padding: 10px 12px;
  font-size: 0.82rem;
  font-weight: 800;
  margin-bottom: 10px;
  line-height: 1.45;
}

.ai-key-summary-editor {
  background: #FFFFFF;
  border: 1.5px solid rgba(27, 94, 87, 0.28);
  border-radius: 11px;
  padding: 10px 11px;
  margin: 8px 0;
}
.ai-key-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 6px;
}
@media (max-width: 520px) {
  .ai-key-summary-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.ai-key-field {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ai-key-field label {
  font-size: 0.71rem;
  font-weight: 800;
  color: var(--text-muted);
}
.ai-key-field input,
.ai-key-field select {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 6px 8px;
  font-size: 0.8rem;
  font-weight: 700;
  font-family: inherit;
  color: var(--text);
  background: var(--surface-soft);
}

/* Clean Key-Info Summary Box Under the Photo on Cards */
.card-key-info-box {
  background: linear-gradient(135deg, #F3FAF8 0%, #FFFDF9 100%);
  border: 1.5px solid rgba(27, 94, 87, 0.3);
  border-radius: 10px;
  padding: 9px 11px;
  margin-top: 8px;
  margin-bottom: 6px;
}
.card-key-info-title {
  font-size: 0.73rem;
  font-weight: 900;
  color: var(--primary-dark);
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: wrap;
}
.card-key-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 10px;
}
@media (max-width: 440px) {
  .card-key-info-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.card-key-info-cell {
  background: #FFFFFF;
  border: 1px solid rgba(27, 94, 87, 0.16);
  border-radius: 8px;
  padding: 5px 8px;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.card-key-info-lbl {
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--text-muted);
}
.card-key-info-val {
  font-size: 0.8rem;
  font-weight: 900;
  color: var(--text);
  word-break: break-word;
}

/* Auto-Hide Collapsible Folder Accordions with Fun Icons */
.folders-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin: 14px 0 10px;
}
.folders-accordion-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.folder-accordion {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.folder-accordion.open {
  border-color: var(--primary);
  box-shadow: 0 6px 18px rgba(27, 94, 87, 0.11);
}
.folder-accordion-header {
  width: 100%;
  background: var(--surface);
  border: none;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  text-align: start;
  font-family: inherit;
  transition: background 0.15s ease;
}
.folder-accordion.open .folder-accordion-header {
  background: linear-gradient(135deg, #EBF6F4 0%, #FFFDF7 100%);
  border-bottom: 1px solid var(--border);
}
.folder-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.folder-fun-icon {
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: var(--primary-light);
  border: 1px solid rgba(27, 94, 87, 0.2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  flex-shrink: 0;
}
.folder-title-wrap {
  min-width: 0;
}
.folder-title-main {
  font-size: 0.93rem;
  font-weight: 900;
  color: var(--text);
  display: block;
  line-height: 1.25;
}
.folder-title-sub {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-muted);
  display: block;
  margin-top: 2px;
}
.folder-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.folder-count-badge {
  background: var(--primary);
  color: #fff;
  font-size: 0.73rem;
  font-weight: 900;
  padding: 3px 9px;
  border-radius: 999px;
}
.folder-count-badge.empty {
  background: var(--surface-soft);
  color: var(--text-muted);
  border: 1px solid var(--border);
}
.folder-chevron {
  font-size: 0.82rem;
  font-weight: 900;
  color: var(--primary-dark);
  background: var(--surface-soft);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 4px 8px;
}
.folder-accordion-body {
  display: none;
  padding: 12px;
  background: var(--bg);
}
.folder-accordion.open .folder-accordion-body {
  display: block;
}

/* Document Scanner & Crop Mode Pills */
.photo-scanner-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--border);
}
.scanner-mode-btn {
  border: 1.5px solid var(--border);
  background: #FFFFFF;
  color: var(--text);
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 0.74rem;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.scanner-mode-btn.active {
  background: var(--primary);
  color: #FFFFFF;
  border-color: var(--primary);
}

.crop-stage-wrap {
  position: relative;
  background: #141918;
  border-radius: 12px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-height: 52vh;
  overflow: hidden;
}
.crop-stage-canvas {
  max-width: 100%;
  max-height: 48vh;
  border-radius: 6px;
  object-fit: contain;
}
.crop-sliders-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 12px;
  background: var(--surface-soft);
  padding: 10px;
  border-radius: 10px;
  border: 1px solid var(--border);
}
.crop-slider-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 0.73rem;
  font-weight: 800;
  color: var(--primary-dark);
}
.crop-slider-item input[type="range"] {
  width: 100%;
  accent-color: var(--primary);
}

.icon-picker-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.icon-picker-btn {
  border: 1.5px solid var(--border);
  background: #fff;
  border-radius: 10px;
  padding: 6px 9px;
  font-size: 1.15rem;
  cursor: pointer;
}
.icon-picker-btn.selected {
  border-color: var(--primary);
  background: var(--primary-light);
  box-shadow: 0 0 0 2px rgba(27, 94, 87, 0.2);
}

/* --- v2.0.0 UPGRADES: ORIGINAL vs EDITED PHOTO STRIP, MULTI-PART CAROUSEL, UNDER-CARD CONTROLS, LOCATION & SHARE WITH PROFILE/OTHER --- */
.photo-version-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: wrap;
  background: linear-gradient(135deg, #F0FAF8 0%, #FFFDF8 100%);
  border: 1.5px solid rgba(27, 94, 87, 0.25);
  border-radius: 10px;
  padding: 7px 10px;
  margin-top: 6px;
  margin-bottom: 6px;
  font-size: 0.75rem;
}
.photo-version-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 800;
  color: var(--primary-dark);
}
.photo-version-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.btn-revert-original {
  background: #FFF7ED;
  border: 1.5px solid #EA580C;
  color: #9A3412;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.73rem;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.btn-use-edited {
  background: #ECFDF5;
  border: 1.5px solid #059669;
  color: #065F46;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.73rem;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Multi-Part Scrollable Photo / Document Carousel */
.multi-photo-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 6px 0;
  width: 100%;
}
.multi-photo-parts-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: wrap;
  background: var(--surface-soft);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 6px 9px;
}
.part-pills-scroll {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  max-width: 100%;
  padding-bottom: 2px;
  scrollbar-width: thin;
}
.part-pill-btn {
  border: 1.5px solid var(--border);
  background: #fff;
  color: var(--text);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.73rem;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.part-pill-btn.active {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.multi-photo-carousel {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 10px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  padding-bottom: 4px;
}
.multi-photo-slide {
  flex: 0 0 100%;
  scroll-snap-align: center;
  min-width: 0;
  box-sizing: border-box;
}
.card-img-wrap {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  border: 1.5px solid var(--border);
  background: #f8fafc;
  cursor: pointer;
}
.card-img-part-tag {
  position: absolute;
  top: 8px;
  left: 8px;
  background: rgba(20, 25, 24, 0.8);
  color: #fff;
  font-size: 0.71rem;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}
.card-img-zoom-pill {
  position: absolute;
  bottom: 8px;
  right: 8px;
  background: rgba(27, 94, 87, 0.9);
  color: #fff;
  font-size: 0.71rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 999px;
}

/* Under-Item Control Strip (Always Visible Under Every Card: Folder Switcher, Copy, Add Related Photo/Info, Location, Edit) */
.under-item-control-strip {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--surface-soft);
  border: 1.5px solid var(--border);
  border-radius: 12px;
  padding: 9px 11px;
  margin-top: 8px;
}
.under-item-folder-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.under-item-folder-lbl {
  font-size: 0.75rem;
  font-weight: 900;
  color: var(--primary-dark);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.under-card-folder-select {
  flex: 1;
  min-width: 175px;
  max-width: 100%;
  border: 1.5px solid var(--primary);
  background: #fff;
  color: var(--primary-dark);
  border-radius: 9px;
  padding: 6px 10px;
  font-size: 0.78rem;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
}
.under-item-tools-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

/* Location Bar & Related Documents / Notes Under Card */
.card-location-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  background: #EFF6FF;
  border: 1.5px solid #93C5FD;
  border-radius: 10px;
  padding: 7px 10px;
  margin-top: 6px;
  font-size: 0.77rem;
  color: #1E3A8A;
}
.card-related-docs-box {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: #FFFBEB;
  border: 1.5px solid #FCD34D;
  border-radius: 10px;
  padding: 8px 10px;
  margin-top: 6px;
  font-size: 0.76rem;
}
.related-doc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  background: #fff;
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 8px;
  padding: 5px 8px;
}

/* Scrollable Share With Family Profile + Other Strip & Modal */
.card-share-strip {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  padding: 6px 2px 2px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}
.share-strip-lbl {
  font-size: 0.73rem;
  font-weight: 900;
  color: var(--primary-dark);
  white-space: nowrap;
}
.share-recipient-chip {
  border: 1.5px solid rgba(27, 94, 87, 0.35);
  background: #fff;
  color: var(--primary-dark);
  border-radius: 999px;
  padding: 5px 11px;
  font-size: 0.75rem;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.15s ease;
}
.share-recipient-chip.mb-primary {
  background: linear-gradient(135deg, #FDF2F8 0%, #FCE7F3 100%);
  border-color: #DB2777;
  color: #9D174D;
}
.share-recipient-chip.other-chip {
  background: #EFF6FF;
  border-color: #3B82F6;
  color: #1D4ED8;
}
.share-modal-members-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 2px 8px;
  -webkit-overflow-scrolling: touch;
}
.share-modal-member-card {
  flex: 0 0 auto;
  min-width: 118px;
  border: 2px solid var(--border);
  background: #fff;
  border-radius: 12px;
  padding: 8px 10px;
  text-align: center;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.share-modal-member-card.selected {
  border-color: var(--primary);
  background: var(--primary-light);
  box-shadow: 0 4px 12px rgba(27, 94, 87, 0.18);
}

/* ==========================================================================
   v3.0.0: SPACE SWITCHER (MY ROOM VS FAMILY), AI PROVIDER BAR, WEB LOOKUP,
   VOICE DICTATION, ONE-BY-ONE [YES]/[NO] CARDS, WINDOWS/IPHONE FOLDER GRID,
   AND UNIVERSAL IPHONE CONTACT-STYLE ITEM DETAIL VIEW
   ========================================================================== */

.hdr-mini-pill {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  font-size: 0.75rem !important;
  padding: 5px 10px !important;
  font-weight: 700 !important;
}
.hdr-mini-pill:hover {
  background: rgba(255, 255, 255, 0.25) !important;
}
.hdr-user-pill {
  background: #fff !important;
  color: var(--primary-dark) !important;
  border: 1.5px solid #fff !important;
  font-weight: 800 !important;
  font-size: 0.78rem !important;
  padding: 5px 11px !important;
}

/* TOP SPACE SWITCHER BAR */
.space-switcher-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 16px;
  padding: 8px 12px;
  margin-bottom: 12px;
  box-shadow: var(--shadow-sm);
}
.space-switcher-tabs {
  display: inline-flex;
  background: var(--bg);
  padding: 4px;
  border-radius: 12px;
  border: 1px solid var(--border);
  gap: 4px;
}
.space-tab-btn {
  border: none;
  background: transparent;
  color: var(--text-muted);
  font-weight: 800;
  font-size: 0.84rem;
  padding: 7px 14px;
  border-radius: 9px;
  cursor: pointer;
  transition: all 0.18s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.space-tab-btn.active {
  background: var(--primary);
  color: #fff;
  box-shadow: 0 3px 10px rgba(27, 94, 87, 0.24);
}
.space-tab-btn#space-btn-my-room.active {
  background: linear-gradient(135deg, #4F46E5 0%, #3730A3 100%);
  color: #fff;
}
.space-privacy-pill {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--primary-dark);
  background: var(--primary-light);
  padding: 5px 11px;
  border-radius: 999px;
}
.space-privacy-pill.private-room {
  background: #EEF2FF;
  color: #3730A3;
  border: 1px solid #C7D2FE;
}

/* AI PROVIDER SELECTOR BAR */
.ai-provider-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  background: var(--surface-soft);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 7px 10px;
  margin-bottom: 10px;
}
.ai-provider-label {
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--primary-dark);
}
.ai-provider-pills {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.ai-provider-pill {
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text);
  font-size: 0.74rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.ai-provider-pill.active {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.ai-external-btn {
  border: 1px dashed var(--primary);
  background: #fff;
  color: var(--primary-dark);
  font-size: 0.72rem;
  font-weight: 800;
  padding: 4px 9px;
  border-radius: 999px;
  cursor: pointer;
}
.ai-external-btn:hover {
  background: var(--primary-light);
}

/* BUILT-IN GOOGLE WEB & MAPS LOOKUP BAR */
.web-lookup-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  background: linear-gradient(135deg, #F0FDF9 0%, #EFF6FF 100%);
  border: 1.5px solid rgba(27, 94, 87, 0.25);
  border-radius: 12px;
  padding: 8px 10px;
  margin-bottom: 10px;
}
.web-lookup-input-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 220px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 4px 8px;
}
.web-lookup-icon {
  font-size: 0.95rem;
}
.web-lookup-input {
  border: none;
  outline: none;
  flex: 1;
  font-size: 0.82rem;
  background: transparent;
  color: var(--text);
  padding: 4px 2px;
}
.web-lookup-actions {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.web-lookup-btn {
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  padding: 6px 10px !important;
}
.web-lookup-btn.primary {
  background: var(--primary) !important;
  color: #fff !important;
  border-color: var(--primary) !important;
}

/* VOICE DICTATION & AUDIO RECORDER CONTROLS */
.voice-lang-pill {
  border: 1px solid var(--primary);
  background: var(--primary-light);
  color: var(--primary-dark);
  font-size: 0.74rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 999px;
  cursor: pointer;
}
.textarea-voice-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.voice-toolbar-strip {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.voice-action-btn {
  border: 1px solid var(--border);
  background: #fff;
  color: var(--primary-dark);
  font-size: 0.76rem;
  font-weight: 800;
  padding: 6px 11px;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.15s ease;
}
.voice-action-btn:hover {
  background: var(--primary-light);
  border-color: var(--primary);
}
.voice-action-btn.listening,
.mic-inline-btn.listening {
  background: #FEE2E2 !important;
  color: #DC2626 !important;
  border-color: #EF4444 !important;
  animation: pulseVoice 1.2s infinite;
}
.voice-action-btn.ai-sparkle {
  background: var(--primary-light);
  border-color: var(--primary);
  margin-left: auto;
}
.mic-inline-btn {
  border: 1px solid var(--border);
  background: #F8FAFC;
  color: var(--primary-dark);
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 0.84rem;
  cursor: pointer;
  line-height: 1;
  flex-shrink: 0;
}
.mic-inline-btn:hover {
  background: var(--primary-light);
  border-color: var(--primary);
}
.field-with-mic {
  display: flex;
  align-items: center;
  gap: 4px;
}
.field-with-mic input,
.field-with-mic textarea {
  flex: 1;
}
.voice-live-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #FEF2F2;
  border: 1px solid #FCA5A5;
  color: #991B1B;
  padding: 6px 10px;
  border-radius: 10px;
  font-size: 0.78rem;
  font-weight: 800;
}
.voice-pulse-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #EF4444;
  display: inline-block;
  animation: pulseVoice 1s infinite;
}
@keyframes pulseVoice {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.22); opacity: 0.65; }
}
.audio-notes-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 4px;
}
.audio-note-row {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #F8FAFC;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 6px 10px;
  font-size: 0.76rem;
}
.audio-note-row audio {
  height: 32px;
  flex: 1;
  max-width: 260px;
}

/* ONE-BY-ONE AI FIELD SUGGESTION CARDS ([✅ YES] / [❌ NO]) */
.ai-one-by-one-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 10px;
}
.ai-sug-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  background: #fff;
  border: 1.5px solid rgba(27, 94, 87, 0.25);
  border-radius: 11px;
  padding: 8px 11px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}
.ai-sug-row.accepted {
  background: #F0FDF4;
  border-color: #22C55E;
}
.ai-sug-info {
  flex: 1;
  min-width: 180px;
}
.ai-sug-label {
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--text-muted);
  display: block;
}
.ai-sug-val {
  font-size: 0.84rem;
  font-weight: 800;
  color: var(--text);
  word-break: break-word;
}
.ai-sug-btns {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.btn-sug-yes {
  border: 1px solid #16A34A;
  background: #DCFCE7;
  color: #166534;
  font-size: 0.75rem;
  font-weight: 800;
  padding: 5px 11px;
  border-radius: 8px;
  cursor: pointer;
}
.btn-sug-yes:hover {
  background: #16A34A;
  color: #fff;
}
.btn-sug-no {
  border: 1px solid #EF4444;
  background: #FEE2E2;
  color: #991B1B;
  font-size: 0.75rem;
  font-weight: 800;
  padding: 5px 11px;
  border-radius: 8px;
  cursor: pointer;
}
.btn-sug-no:hover {
  background: #EF4444;
  color: #fff;
}

/* WINDOWS / IPHONE-STYLE RECTANGULAR FOLDER TILES GRID (2-3 PER ROW) */
.folder-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}
.breadcrumb-pill {
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 999px;
  cursor: pointer;
}
.breadcrumb-pill.active {
  background: var(--primary-light);
  color: var(--primary-dark);
  border-color: var(--primary);
}
.view-size-switcher {
  display: inline-flex;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 9px;
  overflow: hidden;
}
.view-size-btn {
  border: none;
  background: transparent;
  font-size: 0.73rem;
  font-weight: 800;
  padding: 5px 9px;
  color: var(--text-muted);
  cursor: pointer;
}
.view-size-btn.active {
  background: var(--primary);
  color: #fff;
}
.folder-drilldown-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  background: var(--surface);
  border: 1.5px solid var(--primary);
  border-radius: 14px;
  padding: 9px 12px;
  margin-bottom: 12px;
}

.folders-tile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}
@media (min-width: 680px) {
  .folders-tile-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.folders-tile-grid.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.folder-rect-tile {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 18px;
  padding: 12px;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  box-shadow: var(--shadow-sm);
  position: relative;
  overflow: hidden;
}
.folder-rect-tile:hover {
  transform: translateY(-2px);
  border-color: var(--primary);
  box-shadow: var(--shadow-md);
}
.folder-rect-tile.private-room-tile {
  border-color: #C7D2FE;
  background: linear-gradient(180deg, #FFFFFF 0%, #F5F7FF 100%);
}
.folder-tile-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.folder-tile-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: var(--primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  flex-shrink: 0;
}
.folder-tile-count {
  font-size: 0.72rem;
  font-weight: 800;
  background: var(--bg);
  color: var(--primary-dark);
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid var(--border);
}
.folder-tile-mini-previews {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  background: var(--bg);
  border-radius: 11px;
  padding: 6px;
  min-height: 68px;
}
.folder-mini-thumb {
  height: 32px;
  border-radius: 7px;
  background: #fff;
  border: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 4px;
}
.folder-mini-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.folder-tile-title-en {
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--text);
  line-height: 1.25;
}
.folder-tile-title-fa {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-muted);
  font-family: var(--font-fa);
}

/* ITEM THUMBNAIL CARDS GRID INSIDE A FOLDER (2-3 PER ROW) */
.folder-items-thumb-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 8px;
}
@media (min-width: 680px) {
  .folder-items-thumb-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.item-thumb-card {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  box-shadow: var(--shadow-sm);
}
.item-thumb-card:hover {
  transform: translateY(-2px);
  border-color: var(--primary);
  box-shadow: var(--shadow-md);
}
.item-thumb-media {
  height: 118px;
  background: linear-gradient(135deg, #E6F4F1 0%, #F8FAFC 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.item-thumb-media img,
.item-thumb-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.item-thumb-fallback-icon {
  font-size: 2.2rem;
}
.item-thumb-body {
  padding: 10px 11px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.item-thumb-title {
  font-size: 0.85rem;
  font-weight: 900;
  color: var(--text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.item-thumb-sub {
  font-size: 0.73rem;
  color: var(--text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.item-thumb-footer {
  padding: 6px 10px;
  border-top: 1px solid var(--border);
  background: var(--surface-soft);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* UNIVERSAL IPHONE CONTACT-STYLE ITEM DETAIL VIEW */
.item-detail-view {
  animation: fadeIn 0.18s ease;
}
.contact-sheet-card {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 22px;
  padding: 16px;
  box-shadow: var(--shadow-md);
  margin-bottom: 16px;
}
.contact-hero-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}
.contact-media-stage {
  width: 100%;
  max-width: 440px;
  border-radius: 16px;
  overflow: hidden;
  background: #F8FAFC;
  border: 1px solid var(--border);
  margin-bottom: 12px;
}
.contact-media-stage img,
.contact-media-stage video {
  width: 100%;
  max-height: 310px;
  object-fit: contain;
  display: block;
  background: #0F172A;
}
.contact-quick-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.contact-circle-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: var(--surface-soft);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 8px 12px;
  min-width: 78px;
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--primary-dark);
  transition: all 0.15s ease;
}
.contact-circle-btn:hover {
  background: var(--primary-light);
  border-color: var(--primary);
}
.contact-circle-btn .c-icon {
  font-size: 1.2rem;
}
.contact-fields-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 14px;
}
.contact-field-card {
  background: var(--surface-soft);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px 12px;
}
.contact-field-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.contact-field-label {
  font-size: 0.75rem;
  font-weight: 900;
  color: var(--primary-dark);
}
.contact-field-input-row {
  display: flex;
  align-items: center;
  gap: 6px;
}
.contact-field-input-row input,
.contact-field-input-row textarea {
  flex: 1;
  background: #fff;
}

/* ==================== v3.0.0 Folder Grid, Item Tiles & Universal Contact Detail ==================== */
.v3-folder-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  margin: 10px 0 18px;
}
.v3-folder-grid.layout-grid-sm {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.v3-folder-grid.layout-rows {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
@media (min-width: 640px) {
  .v3-folder-grid.layout-grid-lg {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.v3-folder-tile {
  position: relative;
  background: linear-gradient(155deg, #ffffff 0%, #f8faf8 100%);
  border: 1.5px solid var(--border);
  border-radius: 18px;
  padding: 14px 12px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 118px;
  box-shadow: 0 3px 10px rgba(15, 23, 42, 0.05);
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.v3-folder-tile:hover,
.v3-folder-tile:active {
  transform: translateY(-2px);
  border-color: var(--primary);
  box-shadow: 0 8px 18px rgba(20, 83, 66, 0.12);
}
.v3-folder-icon {
  font-size: 1.75rem;
  line-height: 1.1;
}
.v3-folder-name {
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--primary-dark);
  line-height: 1.3;
  word-break: break-word;
}
.v3-folder-count {
  position: absolute;
  top: 10px;
  inset-inline-end: 10px;
  background: var(--primary-light);
  color: var(--primary-dark);
  font-size: 0.74rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 999px;
}
.v3-folder-minis {
  display: flex;
  gap: 5px;
  margin-top: auto;
  padding-top: 4px;
}
.v3-folder-minis img {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid var(--border);
}
.v3-row {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
}
.v3-row-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  font-weight: 800;
  color: var(--primary-dark);
  cursor: pointer;
}
.v3-row-head .count {
  margin-inline-start: auto;
  background: var(--surface-soft);
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.75rem;
}
.v3-row-body,
.v3-item-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 10px;
}
.v3-item-tile {
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.v3-item-tile:hover {
  border-color: var(--primary);
  transform: translateY(-1px);
}
.v3-item-tile img {
  width: 100%;
  height: 96px;
  object-fit: cover;
  border-radius: 10px;
  background: #f1f5f9;
}
.v3-item-icon {
  font-size: 2rem;
  padding: 14px 0;
}
.v3-item-title {
  font-size: 0.84rem;
  font-weight: 800;
  color: var(--text);
  line-height: 1.3;
  word-break: break-word;
}
.v3-detail {
  background: #fff;
  border: 1.5px solid var(--border);
  border-radius: 20px;
  padding: 16px;
  margin-bottom: 18px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
}
.v3-detail-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}
.v3-detail-head button {
  background: var(--surface-soft);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 6px 12px;
  font-weight: 800;
  cursor: pointer;
}
.v3-detail-head h2 {
  font-size: 1.05rem;
  font-weight: 900;
  color: var(--primary-dark);
  margin: 0;
  flex: 1;
}
.v3-photos {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
}
.v3-photo img,
.v3-photos video {
  width: 100%;
  max-height: 300px;
  object-fit: contain;
  border-radius: 14px;
  background: #0f172a;
}
.v3-photo-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.78rem;
  padding: 6px 10px;
  background: var(--surface-soft);
  border-radius: 10px;
  margin-top: 4px;
}
.v3-field {
  background: var(--surface-soft);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px 12px;
  margin-bottom: 8px;
}
.v3-field label {
  display: block;
  font-size: 0.76rem;
  font-weight: 800;
  color: var(--primary-dark);
  margin-bottom: 5px;
}
.v3-field-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.v3-field-row input,
.v3-field select {
  flex: 1;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  font-size: 0.88rem;
}
.v3-field-row a {
  font-size: 0.8rem;
  font-weight: 800;
  color: var(--primary);
  text-decoration: none;
  padding: 4px 8px;
  background: #fff;
  border-radius: 8px;
  border: 1px solid var(--border);
}
.v3-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.v3-detail-actions button {
  flex: 1 1 calc(50% - 8px);
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--surface-soft);
  font-weight: 800;
  cursor: pointer;
}
.v3-detail-actions button.danger {
  background: #fef2f2;
  color: #b91c1c;
  border-color: #fecaca;
}
.v3-sugg {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 10px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  margin-bottom: 6px;
  font-size: 0.84rem;
}
.v3-sugg button {
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--surface-soft);
  font-weight: 800;
  cursor: pointer;
}

/* ==========================================================================
   v3.4.0 — WALK THROUGH OUR HOUSE: LIVING ROOM, BEDROOM DOORS & PRIVATE CLOSET
   ========================================================================== */

.hdr-house-pill {
  background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%) !important;
  color: #92400E !important;
  border: 1.5px solid #F59E0B !important;
  font-weight: 900 !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  font-size: 0.78rem !important;
  box-shadow: 0 2px 6px rgba(245, 158, 11, 0.2);
}
.hdr-house-pill:hover {
  transform: translateY(-1px);
  background: #FDE68A !important;
}

.house-architecture-hero {
  margin: 0 0 12px;
}

/* 1. HALLWAY / LIVING ROOM DOORS STAGE */
.hallway-stage-card {
  background: linear-gradient(180deg, #FFFBEB 0%, #FEF3C7 78%, #D97706 78%, #B45309 100%);
  border: 2px solid #F59E0B;
  border-radius: 18px;
  padding: 12px 12px 14px;
  box-shadow: 0 8px 22px rgba(180, 83, 9, 0.13);
  position: relative;
  overflow: hidden;
}

.hallway-stage-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
  background: rgba(255, 255, 255, 0.88);
  padding: 7px 11px;
  border-radius: 12px;
  border: 1px solid rgba(245, 158, 11, 0.35);
}

.hallway-stage-title {
  font-size: 0.86rem;
  font-weight: 900;
  color: #78350F;
  display: flex;
  align-items: center;
  gap: 6px;
}

.hallway-stage-sub {
  font-size: 0.72rem;
  font-weight: 800;
  color: #0F766E;
  background: #CCFBF1;
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid #5EEAD4;
}

.hallway-doors-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}

.bedroom-door-card {
  background: rgba(255, 255, 255, 0.94);
  border: 2px solid #D97706;
  border-radius: 15px;
  padding: 10px 8px 9px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
  box-shadow: 0 5px 14px rgba(120, 53, 15, 0.14);
  position: relative;
  user-select: none;
}

.bedroom-door-card.my-own-door {
  border-color: #0D9488;
  background: linear-gradient(180deg, #F0FDFA 0%, #FFFFFF 100%);
}

.bedroom-door-card:hover,
.bedroom-door-card:active {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(13, 148, 136, 0.22);
}

.door-svg-wrap {
  width: 74px;
  height: 92px;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.door-title-lbl {
  font-size: 0.84rem;
  font-weight: 900;
  color: #1E293B;
  line-height: 1.25;
  margin-bottom: 3px;
}

.door-sub-lbl {
  font-size: 0.7rem;
  color: #64748B;
  font-weight: 700;
  margin-bottom: 6px;
}

.door-action-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.72rem;
  font-weight: 900;
  padding: 4px 10px;
  border-radius: 999px;
  background: #0F766E;
  color: #FFFFFF;
}

.bedroom-door-card.visit-door .door-action-pill {
  background: #B45309;
  color: #FFFFFF;
}

/* 2. INSIDE MY ROOM STAGE + ILLUSTRATED PRIVATE CLOSET CARD */
.room-stage-card {
  background: linear-gradient(135deg, #F0FDFA 0%, #E0F2FE 100%);
  border: 2px solid #0D9488;
  border-radius: 18px;
  padding: 11px 12px;
  box-shadow: 0 6px 18px rgba(13, 148, 136, 0.13);
}

.room-top-nav-bar {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 9px;
}

.room-nav-pill {
  border: 1.5px solid #0F766E;
  background: #FFFFFF;
  color: #0F766E;
  font-size: 0.76rem;
  font-weight: 900;
  padding: 6px 11px;
  border-radius: 999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  box-shadow: 0 2px 6px rgba(15, 118, 110, 0.1);
}

.room-nav-pill.visit-pill {
  border-color: #D97706;
  color: #92400E;
  background: #FFFBEB;
}

.room-stage-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.room-stage-heading {
  font-size: 0.94rem;
  font-weight: 900;
  color: #0F172A;
}

.room-stage-sub {
  font-size: 0.74rem;
  color: #475569;
  font-weight: 700;
}

/* ILLUSTRATED PRIVATE CLOSET WARDROBE CARD INSIDE MY ROOM */
.my-room-closet-card {
  background: linear-gradient(135deg, #312E81 0%, #1E1B4B 100%);
  color: #FFFFFF;
  border: 2px solid #818CF8;
  border-radius: 16px;
  padding: 11px 13px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(49, 46, 129, 0.28);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.my-room-closet-card:hover,
.my-room-closet-card:active {
  transform: translateY(-2px);
  box-shadow: 0 9px 22px rgba(49, 46, 129, 0.38);
}

.closet-svg-wrap {
  width: 66px;
  height: 76px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.closet-info-col {
  flex: 1;
  min-width: 0;
}

.closet-card-title {
  font-size: 0.92rem;
  font-weight: 900;
  color: #F8FAFC;
  margin-bottom: 3px;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.closet-lock-badge {
  font-size: 0.68rem;
  font-weight: 900;
  background: #F59E0B;
  color: #1E1B4B;
  padding: 2px 8px;
  border-radius: 999px;
}

.closet-card-sub {
  font-size: 0.74rem;
  color: #C7D2FE;
  line-height: 1.35;
  margin-bottom: 6px;
}

.closet-open-btn-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #4F46E5;
  color: #FFFFFF;
  border: 1px solid #A5B4FC;
  font-size: 0.74rem;
  font-weight: 900;
  padding: 4px 11px;
  border-radius: 999px;
}

/* 3. INSIDE MY PRIVATE CLOSET STAGE */
.closet-stage-card {
  background: linear-gradient(135deg, #1E1B4B 0%, #312E81 100%);
  color: #FFFFFF;
  border: 2px solid #818CF8;
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 8px 22px rgba(30, 27, 75, 0.28);
}

.closet-stage-card .room-nav-pill {
  background: rgba(255, 255, 255, 0.14);
  color: #FFFFFF;
  border-color: #A5B4FC;
}

/* 4. VISITING ANOTHER MEMBER'S ROOM (VIEW-ONLY GUEST MODE) */
.visit-room-guest-card {
  background: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);
  border: 2px solid #F59E0B;
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 6px 18px rgba(245, 158, 11, 0.18);
}

.visit-guest-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #D97706;
  color: #FFFFFF;
  font-size: 0.72rem;
  font-weight: 900;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 5px;
}

/* 5. INCOMING SHARE SPACE PICKER BAR */
.incoming-share-space-bar {
  background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
  border: 2px solid #059669;
  border-radius: 14px;
  padding: 10px 12px;
  margin-bottom: 12px;
  box-shadow: 0 4px 14px rgba(5, 150, 105, 0.15);
}

.incoming-share-space-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.82rem;
  font-weight: 900;
  color: #065F46;
  margin-bottom: 7px;
}

.incoming-share-space-btns {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.incoming-space-chip {
  border: 1.5px solid #059669;
  background: #FFFFFF;
  color: #065F46;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 5px 10px;
  border-radius: 999px;
  cursor: pointer;
}

.incoming-space-chip.active {
  background: #059669;
  color: #FFFFFF;
}

/* 6. PHONE SHARE GUIDE PILL UNDER BIG PLUS */
.big-plus-sub-actions {
  margin-top: 7px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
}

.phone-share-quick-pill {
  border: 1.5px dashed #0D9488;
  background: #F0FDFA;
  color: #0F766E;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 5px 12px;
  border-radius: 999px;
  cursor: pointer;
}

/* 7. SEND TO... FLOATING MODAL & CARD BUTTONS */
.send-to-modal-card {
  max-width: 460px;
  border-radius: 20px !important;
  padding: 16px !important;
}

.send-to-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 11px;
}

.send-to-badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 900;
  background: #CCFBF1;
  color: #0F766E;
  padding: 2px 9px;
  border-radius: 999px;
}

.send-to-mode-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  background: #F1F5F9;
  padding: 4px;
  border-radius: 12px;
  margin-bottom: 12px;
}

.send-mode-btn {
  border: 0;
  background: transparent;
  color: #475569;
  font-size: 0.78rem;
  font-weight: 800;
  padding: 7px 10px;
  border-radius: 9px;
  cursor: pointer;
}

.send-mode-btn.active {
  background: #FFFFFF;
  color: #0F766E;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
}

.send-mode-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.send-to-destinations {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.send-dest-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  text-align: left;
  padding: 10px 12px;
  border-radius: 13px;
  border: 1.5px solid #E2E8F0;
  background: #F8FAFC;
  cursor: pointer;
  transition: transform 0.12s ease, border-color 0.12s ease, background 0.12s ease;
}

.send-dest-card:hover,
.send-dest-card:active {
  border-color: #0D9488;
  background: #F0FDFA;
  transform: translateY(-1px);
}

.send-dest-icon {
  font-size: 1.45rem;
  flex-shrink: 0;
}

.send-dest-text {
  flex: 1;
  min-width: 0;
}

.send-dest-title {
  font-size: 0.85rem;
  font-weight: 900;
  color: #0F172A;
}

.send-dest-desc {
  font-size: 0.72rem;
  color: #64748B;
  margin-top: 1px;
}

.send-dest-arrow {
  font-size: 0.82rem;
  font-weight: 900;
  color: #0F766E;
  background: #CCFBF1;
  padding: 4px 9px;
  border-radius: 999px;
  white-space: nowrap;
}

/* SEND TO BUTTON ON EVERY FOLDER TILE & ITEM CARD */
.tile-send-to-chip {
  position: absolute;
  top: 7px;
  right: 7px;
  z-index: 4;
  border: 1px solid rgba(15, 118, 110, 0.35);
  background: rgba(255, 255, 255, 0.94);
  color: #0F766E;
  font-size: 0.68rem;
  font-weight: 900;
  padding: 3px 7px;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.tile-send-to-chip:hover {
  background: #0F766E;
  color: #FFFFFF;
}

.win-folder-tile,
.item-thumb-tile {
  position: relative;
}

/* INLINE NO-TYPING BOX FOR 3-ROW AI CONFIRMATION */
.ai-inline-no-editor {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed #CBD5E1;
}

.ai-inline-no-editor input,
.ai-inline-no-editor select {
  flex: 1;
  min-width: 0;
  padding: 7px 10px;
  border: 1.5px solid #0D9488;
  border-radius: 9px;
  font-size: 0.84rem;
  font-weight: 700;
  background: #FFFFFF;
}

.ai-inline-save-yes {
  background: #16A34A !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 7px 12px !important;
  border-radius: 9px !important;
  font-weight: 900 !important;
  font-size: 0.8rem !important;
  cursor: pointer;
}

/* ==================== HOMA v3.5.0 — EXACT ILLUSTRATED CONCEPT PHOTO UI ==================== */
body {
  background: #FAF6EE !important;
  color: #2E221B;
}

body:not(.in-folder) .app-header,
body:not(.in-folder) #space-switcher-bar,
body:not(.in-folder) #global-search-wrap,
body:not(.in-folder) .loc-pill-row,
body:not(.in-folder) #big-plus-wrap,
body:not(.in-folder) #folders-header-bar {
  display: none !important;
}

body.in-folder .app-header,
body.in-folder #space-switcher-bar,
body.in-folder #folders-header-bar {
  display: none !important;
}

main.container {
  padding-top: 8px !important;
  padding-bottom: 86px !important;
  max-width: 480px !important;
}

/* Subtle top status bar (Street GPS + Account + Language + Share) */
.v350-top-mini-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  font-size: 0.69rem;
  color: #6B5E52;
  margin: 0 2px 6px;
  flex-wrap: nowrap;
}
.v350-gps-chip {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: #F2ECE0;
  border: 1px solid #E3D9C6;
  color: #4A3E33;
  padding: 2px 8px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  max-width: 58%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v350-mini-actions {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.v350-mini-pill {
  border: 1px solid #DFD5C2;
  background: #F4EFE4;
  color: #3D3128;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 999px;
  cursor: pointer;
}
.v350-mini-pill.lang {
  background: #557C55;
  border-color: #466946;
  color: #FFFFFF;
}

/* SCREEN 1: OUR HOUSE - LIVING ROOM HEADER (EXACT PHOTO 1 MATCH) */
.v350-living-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.v350-house-logo-btn {
  border: 0;
  background: transparent;
  padding: 0;
  width: 78px;
  height: 80px;
  flex-shrink: 0;
  cursor: pointer;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(60, 42, 24, 0.08);
}
.v350-house-logo-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.v350-living-title-col {
  flex: 1;
  min-width: 0;
}
.v350-living-h1 {
  margin: 0;
  font-size: 1.38rem;
  font-weight: 900;
  color: #2D2018;
  letter-spacing: -0.02em;
  line-height: 1.15;
}
.v350-living-sub {
  margin: 1px 0 8px;
  font-size: 1.02rem;
  font-weight: 800;
  color: #5A8259;
  line-height: 1.2;
}
.v350-search-plus-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.v350-search-pill {
  flex: 1;
  height: 40px;
  background: #F6F0E4;
  border: 1.5px solid #E5DCCB;
  border-radius: 999px;
  display: flex;
  align-items: center;
  padding: 0 10px 0 12px;
  gap: 6px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.03);
}
.v350-search-pill input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  font-size: 0.85rem;
  color: #3A2E25;
  font-weight: 600;
  outline: none;
}
.v350-search-pill input::placeholder {
  color: #84786B;
  font-weight: 500;
}
.v350-plus-circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid #FAF6EE;
  background: linear-gradient(145deg, #86A97B 0%, #6B8F60 100%);
  color: #FFFFFF;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  box-shadow: 0 4px 11px rgba(85, 118, 76, 0.32);
}

/* HALLWAY SCENE CARD (PHOTO 1) */
.v350-hallway-card {
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(55, 38, 22, 0.13);
  border: 1.5px solid #E5D9C5;
  margin-bottom: 12px;
  background: #EFE4D2;
}
.v350-hallway-card img {
  width: 100%;
  height: auto;
  display: block;
}
.v350-door-hotspot {
  position: absolute;
  top: 2%;
  bottom: 2%;
  width: 46%;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0;
  z-index: 3;
  border-radius: 16px;
  transition: background 0.15s ease;
}
.v350-door-hotspot:hover,
.v350-door-hotspot:active {
  background: rgba(255, 255, 255, 0.12);
}
.v350-door-hotspot.left-door {
  left: 3%;
}
.v350-door-hotspot.right-door {
  right: 3%;
}
.v350-door-overlay-label {
  position: absolute;
  top: 3%;
  width: 44%;
  text-align: center;
  z-index: 2;
  pointer-events: none;
}
.v350-door-overlay-label.left {
  left: 4%;
}
.v350-door-overlay-label.right {
  right: 4%;
}
.v350-door-green-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #6F9166;
  color: #FFFFFF;
  font-size: 0.78rem;
  font-weight: 800;
  padding: 3px 12px;
  border-radius: 999px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.12);
}
.v350-door-owner-title {
  font-size: 0.82rem;
  font-weight: 900;
  color: #2A1E17;
  margin-top: 3px;
  line-height: 1.15;
}
.v350-door-tap-sub {
  font-size: 0.73rem;
  font-weight: 800;
  color: #4C774B;
  line-height: 1.15;
}

/* LIVING ROOM SHARED FOLDERS SECTION (PHOTO 1) */
.v350-living-sec-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin: 4px 2px 9px;
}
.v350-living-sec-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.98rem;
  font-weight: 900;
  color: #2D2018;
}
.v350-living-sec-right {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #557C55;
}
.v350-living-row2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 10px;
}
.v350-living-row3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.v350-pastel-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 11px;
  border-radius: 18px;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(50, 38, 24, 0.05);
  transition: transform 0.12s ease;
}
.v350-pastel-card:active {
  transform: scale(0.98);
}
.v350-pastel-card.places {
  background: #E5EFE0;
  border: 1px solid #D3E3CC;
}
.v350-pastel-card.warranties {
  background: #FBF0D9;
  border: 1px solid #EFE0BE;
}
.v350-pastel-card.kids {
  background: #E6F0EC;
  border: 1px solid #D2E3DC;
  padding: 10px 7px;
  gap: 6px;
  border-radius: 16px;
}
.v350-pastel-card.events {
  background: #FCE9DA;
  border: 1px solid #F1D5BE;
  padding: 10px 7px;
  gap: 6px;
  border-radius: 16px;
}
.v350-pastel-card.projects {
  background: #E7F0E2;
  border: 1px solid #D4E3CE;
  padding: 10px 7px;
  gap: 6px;
  border-radius: 16px;
}
.v350-pastel-badge {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.v350-living-row3 .v350-pastel-badge {
  width: 36px;
  height: 36px;
}
.v350-pastel-text {
  min-width: 0;
  flex: 1;
}
.v350-pastel-title {
  font-size: 0.98rem;
  font-weight: 900;
  color: #2A1E17;
  line-height: 1.18;
}
.v350-living-row3 .v350-pastel-title {
  font-size: 0.77rem;
}
.v350-pastel-sub {
  font-size: 0.72rem;
  font-weight: 600;
  color: #4D453E;
  line-height: 1.22;
  margin-top: 2px;
}
.v350-living-row3 .v350-pastel-sub {
  font-size: 0.62rem;
}
.v350-card-sendto-dot {
  position: absolute;
  top: 5px;
  right: 5px;
  border: 0;
  background: rgba(255, 255, 255, 0.72);
  color: #4A3E33;
  font-size: 0.65rem;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  z-index: 3;
}

/* SCREEN 2: INSIDE MY ROOM (EXACT PHOTO 2 MATCH) */
.v350-room-stage {
  padding-top: 2px;
}
.v350-room-h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.56rem;
  font-weight: 800;
  color: #3B281E;
  text-align: center;
  letter-spacing: -0.01em;
}
.v350-room-ornament-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 2px 0 8px;
}
.v350-room-ornament-line {
  flex: 1;
  height: 1px;
  background: #DFD3BF;
}
.v350-room-ornament-img {
  height: 32px;
  width: auto;
  display: block;
}
.v350-room-pill-btn {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 94%;
  margin: 0 auto 8px;
  padding: 7px 14px 7px 9px;
  border-radius: 999px;
  cursor: pointer;
  text-align: left;
  transition: transform 0.12s ease;
}
.v350-room-pill-btn:active {
  transform: scale(0.99);
}
.v350-room-pill-btn.cream {
  background: #F4E8D1;
  border: 1.5px solid #E4D4B7;
  color: #2A1E17;
  box-shadow: 0 3px 8px rgba(60, 42, 24, 0.06);
}
.v350-room-pill-btn.teal {
  background: linear-gradient(90deg, #3B7771 0%, #44837D 100%);
  border: 1.5px solid #2E645E;
  color: #FFFFFF;
  box-shadow: 0 4px 10px rgba(46, 100, 94, 0.2);
  margin-bottom: 11px;
}
.v350-pill-icon-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
}
.v350-room-pill-btn.cream .v350-pill-icon-circle {
  background: #36736D;
  color: #FFFFFF;
}
.v350-room-pill-btn.teal .v350-pill-icon-circle {
  background: #FFFFFF;
  color: #36736D;
}
.v350-pill-label {
  flex: 1;
  font-size: 0.98rem;
  font-weight: 800;
}
.v350-pill-chev {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
  opacity: 0.9;
}

/* ILLUSTRATED CLOSET CARD IN MY ROOM (PHOTO 2) */
.v350-closet-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  border: 3px solid #FCF9F2;
  box-shadow: 0 6px 18px rgba(55, 38, 22, 0.11);
  cursor: pointer;
  margin-bottom: 10px;
  background: #F5EAD6;
}
.v350-closet-card img {
  width: 100%;
  height: auto;
  display: block;
}
.v350-closet-fa-overlay-top {
  position: absolute;
  top: 3%;
  left: 10%;
  right: 10%;
  text-align: center;
  pointer-events: none;
}
.v350-closet-fa-overlay-bot {
  position: absolute;
  bottom: 2%;
  left: 10%;
  right: 10%;
  text-align: center;
  pointer-events: none;
}

/* MY ROOM FOLDERS HEADER + CIRCULAR EDIT/ADD BUTTONS (PHOTO 2) */
.v350-myroom-sec-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 2px 2px 8px;
}
.v350-myroom-sec-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.24rem;
  font-weight: 800;
  color: #2D2018;
  flex-shrink: 0;
}
.v350-myroom-sec-line {
  flex: 1;
  height: 1px;
  background: #DCD0BC;
}
.v350-circle-action-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #FBF6EC;
  border: 1.5px solid #E3D7C3;
  box-shadow: 0 3px 8px rgba(55, 38, 22, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
  color: #2D2018;
  font-size: 0.65rem;
  font-weight: 800;
}
.v350-circle-action-btn .plus-teal-dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #36736D;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}

/* HORIZONTAL CREAM FOLDER ROWS IN MY ROOM & CLOSET (PHOTO 2) */
.v350-room-folder-stack {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 12px;
}
.v350-room-folder-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #FBF6EC;
  border: 1.5px solid #E7DCC8;
  border-radius: 15px;
  padding: 8px 14px 8px 10px;
  box-shadow: 0 2px 7px rgba(55, 38, 22, 0.05);
  cursor: pointer;
  transition: transform 0.12s ease;
}
.v350-room-folder-row:active {
  transform: scale(0.99);
}
.v350-room-folder-icon {
  width: 48px;
  height: 42px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 8px;
}
.v350-room-folder-emoji-box {
  width: 48px;
  height: 42px;
  border-radius: 10px;
  background: #38756F;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  flex-shrink: 0;
}
.v350-room-folder-text {
  flex: 1;
  min-width: 0;
}
.v350-room-folder-title {
  font-size: 0.96rem;
  font-weight: 800;
  color: #2A1E17;
  line-height: 1.2;
}
.v350-room-folder-sub {
  font-size: 0.74rem;
  font-weight: 600;
  color: #6E6256;
  line-height: 1.2;
  margin-top: 1px;
}
.v350-room-folder-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.v350-row-send-btn {
  border: 1px solid #DFD3BF;
  background: #F4ECE0;
  color: #36736D;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 3px 7px;
  border-radius: 999px;
  cursor: pointer;
}
.v350-row-chev {
  font-size: 1.3rem;
  font-weight: 700;
  color: #3B281E;
}

/* SCREEN 3: VISITING MEMBER B ROOM (CORAL VIEW-ONLY GUEST THEME — PHOTO 3) */
.v350-visit-banner {
  background: linear-gradient(135deg, #E87A64 0%, #DF634B 100%);
  color: #FFFFFF;
  border-radius: 20px;
  padding: 13px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 6px 16px rgba(220, 99, 75, 0.24);
  margin-bottom: 10px;
}
.v350-visit-wave {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.45rem;
  flex-shrink: 0;
}

/* CLEAN 4-TAB BOTTOM NAVIGATION DOCK (MATCHING PHOTOS 1 & 2) */
.bottom-nav {
  background: #FAF6EE !important;
  border-top: 1px solid #E5DAC6 !important;
  box-shadow: 0 -4px 16px rgba(60, 42, 24, 0.06) !important;
}
.bottom-nav-inner {
  max-width: 480px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
}
.bottom-nav .nav-tab {
  color: #7D7063 !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  background: transparent !important;
}
.bottom-nav .nav-tab.active {
  color: #36736D !important;
  font-weight: 900 !important;
}


.v350-living-header {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
  width: 100%;
  box-sizing: border-box;
}
.v350-house-logo-btn,
.v350-house-logo-tile {
  width: 72px;
  height: 72px;
  border-radius: 18px;
  overflow: hidden;
  flex-shrink: 0;
}
.v350-house-logo-btn img,
.v350-house-logo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.v350-living-title-col {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}
.v350-living-h1 {
  font-size: 1.32rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.v350-search-plus-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  width: 100%;
}
.v350-search-pill {
  flex: 1;
  min-width: 0;
  height: 42px;
  padding: 0 11px;
}
.v350-search-pill input {
  flex: 1;
  min-width: 0;
  width: 100%;
  font-size: 0.86rem;
}
.v350-plus-circle {
  width: 44px;
  height: 44px;
  min-width: 44px;
  flex-shrink: 0;
  font-size: 1.65rem;
}


/* ==================== HOMA v3.6.0 — APPLE 2x2 MINI-PREVIEW FOLDERS, CLEAN INSIDE-FOLDER GRID & VIEW-ONLY ITEM SHEET ==================== */

/* Screen 1: Inside My Room Header & Side-by-Side Nav Pills */
.v360-room-header-wrap {
  text-align: center;
  padding: 2px 4px 10px;
}
.v360-room-h1 {
  margin: 0;
  font-size: 1.48rem;
  font-weight: 900;
  color: #362519;
  letter-spacing: -0.02em;
  line-height: 1.18;
}
.v360-room-sub {
  margin: 3px 0 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: #3D736E;
}

.v360-two-pills-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.v360-nav-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 11px 12px;
  border-radius: 999px;
  font-size: 0.81rem;
  font-weight: 800;
  cursor: pointer;
  border: 1.5px solid rgba(114, 86, 58, 0.2);
  box-shadow: 0 3px 9px rgba(62, 42, 24, 0.08);
  transition: transform 0.14s ease, box-shadow 0.14s ease;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.v360-nav-pill:active {
  transform: scale(0.98);
}
.v360-nav-pill.beige {
  background: linear-gradient(180deg, #F3E6D3 0%, #EADAC3 100%);
  color: #2E2118;
}
.v360-nav-pill.teal {
  background: linear-gradient(180deg, #4B807B 0%, #3B6C67 100%);
  color: #FFFFFF;
  border-color: rgba(42, 82, 78, 0.35);
}

/* Horizontal Sleek "My Private Closet" Banner Card (Picture 1) */
.v360-closet-banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: linear-gradient(135deg, #FBF6EC 0%, #F4E9D7 58%, #EFE0C9 100%);
  border: 1.5px solid rgba(138, 108, 76, 0.25);
  border-radius: 22px;
  padding: 9px 12px;
  margin-bottom: 10px;
  box-shadow: 0 6px 18px rgba(68, 45, 25, 0.09);
  cursor: pointer;
  overflow: hidden;
  transition: transform 0.14s ease;
}
.v360-closet-banner:active {
  transform: scale(0.99);
}
.v360-closet-left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  z-index: 2;
}
.v360-closet-circle-icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid rgba(186, 158, 122, 0.45);
  box-shadow: 0 3px 8px rgba(62, 42, 24, 0.12);
  background: #F6EFE2;
}
.v360-closet-text-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.v360-closet-title {
  font-size: 1.08rem;
  font-weight: 900;
  color: #2C1E14;
  line-height: 1.2;
}
.v360-closet-sub {
  font-size: 0.8rem;
  font-weight: 700;
  color: #5C4E41;
  margin-top: 2px;
}
.v360-closet-teal-bar {
  width: 38px;
  height: 3.5px;
  border-radius: 4px;
  background: #427873;
  margin-top: 7px;
}
.v360-closet-right-art {
  width: 110px;
  height: 76px;
  border-radius: 14px;
  object-fit: cover;
  flex-shrink: 0;
  z-index: 1;
}

/* Section Header above Apple 2x2 Folders Grid */
.v360-apple-sec-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 4px 10px;
}
.v360-apple-sec-title {
  font-size: 1.15rem;
  font-weight: 900;
  color: #2D2016;
  letter-spacing: -0.01em;
}
.v360-apple-grid-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.78rem;
  font-weight: 800;
  color: #427570;
  background: rgba(66, 117, 112, 0.08);
  border: 1px solid rgba(66, 117, 112, 0.2);
  padding: 4px 10px;
  border-radius: 999px;
}

/* Apple iOS-Style 2x2 Mini-Preview Folder Cards Grid */
.apple-folders-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.apple-folder-card {
  position: relative;
  background: #FAF5EC;
  border: 1.5px solid rgba(138, 108, 76, 0.18);
  border-radius: 22px;
  padding: 8px 9px 10px;
  box-shadow: 0 5px 14px rgba(64, 43, 24, 0.07);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  transition: transform 0.14s ease, box-shadow 0.14s ease;
  user-select: none;
}
.apple-folder-card:active {
  transform: scale(0.985);
}
.apple-folder-mini-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  background: #F1E7D6;
  padding: 6px;
  border-radius: 16px;
  margin-bottom: 9px;
}
.apple-mini-thumb-slot {
  width: 100%;
  aspect-ratio: 1.42 / 1;
  border-radius: 10px;
  overflow: hidden;
  background: #E6D9C3;
  position: relative;
}
.apple-mini-thumb-slot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.apple-folder-share-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(251, 247, 239, 0.95);
  border: 1px solid rgba(114, 88, 60, 0.24);
  color: #4A392B;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 4;
  box-shadow: 0 2px 7px rgba(38, 25, 14, 0.16);
  padding: 0;
}
.apple-folder-share-btn:hover {
  background: #FFFFFF;
  transform: scale(1.06);
}
.apple-folder-footer {
  padding: 0 4px;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.apple-folder-title {
  font-size: 0.98rem;
  font-weight: 900;
  color: #2A1E15;
  line-height: 1.22;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.apple-folder-count {
  font-size: 0.8rem;
  font-weight: 800;
  color: #3E736E;
}

/* Full-width Dashed "New Folder +" Button at Bottom of Screen 1 */
.v360-new-folder-dashed-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 13px 18px;
  border-radius: 20px;
  background: #F3E4CE;
  border: 1.8px dashed #9B8369;
  color: #2E2016;
  font-size: 0.98rem;
  font-weight: 900;
  cursor: pointer;
  margin-bottom: 14px;
  box-shadow: 0 3px 10px rgba(62, 42, 24, 0.05);
}
.v360-new-folder-dashed-btn:active {
  transform: scale(0.99);
}

/* ==================== SCREEN 2: INSIDE AN INDIVIDUAL FOLDER (PICTURE 2) ==================== */
body.in-folder #folder-drilldown-bar,
body.in-folder #folder-breadcrumbs,
body.in-folder #global-search-wrap,
body.in-folder .loc-pill-row,
body.in-folder #big-plus-wrap,
body.in-folder .unified-search-hero {
  display: none !important;
}
.v360-inside-folder-wrap {
  padding: 2px 0 20px;
}
.v360-folder-back-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.v360-back-link-btn {
  background: transparent;
  border: none;
  color: #3B2D22;
  font-size: 0.9rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 2px;
  cursor: pointer;
}
.v360-folder-title-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(138, 112, 84, 0.22);
  margin-bottom: 12px;
}
.v360-folder-serif-h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 1.62rem;
  font-weight: 500;
  color: #241911;
  letter-spacing: -0.01em;
  line-height: 1.15;
}
.v360-share-folder-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #6D8065;
  color: #FFFFFF;
  border: none;
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 0.8rem;
  font-weight: 700;
  cursor: pointer;
  flex-shrink: 0;
  box-shadow: 0 3px 8px rgba(65, 82, 58, 0.22);
}
.v360-folder-sub-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}
.v360-folder-add-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #EFE7D8;
  color: #2A1E15;
  border: 1px solid rgba(128, 102, 74, 0.22);
  border-radius: 999px;
  padding: 7px 15px;
  font-size: 0.86rem;
  font-weight: 800;
  cursor: pointer;
}
.v360-folder-inside-label {
  font-size: 0.78rem;
  color: #5E5246;
  font-weight: 600;
  text-align: right;
}
.v360-folder-inside-label strong {
  color: #2B2017;
  font-weight: 800;
}

/* 2-Column Visual Item & Subfolder Grid (Picture 2) */
.apple-inside-folder-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.apple-item-tile {
  background: #FCF9F4;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(138, 112, 84, 0.16);
  box-shadow: 0 5px 14px rgba(52, 36, 20, 0.07);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  transition: transform 0.14s ease;
}
.apple-item-tile:active {
  transform: scale(0.985);
}
.apple-item-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1.08 / 1;
  background: #E8DEC8;
  overflow: hidden;
}
.apple-item-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.apple-item-send-fab {
  position: absolute;
  bottom: 9px;
  right: 9px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(110, 128, 102, 0.25);
  color: #63775B;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 3px 9px rgba(30, 22, 14, 0.18);
  padding: 0;
  z-index: 3;
}
.apple-item-send-fab:hover {
  background: #FFFFFF;
  transform: scale(1.06);
}
.apple-item-body {
  padding: 11px 12px 13px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.apple-item-serif-title {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-size: 0.98rem;
  font-weight: 500;
  color: #221811;
  line-height: 1.22;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.apple-item-sub {
  font-size: 0.75rem;
  color: #6B5E52;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ==================== SCREEN 3: CLEAN ITEM DETAIL VIEW MODAL (PICTURE 3) ==================== */
.clean-item-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(28, 19, 12, 0.56);
  backdrop-filter: blur(4px);
  z-index: 9500;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow-y: auto;
  padding: 0;
}
.clean-item-sheet {
  width: 100%;
  max-width: 440px;
  min-height: 100vh;
  background: #FAF5EC;
  color: #261B13;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
  display: flex;
  flex-direction: column;
  padding-bottom: 32px;
}
.civ-hero-wrap {
  position: relative;
  width: 100%;
  height: 248px;
  background: #2C2018;
  overflow: hidden;
}
.civ-hero-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.civ-float-btn {
  position: absolute;
  top: 14px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(252, 248, 242, 0.92);
  border: 1px solid rgba(120, 94, 68, 0.2);
  color: #2E2118;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
  z-index: 3;
}
.civ-float-btn.left {
  left: 14px;
}
.civ-float-btn.right {
  right: 14px;
}
.civ-dots-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 0 4px;
}
.civ-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #DFD2C0;
}
.civ-dot.active {
  background: #6D462B;
  width: 8px;
  height: 8px;
}
.civ-body-pad {
  padding: 6px 18px 18px;
}
.civ-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E6D9C6;
}
.civ-main-title {
  margin: 0;
  font-size: 1.38rem;
  font-weight: 900;
  color: #231810;
  line-height: 1.2;
}
.civ-folder-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #F3E9D8;
  border: 1px solid #DBCBB4;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 0.77rem;
  font-weight: 800;
  color: #4A3523;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Populated-Only Read-Only Data Rows (Picture 3) */
.civ-data-list {
  display: flex;
  flex-direction: column;
}
.civ-data-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px solid #EAE0D0;
}
.civ-data-icon {
  width: 26px;
  height: 26px;
  border-radius: 7px;
  color: #7A4B2A;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.civ-data-content {
  flex: 1;
  min-width: 0;
}
.civ-data-label {
  font-size: 0.9rem;
  font-weight: 900;
  color: #2A1E15;
  margin-bottom: 3px;
}
.civ-data-val {
  font-size: 0.88rem;
  line-height: 1.42;
  color: #463A2E;
  font-weight: 600;
  word-break: break-word;
}
.civ-data-link {
  font-size: 0.88rem;
  line-height: 1.38;
  color: #2864A6;
  font-weight: 700;
  text-decoration: underline;
  word-break: break-word;
}
.civ-map-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #FDFBF7;
  border: 1px solid #D5C5AE;
  border-radius: 10px;
  padding: 7px 11px;
  font-size: 0.8rem;
  font-weight: 800;
  color: #2D2118;
  text-decoration: none;
  flex-shrink: 0;
  align-self: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04);
}

/* Bottom Action Panel in Clean Item View (Picture 3) */
.civ-bottom-panel {
  margin-top: 16px;
  background: #F2E7D5;
  border: 1px solid #DFCFB8;
  border-radius: 18px;
  padding: 12px;
}
.civ-share-big-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(180deg, #875534 0%, #6E4224 100%);
  color: #FFFFFF;
  border: none;
  border-radius: 13px;
  padding: 13px 16px;
  font-size: 0.98rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(96, 56, 28, 0.25);
  position: relative;
}
.civ-share-big-btn .civ-right-chev {
  position: absolute;
  right: 16px;
  font-size: 1.2rem;
  opacity: 0.85;
}
.civ-edit-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  padding: 2px 4px 0;
}
.civ-edit-hint {
  font-size: 0.78rem;
  color: #5A4D41;
  font-weight: 600;
}
.civ-edit-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #FCF9F4;
  border: 1px solid #D4C3AC;
  border-radius: 10px;
  padding: 7px 14px;
  font-size: 0.84rem;
  font-weight: 800;
  color: #2B1F16;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

/* ============================================================================
   HOMA v3.7.0 — TIMELINE MESSAGE BOARD (WALL) ACROSS ALL 3 SPACES
   ============================================================================ */

body.in-folder #v370-space-message-board {
  display: none !important;
}

#v370-space-message-board {
  margin: 8px 0 12px 0;
}

.v370-perm-banner {
  border-radius: 12px;
  padding: 7px 11px;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.35;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
}

.v370-perm-banner.living {
  background: #EAF5EE;
  color: #1F5E3B;
  border: 1px solid #BFE0CB;
}

.v370-perm-banner.room {
  background: #FFF6E5;
  color: #8A5300;
  border: 1px solid #F2D49B;
}

.v370-perm-banner.visit {
  background: #F5F0FF;
  color: #5B21B6;
  border: 1px solid #DDD6FE;
}

.v370-perm-banner.closet {
  background: #3A302A;
  color: #F7E7C4;
  border: 1px solid #6E5A4C;
}

.v370-wall-section {
  background: #FFFFFF;
  border: 2px solid #D9CEBE;
  border-radius: 20px;
  padding: 12px;
  box-shadow: 0 6px 18px rgba(44, 34, 24, 0.06);
}

.v370-wall-section.closet-dark {
  background: #302925;
  border-color: #52453D;
  box-shadow: 0 8px 22px rgba(15, 10, 8, 0.28);
}

.v370-wall-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.v370-wall-title {
  font-size: 0.94rem;
  font-weight: 900;
  color: #231C16;
  display: flex;
  align-items: center;
  gap: 6px;
}

.v370-wall-section.closet-dark .v370-wall-title {
  color: #F7E7C4;
}

@keyframes v370PulseAlert {
  0%, 100% { transform: scale(1); box-shadow: 0 3px 8px rgba(217, 78, 52, 0.32); }
  50% { transform: scale(1.03); box-shadow: 0 4px 14px rgba(217, 78, 52, 0.52); }
}

.v370-new-msg-badge {
  background: linear-gradient(135deg, #D94E34 0%, #B8371E 100%);
  color: #FFFFFF;
  font-size: 0.72rem;
  font-weight: 900;
  padding: 4px 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  animation: v370PulseAlert 2.2s infinite ease-in-out;
}

.v370-caught-up-badge {
  background: #E8F3EC;
  color: #235D3A;
  border: 1px solid #BFE0CB;
  font-size: 0.71rem;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.v370-owner-only-badge {
  background: #FFF6E5;
  color: #8A5300;
  border: 1px solid #F2D49B;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 999px;
}

.v370-visit-only-badge {
  background: #F3E8FF;
  color: #6B21A8;
  border: 1px solid #D8B4FE;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 999px;
}

.v370-closet-lock-badge {
  background: #463A32;
  color: #F7E7C4;
  border: 1px solid #6E5A4C;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 999px;
}

.v370-composer-box {
  background: #F8F4EC;
  border: 1.5px solid #DFD5C5;
  border-radius: 14px;
  padding: 7px 9px;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}

.v370-wall-section.closet-dark .v370-composer-box {
  background: #221D1A;
  border-color: #463B34;
}

.v370-composer-input {
  flex: 1;
  min-width: 0;
  border: none !important;
  background: transparent !important;
  font-size: 0.81rem;
  font-weight: 600;
  color: #2B221B;
  padding: 4px 2px !important;
  outline: none !important;
  box-shadow: none !important;
}

.v370-composer-input::placeholder {
  color: #8C7F70;
}

.v370-wall-section.closet-dark .v370-composer-input {
  color: #F4EFE6;
}

.v370-wall-section.closet-dark .v370-composer-input::placeholder {
  color: #A89A8E;
}

.v370-composer-icon-btn {
  background: #EFE7D8;
  border: 1px solid #D8CCB8;
  color: #3D3127;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.88rem;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
}

.v370-wall-section.closet-dark .v370-composer-icon-btn {
  background: #3B322C;
  border-color: #594B42;
  color: #F7E7C4;
}

.v370-composer-btn {
  background: #2E6F4E;
  color: #FFFFFF;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 6px 12px;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}

.v370-wall-section.closet-dark .v370-composer-btn {
  background: #D4AF37;
  color: #1F1A17;
}

.v370-composer-photo-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: #F4EFE4;
  border: 1px solid #DFD4C1;
  border-radius: 11px;
  padding: 6px 10px;
  margin-bottom: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #3D3127;
}

.v370-composer-photo-preview img {
  width: 38px;
  height: 38px;
  border-radius: 7px;
  object-fit: cover;
}

/* TIMELINE POST CARDS */
.v370-post-card {
  background: #FCF9F4;
  border: 1.5px solid #E2D8C7;
  border-radius: 16px;
  padding: 10px 11px;
  margin-bottom: 9px;
  position: relative;
}

.v370-post-card:last-child {
  margin-bottom: 0;
}

.v370-post-card.unread {
  background: #FFFDF9;
  border: 2px solid #D94E34;
  box-shadow: 0 4px 14px rgba(217, 78, 52, 0.11);
}

.v370-wall-section.closet-dark .v370-post-card {
  background: #221D1A;
  border-color: #4A3F38;
  color: #F4EFE6;
}

.v370-unread-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  background: #FFF0EC;
  border: 1px solid #F7C7BC;
  border-radius: 10px;
  padding: 5px 8px;
  margin-bottom: 8px;
}

.v370-unread-tag {
  color: #B8371E;
  font-size: 0.7rem;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.v370-mark-seen-btn {
  background: #2E6F4E;
  color: #FFFFFF;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 4px 9px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.v370-post-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 6px;
}

.v370-post-author {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.v370-author-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.76rem;
  font-weight: 900;
  color: #FFFFFF;
  flex-shrink: 0;
}

.v370-author-avatar.mb {
  background: linear-gradient(135deg, #D97757, #B55335);
}

.v370-author-avatar.ma {
  background: linear-gradient(135deg, #2E6F4E, #1E4D35);
}

.v370-author-avatar.closet {
  background: linear-gradient(135deg, #B8860B, #8B6508);
}

.v370-author-name {
  font-size: 0.81rem;
  font-weight: 800;
  color: #231C16;
}

.v370-wall-section.closet-dark .v370-author-name {
  color: #F4EFE6;
}

.v370-post-time {
  font-size: 0.68rem;
  color: #8A7E71;
  font-weight: 600;
}

.v370-wall-section.closet-dark .v370-post-time {
  color: #B0A295;
}

.v370-post-body {
  font-size: 0.82rem;
  color: #2F261E;
  line-height: 1.42;
  font-weight: 600;
  margin-bottom: 8px;
  word-break: break-word;
}

.v370-wall-section.closet-dark .v370-post-body {
  color: #EAE2D7;
}

.v370-post-photo {
  width: 100%;
  max-height: 135px;
  border-radius: 11px;
  object-fit: cover;
  margin-bottom: 8px;
  border: 1px solid #E5DCCB;
  display: block;
}

.v370-post-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  flex-wrap: wrap;
  padding-top: 6px;
  border-top: 1px dashed #E4DAC9;
  font-size: 0.73rem;
  font-weight: 800;
  color: #5C5043;
}

.v370-wall-section.closet-dark .v370-post-actions {
  border-top-color: #463B34;
  color: #C7B9AC;
}

.v370-action-chip {
  background: #F2ECE1;
  border: 1px solid #DFD4C2;
  padding: 4px 8px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.72rem;
  font-weight: 800;
  color: #3D3126;
  cursor: pointer;
}

.v370-action-chip.liked {
  background: #FFE4E6;
  border-color: #FDA4AF;
  color: #BE123C;
}

.v370-share-owner-btn {
  background: #2E6F4E;
  color: #FFFFFF;
  padding: 5px 10px;
  border-radius: 8px;
  font-size: 0.72rem;
  font-weight: 800;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.v370-share-closet-btn {
  background: #463A32;
  color: #F7E7C4;
  border: 1px solid #6E5A4C;
  padding: 4px 9px;
  border-radius: 8px;
  font-size: 0.71rem;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.v370-share-disabled-tag {
  background: #EFECE6;
  color: #8A7E71;
  padding: 4px 9px;
  border-radius: 8px;
  font-size: 0.71rem;
  font-weight: 800;
  border: 1px dashed #CFC5B7;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* COMMENTS THREAD */
.v370-comments-box {
  margin-top: 8px;
  background: #F4EFE6;
  border-radius: 11px;
  padding: 7px 9px;
  border: 1px solid #E4DAC8;
}

.v370-wall-section.closet-dark .v370-comments-box {
  background: #1B1714;
  border-color: #3E342E;
}

.v370-comment-row {
  font-size: 0.75rem;
  line-height: 1.35;
  color: #382E25;
  margin-bottom: 5px;
  display: flex;
  gap: 5px;
  align-items: baseline;
  flex-wrap: wrap;
}

.v370-wall-section.closet-dark .v370-comment-row {
  color: #E5DDD3;
}

.v370-comment-row strong {
  color: #1F5E3B;
  font-weight: 900;
}

.v370-wall-section.closet-dark .v370-comment-row strong {
  color: #F7E7C4;
}

.v370-comment-input-row {
  margin-top: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
  background: #FFFFFF;
  border: 1px solid #DCD1BF;
  border-radius: 9px;
  padding: 4px 7px;
}

.v370-wall-section.closet-dark .v370-comment-input-row {
  background: #2A231F;
  border-color: #4D4038;
}

.v370-comment-input {
  flex: 1;
  min-width: 0;
  border: none !important;
  background: transparent !important;
  font-size: 0.75rem;
  font-weight: 600;
  color: #2B221B;
  padding: 2px 2px !important;
  outline: none !important;
  box-shadow: none !important;
}

.v370-wall-section.closet-dark .v370-comment-input {
  color: #F4EFE6;
}

.v370-comment-send-btn {
  background: #2E6F4E;
  color: #FFFFFF;
  border: none;
  border-radius: 7px;
  padding: 3px 8px;
  font-size: 0.71rem;
  font-weight: 800;
  cursor: pointer;
  flex-shrink: 0;
}

/* COLLAPSED SEEN / COMPLETED HISTORY BAR */
.v370-collapsed-seen-bar {
  margin-top: 8px;
  background: #F3EFE7;
  border: 1px dashed #C9BDA9;
  border-radius: 12px;
  padding: 8px 11px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
  font-weight: 800;
  color: #5E5244;
  cursor: pointer;
  text-align: start;
}

.v370-collapsed-seen-bar:hover {
  background: #EBE4D8;
}

.v370-seen-history-list {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #D6CBB8;
}

/* VISITOR ROOM PREVIEW SUBCARD INSIDE MY ROOM */
.v370-visitor-preview-card {
  margin-top: 9px;
  background: #FAF6F0;
  border: 1.5px dashed #C7B9A5;
  border-radius: 14px;
  padding: 9px 11px;
}

/* STRICT VISITOR SHARE LOCK IN ROOMS */
body.visiting-room .apple-folder-share-btn,
body.visiting-room .apple-item-send-fab,
body.visiting-room .v360-share-folder-pill,
body.visiting-room .civ-share-big-btn,
body.visiting-room .tile-send-to-chip {
  display: none !important;
}

.v370-visitor-folder-lock-tag {
  font-size: 0.68rem;
  font-weight: 800;
  color: #6B21A8;
  background: #F3E8FF;
  border: 1px solid #D8B4FE;
  border-radius: 999px;
  padding: 2px 8px;
  white-space: nowrap;
}

/* ============================================================================
   HOMA v3.8.0 — FIXED 2–3 POST SCROLLABLE TIMELINE WINDOW
   + "📁 SAVE TO…" (AI #1 BEST MATCH + FOLDERS) & "📤 SHARE…" (PEOPLE ONLY)
   ============================================================================ */

.v380-board-scroll-window {
  max-height: 385px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #EDE6D9;
  border: 1.5px solid #D6CBB9;
  border-radius: 16px;
  padding: 9px 10px 9px 9px;
  scrollbar-width: thin;
  scrollbar-color: #1F5C42 #DCD2C2;
}

.v380-board-scroll-window::-webkit-scrollbar {
  width: 6px;
}

.v380-board-scroll-window::-webkit-scrollbar-track {
  background: #DCD2C2;
  border-radius: 99px;
}

.v380-board-scroll-window::-webkit-scrollbar-thumb {
  background: #1F5C42;
  border-radius: 99px;
}

.v370-wall-section.closet-dark .v380-board-scroll-window {
  background: #1E1815;
  border-color: #4A3D34;
  scrollbar-color: #D4AF37 #2E2520;
}

.v370-wall-section.closet-dark .v380-board-scroll-window::-webkit-scrollbar-track {
  background: #2E2520;
}

.v370-wall-section.closet-dark .v380-board-scroll-window::-webkit-scrollbar-thumb {
  background: #D4AF37;
}

.v380-scroll-helper-strip {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
  padding: 0 4px;
  font-size: 0.7rem;
  font-weight: 800;
  color: #5A534A;
}

.v380-scroll-helper-strip .v380-auto-hide-note {
  color: #1F5C42;
}

.v370-wall-section.closet-dark .v380-scroll-helper-strip {
  color: #C7B9AC;
}

.v370-wall-section.closet-dark .v380-scroll-helper-strip .v380-auto-hide-note {
  color: #F7E7C4;
}

.v380-stay-visible-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #E8F4EE;
  color: #1F5C42;
  border: 1px solid #B7D9C6;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 0.67rem;
  font-weight: 900;
}

.v380-clean-action-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
  padding-top: 7px;
  border-top: 1px solid #EFE9DE;
  width: 100%;
}

.v370-wall-section.closet-dark .v380-clean-action-bar {
  border-top-color: #3E332C;
}

.v380-action-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  text-align: center;
  padding: 6px 4px;
  border-radius: 9px;
  font-size: 0.71rem;
  font-weight: 800;
  background: #F5F0E6;
  color: #3A342E;
  border: 1px solid #E2D9C8;
  cursor: pointer;
  white-space: nowrap;
}

.v380-action-pill.liked {
  background: #FDECE8;
  color: #B42318;
  border-color: #F5C2B8;
}

.v380-action-pill.primary-save {
  background: #E6F2EC;
  color: #1F5C42;
  border: 1px solid #B7D9C6;
}

.v380-action-pill.primary-share {
  background: #FDF0E6;
  color: #9A4820;
  border: 1px solid #E8C5B0;
}

.v370-wall-section.closet-dark .v380-action-pill {
  background: #2C241E;
  color: #E5DDD3;
  border-color: #4A3D34;
}

.v370-wall-section.closet-dark .v380-action-pill.primary-save {
  background: #1E3B2D;
  color: #A7F3D0;
  border-color: #2E6F4E;
}

.v370-wall-section.closet-dark .v380-action-pill.primary-share {
  background: #3B2D1D;
  color: #F7E7C4;
  border-color: #6B5335;
}

/* v3.8.0 Modals: "📁 Save To Folder…" & "📤 Share With People…" */
.v380-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(28, 22, 18, 0.58);
  backdrop-filter: blur(4px);
  z-index: 9990;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 14px;
}

.v380-modal-backdrop.open {
  display: flex;
}

.v380-sheet-card {
  width: 100%;
  max-width: 400px;
  background: #FFFFFF;
  border: 2.5px solid #1F5C42;
  border-radius: 24px;
  padding: 14px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
  color: #2A2622;
  max-height: 90vh;
  overflow-y: auto;
}

.v380-sheet-card.people-theme {
  border-color: #9A4820;
}

.v380-sheet-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 9px;
  border-bottom: 1px solid #EBE3D5;
  margin-bottom: 10px;
}

.v380-sheet-title {
  font-size: 1rem;
  font-weight: 900;
  color: #1F3A2E;
}

.v380-sheet-card.people-theme .v380-sheet-title {
  color: #7A3514;
}

.v380-close-btn {
  background: #F4EFE6;
  border: 1px solid #DED4C3;
  color: #5A534A;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 999px;
  cursor: pointer;
}

.v380-mode-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #EFE9DE;
  padding: 3px;
  border-radius: 12px;
  margin-bottom: 10px;
  gap: 4px;
}

.v380-mode-btn {
  text-align: center;
  padding: 7px 6px;
  font-size: 0.75rem;
  font-weight: 800;
  border-radius: 9px;
  color: #5A534A;
  background: transparent;
  border: none;
  cursor: pointer;
}

.v380-mode-btn.active {
  background: #1F5C42;
  color: #FFFFFF;
  box-shadow: 0 2px 6px rgba(31, 92, 66, 0.22);
}

.v380-ai-best-match {
  background: linear-gradient(135deg, #E8F6EE 0%, #D7EFE2 100%);
  border: 2px solid #1F5C42;
  border-radius: 15px;
  padding: 11px 12px;
  margin-bottom: 11px;
}

.v380-ai-tag {
  display: inline-block;
  background: #1F5C42;
  color: #FFFFFF;
  font-size: 0.66rem;
  font-weight: 900;
  padding: 3px 9px;
  border-radius: 999px;
  margin-bottom: 6px;
}

.v380-ai-folder-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.v380-ai-folder-name {
  font-size: 0.9rem;
  font-weight: 900;
  color: #143D2B;
}

.v380-ai-folder-reason {
  font-size: 0.71rem;
  font-weight: 600;
  color: #2E5943;
  margin-top: 2px;
}

.v380-ai-save-btn {
  background: #1F5C42;
  color: #FFFFFF;
  border: none;
  font-size: 0.76rem;
  font-weight: 900;
  padding: 7px 13px;
  border-radius: 10px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}

.v380-scroll-folder-list {
  background: #F8F4EC;
  border: 1.5px solid #DFD5C5;
  border-radius: 14px;
  padding: 8px 10px 8px 9px;
  max-height: 210px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #2D5A7B #DFD5C5;
}

.v380-scroll-folder-list::-webkit-scrollbar {
  width: 6px;
}

.v380-scroll-folder-list::-webkit-scrollbar-track {
  background: #DFD5C5;
  border-radius: 99px;
}

.v380-scroll-folder-list::-webkit-scrollbar-thumb {
  background: #2D5A7B;
  border-radius: 99px;
}

.v380-folder-option-row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #FFFFFF;
  border: 1px solid #E6DEC8;
  border-radius: 10px;
  padding: 8px 10px;
  margin-bottom: 6px;
  font-size: 0.77rem;
  font-weight: 800;
  color: #2A2622;
  cursor: pointer;
  text-align: start;
}

.v380-folder-option-row:hover {
  background: #EEF6F1;
  border-color: #1F5C42;
}

.v380-create-folder-btn {
  margin-top: 9px;
  width: 100%;
  text-align: center;
  font-size: 0.76rem;
  font-weight: 900;
  color: #1F5C42;
  background: #EFE9DE;
  border: 1px dashed #B9AC96;
  padding: 8px;
  border-radius: 10px;
  cursor: pointer;
}

.v380-person-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: #F8F4EC;
  border: 1.5px solid #E2D8C5;
  border-radius: 14px;
  padding: 10px 11px;
  margin-bottom: 8px;
}

.v380-person-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.v380-person-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #1F5C42;
  color: #FFFFFF;
  font-weight: 900;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.v380-person-avatar.mb {
  background: #B85D3B;
}

.v380-person-avatar.external {
  background: #2C2623;
}

.v380-person-info h4 {
  font-size: 0.83rem;
  font-weight: 900;
  color: #2A2622;
  margin: 0;
}

.v380-person-info span {
  font-size: 0.7rem;
  font-weight: 600;
  color: #6E655B;
  display: block;
  margin-top: 1px;
}

.v380-send-person-btn {
  background: #9A4820;
  color: #FFFFFF;
  border: none;
  font-size: 0.74rem;
  font-weight: 900;
  padding: 7px 12px;
  border-radius: 10px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}

.v380-send-person-btn.family-wall {
  background: #1F5C42;
}

.v380-send-person-btn.external {
  background: #2C2623;
}

.v380-board-scroll-window .v370-post-card {
  padding: 9px 10px;
  margin-bottom: 8px;
}
.v380-board-scroll-window .v370-post-photo {
  max-height: 74px;
  margin-bottom: 6px;
}
.v380-board-scroll-window .v370-post-body {
  font-size: 0.79rem;
  line-height: 1.34;
  margin-bottom: 6px;
}
.v380-board-scroll-window .v370-comments-box {
  margin-top: 6px;
  padding: 5px 8px;
}

/* ============================================================================
   HOMA v3.9.0 — PERSISTENT SEARCH FOCUS + "📍 AROUND ME" PICKER +
                 2-STEP "CHOOSE MAIN PLACE FIRST → THEN SUBFOLDER" SAVE/SEND
   ============================================================================ */

.v390-around-me-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 7px;
  flex-wrap: wrap;
}

.v390-around-me-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, #1F5C42 0%, #154530 100%);
  color: #FFFFFF;
  border: 1.5px solid #123B29;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 0.76rem;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 3px 8px rgba(31, 92, 66, 0.22);
  transition: transform 0.12s ease;
}

.v390-around-me-pill-btn:active {
  transform: scale(0.97);
}

.v390-around-me-addr-hint {
  font-size: 0.7rem;
  font-weight: 700;
  color: #5A5147;
  background: #EFE8DC;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid #DFD4C2;
  cursor: pointer;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Search Bar in My Room / Closet / Visiting Room */
.v390-room-search-bar {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 10px;
}

/* Live Search Results Box below Header (Never re-renders header input!) */
.v390-search-results-box {
  background: #FFFDF9;
  border: 2px solid #1F5C42;
  border-radius: 18px;
  padding: 11px 12px;
  margin-bottom: 14px;
  box-shadow: 0 8px 20px rgba(31, 92, 66, 0.1);
}

.v390-search-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 9px;
  padding-bottom: 7px;
  border-bottom: 1px solid #EAE1D3;
}

.v390-search-results-title {
  font-size: 0.82rem;
  font-weight: 900;
  color: #1F3A2E;
}

.v390-search-clear-btn {
  background: #F3ECE0;
  border: 1px solid #D8CEBE;
  color: #5A5147;
  font-size: 0.71rem;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 999px;
  cursor: pointer;
}

.v390-around-me-search-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: linear-gradient(135deg, #E8F6EE 0%, #D6EFE1 100%);
  border: 1.5px solid #1F5C42;
  border-radius: 13px;
  padding: 9px 11px;
  margin-bottom: 8px;
  cursor: pointer;
}

.v390-search-hit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: #F8F4EC;
  border: 1px solid #E4DAC8;
  border-radius: 11px;
  padding: 8px 10px;
  margin-bottom: 6px;
}

.v390-search-hit-info {
  min-width: 0;
  flex: 1;
}

.v390-search-hit-title {
  font-size: 0.8rem;
  font-weight: 900;
  color: #2A2520;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.v390-search-hit-sub {
  font-size: 0.69rem;
  font-weight: 600;
  color: #6B6257;
}

/* "📍 Around Me" Modal (#v390-around-me-modal) */
.v390-gps-address-box {
  background: #F4EFE6;
  border: 1.5px solid #DDD2C0;
  border-radius: 14px;
  padding: 9px 11px;
  margin-bottom: 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.v390-gps-addr-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.v390-gps-pin-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #1F5C42;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.92rem;
  flex-shrink: 0;
}

.v390-gps-addr-label {
  font-size: 0.65rem;
  font-weight: 800;
  color: #6B6257;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.v390-gps-addr-value {
  font-size: 0.81rem;
  font-weight: 900;
  color: #1F2421;
  line-height: 1.25;
}

.v390-gps-refresh-btn {
  background: #FFFFFF;
  border: 1px solid #C8B9A6;
  color: #1F5C42;
  font-size: 0.7rem;
  font-weight: 900;
  padding: 5px 9px;
  border-radius: 9px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}

.v390-cat-chips-row {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  padding-bottom: 4px;
  margin-bottom: 8px;
}

.v390-cat-chip {
  background: #F4EFE6;
  border: 1px solid #DED4C3;
  color: #5A534A;
  font-size: 0.71rem;
  font-weight: 800;
  padding: 5px 10px;
  border-radius: 999px;
  white-space: nowrap;
  cursor: pointer;
}

.v390-cat-chip.active {
  background: #1F5C42;
  border-color: #1F5C42;
  color: #FFFFFF;
}

.v390-places-scroll-list {
  max-height: 295px;
  overflow-y: auto;
  padding-right: 2px;
  margin-bottom: 10px;
}

.v390-place-card {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  background: #F9F6F0;
  border: 1.5px solid #E3DACB;
  border-radius: 13px;
  padding: 9px 10px;
  margin-bottom: 7px;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease;
}

.v390-place-card.selected {
  background: #EAF6EF;
  border-color: #1F5C42;
}

.v390-place-check {
  width: 21px;
  height: 21px;
  border-radius: 6px;
  border: 2px solid #B5A895;
  background: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 900;
  color: transparent;
  flex-shrink: 0;
  margin-top: 2px;
}

.v390-place-card.selected .v390-place-check {
  background: #1F5C42;
  border-color: #1F5C42;
  color: #FFFFFF;
}

.v390-place-info {
  flex: 1;
  min-width: 0;
}

.v390-place-name {
  font-size: 0.82rem;
  font-weight: 900;
  color: #22201E;
  line-height: 1.24;
}

.v390-place-addr {
  font-size: 0.71rem;
  font-weight: 700;
  color: #4A433C;
  margin-top: 2px;
}

.v390-place-meta {
  font-size: 0.67rem;
  font-weight: 800;
  color: #1F5C42;
  margin-top: 2px;
}

.v390-primary-cta-btn {
  width: 100%;
  background: linear-gradient(135deg, #1F5C42 0%, #164430 100%);
  color: #FFFFFF;
  border: none;
  border-radius: 13px;
  padding: 11px 14px;
  font-size: 0.84rem;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 6px 14px rgba(31, 92, 66, 0.25);
}

/* 2-Step Save / Send Modal Styles (Step 1: Main Places Only -> Step 2: Subfolders) */
.v390-step-pill-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-bottom: 8px;
}

.v390-step-badge {
  display: inline-block;
  background: #E8F4EC;
  color: #1F5C42;
  border: 1px solid #B7DEC6;
  font-size: 0.65rem;
  font-weight: 900;
  padding: 3px 9px;
  border-radius: 999px;
  letter-spacing: 0.03em;
}

.v390-target-preview-strip {
  background: #F5F0E6;
  border: 1px solid #E2D8C7;
  border-radius: 10px;
  padding: 6px 10px;
  font-size: 0.73rem;
  font-weight: 800;
  color: #3D362F;
  margin-bottom: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.v390-main-space-card {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  background: #F9F6F0;
  border: 2px solid #DFD5C5;
  border-radius: 15px;
  padding: 10px 11px;
  margin-bottom: 8px;
  cursor: pointer;
  text-align: start;
  transition: border-color 0.12s ease, background 0.12s ease;
}

.v390-main-space-card:hover {
  border-color: #1F5C42;
  background: #EFF8F3;
}

.v390-main-space-card.mb-direct {
  background: #FDF3EC;
  border-color: #E2B89C;
}

.v390-main-space-card.mb-direct:hover {
  border-color: #B85D3B;
  background: #FBE9DC;
}

.v390-space-card-left {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1;
}

.v390-space-icon-box {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #E5EFE9;
  color: #1F5C42;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  flex-shrink: 0;
}

.v390-main-space-card.mb-direct .v390-space-icon-box {
  background: #F6DEC9;
  color: #9A4820;
}

.v390-space-text-col {
  min-width: 0;
  flex: 1;
}

.v390-space-title {
  font-size: 0.85rem;
  font-weight: 900;
  color: #22201E;
  line-height: 1.22;
}

.v390-space-sub {
  font-size: 0.69rem;
  font-weight: 700;
  color: #655C52;
  margin-top: 2px;
  line-height: 1.25;
}

.v390-mb-privacy-lock {
  display: inline-block;
  margin-top: 3px;
  font-size: 0.64rem;
  font-weight: 900;
  color: #9A4820;
  background: #F8E2D0;
  padding: 2px 7px;
  border-radius: 999px;
}

.v390-space-action-pill {
  background: #1F5C42;
  color: #FFFFFF;
  font-size: 0.73rem;
  font-weight: 900;
  padding: 7px 11px;
  border-radius: 10px;
  white-space: nowrap;
  flex-shrink: 0;
}

.v390-main-space-card.mb-direct .v390-space-action-pill {
  background: #B85D3B;
}

.v390-back-places-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #F3ECE0;
  border: 1.5px solid #D5C8B4;
  color: #2A2520;
  font-size: 0.74rem;
  font-weight: 900;
  padding: 5px 11px;
  border-radius: 999px;
  cursor: pointer;
}

.v390-chosen-space-banner {
  background: #F3EFE8;
  border: 1.5px solid #DED3C1;
  border-radius: 12px;
  padding: 8px 11px;
  margin-bottom: 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.v390-chosen-space-name {
  font-size: 0.83rem;
  font-weight: 900;
  color: #1F3A2E;
}

.v390-chosen-space-note {
  font-size: 0.68rem;
  font-weight: 700;
  color: #6B6257;
}

.v380-folder-option-row.v390-subfolder-row {
  margin-left: 14px;
  width: calc(100% - 14px);
  background: #FCF9F4;
  border-left: 3px solid #1F5C42;
  font-size: 0.74rem;
  padding: 7px 10px;
}

.v390-subfolder-tag {
  display: inline-block;
  background: #E5F2EB;
  color: #1F5C42;
  font-size: 0.62rem;
  font-weight: 900;
  padding: 1px 6px;
  border-radius: 999px;
  margin-left: 5px;
}

/* ============================================================================
   HOMA v3.9.1 — TAP MESSAGE TO OPEN FULL FOLDER-STYLE READ-ONLY VIEW +
                 AUTOMATICALLY MARK AS SEEN WHEN OPENED
   ============================================================================ */
.v370-post-card.v391-clickable-post {
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}
.v370-post-card.v391-clickable-post:active {
  transform: scale(0.992);
}
.v391-tap-open-hint {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.67rem;
  font-weight: 800;
  color: #1F5C42;
  background: #EAF5EE;
  border: 1px solid #BFE0CC;
  border-radius: 999px;
  padding: 2px 9px;
  margin-bottom: 6px;
}
.v391-auto-seen-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #E7F6EC;
  border: 1.5px solid #237A4B;
  color: #165634;
  font-size: 0.75rem;
  font-weight: 900;
  padding: 5px 11px;
  border-radius: 999px;
  margin-top: 6px;
}

/* ============================================================================
   HOMA v3.9.2 — X-STYLE SOCIAL BAR ON FULL ITEM VIEW + SENDER-ONLY EDIT/DELETE
                 + MOVE CLICKED/SEEN MESSAGES TO BOTTOM SEEN SECTION
   ============================================================================ */
.v392-item-social-section {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1.5px solid #EAE0D2;
}
.v392-item-social-title {
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #7A6A58;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.v392-owner-tools-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px dashed #E5DAC9;
  flex-wrap: wrap;
}
.v392-owner-badge {
  font-size: 0.68rem;
  font-weight: 800;
  color: #5D4E3E;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.v392-owner-badge.locked {
  color: #7C5836;
  background: #FAF2E6;
  border: 1px solid #E6D2B5;
  padding: 3px 9px;
  border-radius: 999px;
}
.v392-owner-btn-group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.v392-mini-edit-btn,
.v392-mini-delete-btn {
  border-radius: 999px;
  font-size: 0.69rem;
  font-weight: 800;
  padding: 4px 10px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.14s ease;
}
.v392-mini-edit-btn {
  background: #F4EFE6;
  border: 1px solid #D4C5B1;
  color: #2E241B;
}
.v392-mini-edit-btn:hover {
  background: #EAE0D1;
}
.v392-mini-delete-btn {
  background: #FFF1F0;
  border: 1px solid #F3B7B3;
  color: #B42318;
}
.v392-mini-delete-btn:hover {
  background: #FFE2DF;
}
.v392-seen-bottom-section {
  margin-top: 10px;
  background: #F5F0E6;
  border: 1.5px solid #DDD1BE;
  border-radius: 14px;
  padding: 8px 10px;
}
.v392-seen-bottom-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  cursor: pointer;
  padding: 4px 2px;
}
.v392-seen-bottom-title {
  font-size: 0.78rem;
  font-weight: 900;
  color: #2D5A40;
  display: flex;
  align-items: center;
  gap: 6px;
}
.v392-seen-bottom-toggle {
  font-size: 0.71rem;
  font-weight: 800;
  color: #5A4C3C;
  background: #FFFFFF;
  border: 1px solid #D5C7B2;
  border-radius: 999px;
  padding: 3px 9px;
}

/* ============================================================================
   HOMA v4.0.0 — ZERO-CLUTTER CARDS + 1-TAP AI QUICK SAVE + VOICE NOTE PLAYER +
                 TAPBACK REACTIONS + TODAY IN OUR HOUSE + WARRANTY COUNTDOWN
   ============================================================================ */
.v400-today-brief-strip {
  background: linear-gradient(135deg, #FFFDF9 0%, #F5EFE4 100%);
  border: 1.5px solid #DFC9A8;
  border-radius: 14px;
  padding: 8px 12px;
  margin-bottom: 10px;
  box-shadow: 0 3px 10px rgba(60, 42, 22, 0.05);
}
.v400-today-brief-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  cursor: pointer;
}
.v400-today-brief-text {
  font-size: 0.76rem;
  font-weight: 800;
  color: #2E2318;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.v400-today-brief-toggle {
  font-size: 0.68rem;
  font-weight: 800;
  color: #1F5C42;
  background: #EAF5EE;
  border: 1px solid #BFE0CC;
  border-radius: 999px;
  padding: 2px 8px;
  white-space: nowrap;
}
.v400-today-brief-drawer {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #DFC9A8;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.v400-today-bullet {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: #FFFFFF;
  border: 1px solid #E6DAC8;
  border-radius: 10px;
  padding: 6px 9px;
  font-size: 0.74rem;
  font-weight: 700;
  color: #2E2318;
}
.v400-today-chip {
  background: #1F5C42;
  color: #FFFFFF;
  border: none;
  border-radius: 999px;
  padding: 3px 9px;
  font-size: 0.67rem;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
/* Native 3-card stack without inner scroll trap */
.v400-native-board-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.v370-post-card.v400-compact-card {
  padding: 10px 12px;
  border-radius: 14px;
}
.v400-voice-note-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: linear-gradient(135deg, #EAF5EE 0%, #DEF0E5 100%);
  border: 1.5px solid #8CC6A3;
  border-radius: 12px;
  padding: 6px 10px;
  margin: 6px 0;
}
.v400-voice-play-btn {
  background: #1F5C42;
  color: #FFFFFF;
  border: none;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.72rem;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.v400-voice-wave {
  flex: 1;
  font-size: 0.72rem;
  font-weight: 800;
  color: #164932;
  letter-spacing: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v400-voice-speed-btn {
  background: #FFFFFF;
  color: #1F5C42;
  border: 1px solid #8CC6A3;
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 0.66rem;
  font-weight: 900;
  cursor: pointer;
}
.v400-unfurled-meta-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 5px 0;
}
.v400-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #F6F1E7;
  border: 1px solid #DCD0BE;
  color: #3A2E21;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 999px;
  text-decoration: none;
}
.v400-tapback-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.v400-tapback-group {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #F7F2E9;
  border: 1px solid #E2D6C3;
  border-radius: 999px;
  padding: 2px 6px;
}
.v400-tapback-btn {
  background: transparent;
  border: none;
  border-radius: 999px;
  padding: 2px 6px;
  font-size: 0.72rem;
  font-weight: 800;
  cursor: pointer;
  color: #3B2F23;
  transition: transform 0.1s ease, background 0.12s ease;
}
.v400-tapback-btn.active {
  background: #FFE4E1;
  color: #B42318;
  transform: scale(1.06);
}
.v400-quick-save-hero {
  background: linear-gradient(135deg, #E8F6EE 0%, #D7EFE1 100%);
  border: 2px solid #1F5C42;
  border-radius: 14px;
  padding: 10px 12px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.v400-quick-save-btn {
  background: #1F5C42;
  color: #FFFFFF;
  border: none;
  border-radius: 10px;
  padding: 8px 12px;
  font-size: 0.76rem;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}
.v400-inline-new-folder-box {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  background: #F9F5ED;
  border: 1.5px dashed #C7B69E;
  border-radius: 12px;
  padding: 6px 8px;
}
.v400-inline-new-folder-input {
  flex: 1;
  border: 1px solid #D7C9B6;
  border-radius: 8px;
  padding: 6px 9px;
  font-size: 0.76rem;
  font-family: inherit;
  background: #FFFFFF;
}
.v400-warranty-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.65rem;
  font-weight: 900;
  padding: 2px 7px;
  border-radius: 999px;
  margin-top: 3px;
}
.v400-warranty-badge.expiring {
  background: #FEF3C7;
  border: 1px solid #F59E0B;
  color: #92400E;
}
.v400-warranty-badge.active {
  background: #E7F6EC;
  border: 1px solid #65B887;
  color: #165634;
}

/* ============================================================================
   HOMA v4.0.0 — BOTTOM-ONLY LOCATION HUB (GOOGLE MAPS, SHARE, SAVE TO FOLDER,
                 NEW FOLDER) + TOP BAR CLEANUP
   ============================================================================ */
.v390-around-me-row {
  display: none !important;
}
.v400-loc-hub-card {
  background: linear-gradient(135deg, #FFFDF9 0%, #F4EFE4 100%);
  border: 2px solid #1F5C42;
  border-radius: 16px;
  padding: 12px;
  margin-bottom: 12px;
  box-shadow: 0 4px 14px rgba(31, 92, 66, 0.08);
}
.v400-loc-hub-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.v400-loc-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.67rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #165634;
  background: #E7F6EC;
  border: 1px solid #8CC6A3;
  padding: 2px 8px;
  border-radius: 999px;
  margin-bottom: 4px;
}
.v400-loc-exact-addr {
  font-size: 0.94rem;
  font-weight: 900;
  color: #231B12;
  line-height: 1.3;
}
.v400-loc-coords {
  font-size: 0.71rem;
  font-weight: 700;
  color: #6B5D4D;
  margin-top: 2px;
}
.v400-loc-custom-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 8px 0;
}
.v400-loc-custom-input {
  flex: 1;
  border: 1px solid #D5C7B2;
  border-radius: 10px;
  padding: 7px 10px;
  font-size: 0.77rem;
  font-family: inherit;
  background: #FFFFFF;
  color: #231B12;
}
.v400-loc-actions-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-top: 8px;
}
.v400-loc-act-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 11px;
  font-size: 0.74rem;
  font-weight: 900;
  cursor: pointer;
  border: 1.5px solid #D5C7B2;
  background: #FFFFFF;
  color: #2B2118;
  text-decoration: none;
  transition: all 0.14s ease;
}
.v400-loc-act-btn.primary {
  background: #1F5C42;
  border-color: #1F5C42;
  color: #FFFFFF;
}
.v400-loc-act-btn.accent {
  background: #EAF5EE;
  border-color: #237A4B;
  color: #165634;
}
.v400-loc-new-folder-drawer {
  margin-top: 8px;
  padding: 8px 10px;
  background: #FFFFFF;
  border: 1.5px dashed #1F5C42;
  border-radius: 12px;
}

/* ============================================================================
   HOMA v4.0.1 — INITIALLY HIDDEN UNSEEN & SEEN MESSAGE BARS WITH COUNT BADGE +
                 15-SECOND IDLE AUTO-COLLAPSE
   ============================================================================ */
.v401-collapsible-msg-bar {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 13px;
  border-radius: 13px;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  transition: all 0.16s ease;
  margin-top: 8px;
}
.v401-collapsible-msg-bar.unseen-bar {
  background: linear-gradient(135deg, #FFF5F2 0%, #FDE8E2 100%);
  border: 1.5px solid #E89B88;
  color: #7A271A;
  box-shadow: 0 3px 10px rgba(180, 35, 24, 0.07);
}
.v401-collapsible-msg-bar.unseen-bar.zero {
  background: #F4EFE6;
  border: 1.5px solid #D8CBB8;
  color: #4A3E31;
  box-shadow: none;
}
.v401-collapsible-msg-bar.seen-bar {
  background: #F5F0E6;
  border: 1.5px solid #DDD1BE;
  color: #2D5A40;
}
.v401-bar-left {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  font-weight: 900;
}
.v401-count-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 900;
}
.v401-count-pill.unseen {
  background: #D92D20;
  color: #FFFFFF;
}
.v401-count-pill.seen {
  background: #237A4B;
  color: #FFFFFF;
}
.v401-bar-right {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.71rem;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 3px 9px;
  border-radius: 999px;
  color: #3B2F23;
}
.v401-idle-timer-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.66rem;
  font-weight: 800;
  color: #6B5D4D;
  background: #FAF5EC;
  border: 1px dashed #D5C7B2;
  border-radius: 999px;
  padding: 3px 10px;
  margin-top: 6px;
}

/* ============================================================================
   HOMA v4.1.0 — STORE-ARRIVAL BUYING LISTS (BUNNINGS / COLES / IKEA / CHEMIST)
                 + GOOGLE/IPHONE CALENDAR SYNC + CONDITIONAL TODAY BRIEF +
                 WARRANTY COUNTDOWN BADGES
   ============================================================================ */
.v410-today-store-strip {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 13px;
  border-radius: 13px;
  background: linear-gradient(135deg, #F3F8F5 0%, #E4F0E8 100%);
  border: 1.5px solid #B7D4C2;
  color: #1A432B;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  margin-top: 8px;
  transition: all 0.16s ease;
}
.v410-today-store-strip:hover {
  background: #DFEDE4;
}
.v410-store-drawer {
  margin-top: 8px;
  background: #FFFDF9;
  border: 1.5px solid #C6DACD;
  border-radius: 15px;
  padding: 12px;
  box-shadow: 0 6px 18px rgba(27, 67, 50, 0.08);
}
.v410-store-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 6px;
  margin-bottom: 8px;
}
.v410-store-tab {
  border: 1.5px solid #D8CBB8;
  background: #FAF5EC;
  color: #3B2F23;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 6px 11px;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
}
.v410-store-tab.active {
  background: #1B4332;
  border-color: #1B4332;
  color: #FFFFFF;
}
.v410-checklist-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #FAF6EE;
  border: 1px solid #E6DEC8;
  margin-bottom: 6px;
  cursor: pointer;
}
.v410-checklist-item.done {
  opacity: 0.62;
  background: #F2EFE9;
}
.v410-checklist-item.done .v410-item-text {
  text-decoration: line-through;
}
.v410-item-left {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8rem;
  font-weight: 700;
  color: #2A2118;
}
.v410-item-source {
  font-size: 0.65rem;
  font-weight: 800;
  color: #5C5042;
  background: #EFE7D8;
  padding: 2px 7px;
  border-radius: 999px;
  white-space: nowrap;
}
.v410-arrival-banner {
  margin: 10px 0;
  padding: 13px 14px;
  border-radius: 16px;
  background: linear-gradient(135deg, #FFF7E8 0%, #FDE8C4 100%);
  border: 2px solid #E09F3E;
  box-shadow: 0 8px 22px rgba(224, 159, 62, 0.18);
}
.v410-arrival-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.88rem;
  font-weight: 900;
  color: #5C3409;
  margin-bottom: 8px;
}
.v410-cal-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.v410-cal-btn {
  flex: 1 1 auto;
  border: 1px solid #C8B9A6;
  background: #FFFFFF;
  color: #1B4332;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 7px 10px;
  border-radius: 10px;
  cursor: pointer;
  text-align: center;
}
.v410-cal-btn.primary {
  background: #1B4332;
  border-color: #1B4332;
  color: #FFFFFF;
}
.v410-warranty-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.67rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 999px;
}
.v410-warranty-pill.soon {
  background: #FEF0C7;
  color: #93370D;
  border: 1px solid #F7B267;
}
.v410-warranty-pill.active {
  background: #E7F6EC;
  color: #1B5E38;
  border: 1px solid #A9DFBF;
}

/* ============================================================================
   HOMA v4.1.2 — PREVENT ANY MODAL FROM OVERFLOWING / FREEZING IPHONE SCREEN
                 + COMPACT 1-TAP SHARE & PASTE HUB
   ============================================================================ */
.modal-backdrop {
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 14px 12px !important;
}
.modal-backdrop .modal-card {
  max-height: 84vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  position: relative !important;
  box-sizing: border-box !important;
}
.v412-share-action-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1.5px solid #D8CBB8;
  background: #FAF6EE;
  color: #231F1A;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  margin-bottom: 9px;
  transition: all 0.15s ease;
}
.v412-share-action-card.primary {
  background: linear-gradient(135deg, #1B4332 0%, #2D6A4F 100%);
  border-color: #1B4332;
  color: #FFFFFF;
}
.v412-share-action-card:active {
  transform: scale(0.985);
}
.v412-paste-input-row {
  display: flex;
  gap: 6px;
  margin: 6px 0 12px;
}
.v412-paste-input {
  flex: 1;
  padding: 10px 12px;
  border-radius: 11px;
  border: 1.5px solid #C8B9A6;
  background: #FFFFFF;
  font-size: 0.84rem;
  font-family: inherit;
}

/* ============================================================================
   HOMA v4.2.0 — 1-TAP PLACE CHECK-IN (📍 CHECK IN) + COLLAPSED LOCATION /
                 VISIT LOG AT END OF EACH LOCATION ITEM + 15s IDLE AUTO-HIDE +
                 SMART RELATIVE-DATE MEMORY SEARCH ("2 months ago cafe")
   ============================================================================ */
.v420-tile-footer {
  margin-top: 7px;
  padding-top: 6px;
  border-top: 1px dashed #DFD4C3;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.v420-tile-bar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
}
.v420-checkin-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: linear-gradient(135deg, #1B4332 0%, #2D6A4F 100%);
  color: #FFFFFF;
  border: 1px solid #143627;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 0.68rem;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 2px 5px rgba(27, 67, 50, 0.18);
  transition: transform 0.12s ease;
}
.v420-checkin-pill-btn:active {
  transform: scale(0.95);
}
.v420-log-toggle-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #F4ECE0;
  color: #4A3B2C;
  border: 1px solid #D5C5B0;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 0.66rem;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
.v420-log-toggle-pill.active {
  background: #231F1A;
  color: #FFFDF9;
  border-color: #231F1A;
}
.v420-tile-log-drawer {
  background: #FAF6EE;
  border: 1px solid #D8CBB8;
  border-radius: 10px;
  padding: 7px 8px;
  font-size: 0.68rem;
  color: #2C221A;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.04);
}
.v420-civ-bottom-log-section {
  margin-top: 14px;
  border-top: 1.5px dashed #D8CBB8;
  padding-top: 12px;
}
.v420-civ-collapsed-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  background: #F6F0E4;
  border: 1.5px solid #D8CBB8;
  border-radius: 13px;
  padding: 9px 12px;
  cursor: pointer;
  transition: background 0.15s ease;
}
.v420-civ-collapsed-bar:hover {
  background: #EFE6D5;
}
.v420-civ-expanded-card {
  margin-top: 8px;
  background: #FCF9F2;
  border: 1.5px solid #CBBBA4;
  border-radius: 14px;
  padding: 11px 12px;
  box-shadow: 0 4px 12px rgba(35, 31, 26, 0.07);
}
.v420-visit-entry-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 9px;
  border-radius: 10px;
  background: #FFFFFF;
  border: 1px solid #E5DAC9;
  margin-bottom: 6px;
}
.v420-visit-rel-badge {
  display: inline-block;
  background: #E8F5E9;
  color: #1B4332;
  border: 1px solid #B7E4C7;
  border-radius: 999px;
  padding: 1px 7px;
  font-size: 0.65rem;
  font-weight: 900;
  margin-left: 4px;
}
.v420-idle-timer-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: #FFF3CD;
  color: #7A5400;
  border: 1px solid #F0D98C;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 0.66rem;
  font-weight: 800;
}
.v420-memory-hit-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 3px;
  background: #E8F5E9;
  color: #1B4332;
  border: 1px solid #A3D9B5;
  border-radius: 8px;
  padding: 3px 7px;
  font-size: 0.68rem;
  font-weight: 800;
}

/* ============================================================================
   HOMA v4.3.0 — DEDICATED CALENDAR & PLANS SECTION (UNDER MESSAGE BOARD IN ALL
                 SPACES, AUTO-SHOWS TODAY'S DUE PLANS, EXPANDS CHRONOLOGICAL
                 NEAREST -> FURTHEST TIMELINE WITH 15s IDLE AUTO-HIDE, REMOVED
                 FROM REGULAR FOLDER GRID) + LOCATION / CHECK-IN PLAN POP-UP
                 REMINDER (NO AUTOMATIC STORE LISTS STRIP)
   ============================================================================ */
.v430-calendar-section-wrap {
  margin: 10px 0 12px;
  background: #FCF9F2;
  border: 1.5px solid #D8CBB8;
  border-radius: 16px;
  padding: 10px 12px;
  box-shadow: 0 3px 10px rgba(35, 31, 26, 0.05);
}
.v430-calendar-bar-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  background: linear-gradient(135deg, #234E3A 0%, #1B4332 100%);
  color: #FFFFFF;
  border: 1.5px solid #143627;
  border-radius: 12px;
  padding: 10px 13px;
  font-family: inherit;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 2px 7px rgba(27, 67, 50, 0.18);
  transition: transform 0.12s ease;
}
.v430-calendar-bar-btn:active {
  transform: scale(0.99);
}
.v430-cal-count-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #FFFDF9;
  color: #1B4332;
  font-size: 0.72rem;
  font-weight: 900;
  border-radius: 999px;
  padding: 2px 8px;
}
.v430-due-today-auto-box {
  margin-top: 8px;
  background: linear-gradient(135deg, #FFF8E7 0%, #FFF1D0 100%);
  border: 1.5px solid #E09F3E;
  border-radius: 12px;
  padding: 9px 11px;
}
.v430-due-today-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 900;
  color: #8C4A00;
  margin-bottom: 6px;
}
.v430-due-today-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  background: #FFFFFF;
  border: 1px solid #F0D290;
  border-radius: 10px;
  padding: 8px 10px;
  margin-top: 5px;
  cursor: pointer;
}
.v430-chronological-drawer {
  margin-top: 10px;
  background: #FFFFFF;
  border: 1.5px solid #D8CBB8;
  border-radius: 14px;
  padding: 11px 12px;
}
.v430-chrono-list-scroll {
  max-height: 190px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-right: 2px;
}
.v430-event-card {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 11px;
  border-radius: 12px;
  background: #FAF6EE;
  border: 1.5px solid #E4D9C8;
  margin-bottom: 8px;
  transition: border-color 0.15s ease;
}
.v430-event-card.is-today {
  background: #FFF9EB;
  border-color: #E09F3E;
}
.v430-event-card.is-done {
  opacity: 0.65;
  background: #F3EFE8;
}
.v430-date-badge-col {
  min-width: 62px;
  text-align: center;
  background: #1B4332;
  color: #FFFFFF;
  border-radius: 10px;
  padding: 6px 5px;
  flex-shrink: 0;
}
.v430-event-card.is-today .v430-date-badge-col {
  background: #D97706;
}
.v430-date-badge-month {
  font-size: 0.62rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  opacity: 0.92;
}
.v430-date-badge-day {
  font-size: 1.05rem;
  font-weight: 900;
  line-height: 1.15;
}
.v430-date-badge-rel {
  font-size: 0.58rem;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  padding: 1px 5px;
  margin-top: 3px;
  display: inline-block;
}
.v430-event-main {
  flex: 1;
  min-width: 0;
}
.v430-event-title {
  font-size: 0.83rem;
  font-weight: 900;
  color: #1F1A15;
  line-height: 1.28;
}
.v430-event-desc {
  font-size: 0.74rem;
  color: #4A3F35;
  margin-top: 3px;
  line-height: 1.35;
}
.v430-event-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 5px;
  font-size: 0.68rem;
  font-weight: 800;
  color: #1B4332;
}
.v430-loc-reminder-popup-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(24, 20, 16, 0.62);
  backdrop-filter: blur(4px);
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.v430-loc-reminder-popup-card {
  width: 100%;
  max-width: 410px;
  max-height: 84vh;
  overflow-y: auto;
  background: #FFFDF9;
  border: 2px solid #D97706;
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

/* ============================================================================
   HOMA v4.3.1 — AUTOMATIC PAST PLANS ARCHIVE + UNIVERSAL DELETE CONFIRMATION
   ============================================================================ */
.v431-past-plans-wrap {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1.5px dashed #DFD3C0;
}
.v431-past-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: #F4EFE6;
  color: #5C5043;
  border: 1px solid #D8CBB8;
  border-radius: 10px;
  padding: 8px 11px;
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 800;
  cursor: pointer;
}
.v431-past-drawer {
  margin-top: 8px;
  background: #F9F6F0;
  border: 1px solid #DFD3C0;
  border-radius: 12px;
  padding: 9px 10px;
}
.v431-past-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: #FFFFFF;
  border: 1px solid #E5DCCB;
  border-radius: 10px;
  padding: 8px 10px;
  margin-bottom: 6px;
  opacity: 0.86;
}
.v431-del-icon-btn {
  border: 1px solid #FECACA;
  background: #FEF2F2;
  color: #B91C1C;
  border-radius: 9px;
  padding: 5px 8px;
  font-size: 0.7rem;
  font-weight: 900;
  cursor: pointer;
  flex-shrink: 0;
}
.v431-confirm-delete-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(20, 16, 12, 0.66);
  backdrop-filter: blur(4px);
  z-index: 15000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.v431-confirm-delete-card {
  width: 100%;
  max-width: 370px;
  background: #FFFDF9;
  border: 2px solid #DC2626;
  border-radius: 20px;
  padding: 18px 16px;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.32);
  text-align: center;
}

/* ============================================================================
   HOMA v4.3.3 — MICROSOFT WINDOWS EXPLORER-STYLE "⬆️ UP ONE LEVEL" + PATH BAR
   ============================================================================ */
.v433-win-explorer-bar {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #F7F2E7;
  border: 1.5px solid #D5C7B2;
  border-radius: 13px;
  padding: 6px 9px;
  margin: 6px 0 10px;
  box-shadow: inset 0 1px 0 #FFFFFF, 0 2px 5px rgba(35, 31, 26, 0.04);
}
.v433-up-level-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: linear-gradient(135deg, #1B4332 0%, #2D6A4F 100%);
  color: #FFFFFF;
  border: 1px solid #143627;
  border-radius: 9px;
  padding: 6px 10px;
  font-family: inherit;
  font-size: 0.73rem;
  font-weight: 900;
  cursor: pointer;
  flex-shrink: 0;
  box-shadow: 0 2px 5px rgba(27, 67, 50, 0.18);
}
.v433-up-level-btn.at-root {
  background: #EAE2D3;
  color: #7A6E60;
  border-color: #D5C7B2;
  box-shadow: none;
  cursor: default;
}
.v433-path-address-box {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
  min-width: 0;
  background: #FFFFFF;
  border: 1px solid #DCD0BE;
  border-radius: 9px;
  padding: 5px 8px;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
.v433-path-seg-btn {
  background: none;
  border: none;
  padding: 2px 5px;
  border-radius: 6px;
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  color: #1B4332;
  cursor: pointer;
}
.v433-path-seg-btn.current {
  background: #E8F5E9;
  color: #143627;
  font-weight: 900;
}
.v433-path-sep {
  color: #9E9284;
  font-size: 0.72rem;
  font-weight: 900;
}

/* ============================================================================
   HOMA v4.3.4 — TOP 3 SPACE BUTTONS (LIVING ROOM · MY ROOM · PRIVATE CLOSET)
                 + WINDOWS EXPLORER "⬆️ UP ONE LEVEL" BAR
   ============================================================================ */
.v434-top-nav-container {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 6px 0 10px;
}
.v434-three-spaces-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  background: #F4EDE0;
  border: 1.5px solid #D5C7B2;
  border-radius: 13px;
  padding: 5px;
  box-shadow: inset 0 1px 0 #FFFFFF, 0 2px 5px rgba(35, 31, 26, 0.05);
}
.v434-space-tab-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 4px;
  border-radius: 9px;
  border: 1px solid transparent;
  background: #FFFFFF;
  color: #3A3228;
  font-family: inherit;
  font-size: 0.73rem;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
  box-shadow: 0 1px 2px rgba(35, 31, 26, 0.05);
}
.v434-space-tab-btn.active {
  background: linear-gradient(135deg, #1B4332 0%, #2D6A4F 100%);
  color: #FFFFFF;
  border-color: #143627;
  font-weight: 900;
  box-shadow: 0 2px 6px rgba(27, 67, 50, 0.22);
}
.v434-up-and-path-row {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #F7F2E7;
  border: 1.5px solid #D5C7B2;
  border-radius: 11px;
  padding: 5px 8px;
}


/* ============================================================================
   HOMA v4.4.0 — DYNAMIC INTERACTIVE TOP SCENE CARD, DOOR NAMEPLATES,
   INTEGRATED LOCATION IN SEARCH BAR, & 6-BUTTON BOTTOM NAVIGATION BAR
   ============================================================================ */
.app-header,
#space-switcher-bar,
#global-search-wrap,
#big-plus-wrap,
.v350-top-mini-bar,
.v434-top-nav-container {
  display: none !important;
}

.app-main {
  padding-top: 6px !important;
}

#house-architecture-hero {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

.v440-top-scene-wrap {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: #E8DFD1;
  border-radius: 20px;
  border: 2px solid rgba(180, 140, 100, 0.34);
  box-shadow: 0 8px 22px rgba(45, 35, 22, 0.12);
  margin-bottom: 10px;
  user-select: none;
}

.v440-top-scene-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  display: block;
  transition: transform 0.25s ease;
}

/* Fixed LTR Top Utility Row overlaid cleanly at top of the scene */
.v440-top-utility-row {
  position: absolute;
  top: 8px;
  left: 10px;
  right: 10px;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  direction: ltr !important;
  z-index: 8;
  pointer-events: none;
}

.v440-brand-chip {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 252, 245, 0.92);
  backdrop-filter: blur(8px);
  padding: 4px 10px 4px 5px;
  border-radius: 999px;
  border: 1px solid rgba(180, 140, 100, 0.35);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  direction: ltr !important;
}

.v440-brand-logo {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: linear-gradient(135deg, #2D6A4F, #52B788);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.76rem;
  font-weight: 900;
}

.v440-brand-name {
  font-size: 0.82rem;
  font-weight: 900;
  color: #1F2421;
  letter-spacing: -0.02em;
}

.v440-util-pills {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  direction: ltr !important;
}

.v440-util-pill {
  background: rgba(255, 252, 245, 0.92);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(180, 140, 100, 0.35);
  border-radius: 999px;
  padding: 4px 9px;
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  color: #2B2620;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: inline-flex;
  align-items: center;
  gap: 3px;
  cursor: pointer;
  white-space: nowrap;
}

.v440-util-pill.lang {
  background: #1B4332;
  color: #fff;
  border-color: #1B4332;
}

/* Full door/closet transparent hitbox so tapping anywhere on the door works */
.v440-door-hotspot {
  position: absolute;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 4;
  padding: 0;
  margin: 0;
  border-radius: 10px;
  transition: background 0.15s ease;
}

.v440-door-hotspot:hover,
.v440-door-hotspot:active {
  background: rgba(255, 255, 255, 0.12);
}

/* Small neat door-mounted nameplate positioned directly ON the door / closet */
.v440-door-plate {
  position: absolute;
  transform: translate(-50%, -50%);
  background: rgba(255, 250, 240, 0.94);
  border: 1.5px solid #B07D4F;
  border-radius: 8px;
  padding: 3px 8px;
  text-align: center;
  box-shadow: 0 3px 9px rgba(35, 22, 10, 0.25);
  z-index: 6;
  min-width: 78px;
  max-width: 118px;
  line-height: 1.15;
  cursor: pointer;
  font-family: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.v440-door-plate:hover,
.v440-door-plate:active {
  transform: translate(-50%, -50%) scale(1.04);
  box-shadow: 0 5px 14px rgba(35, 22, 10, 0.34);
}

.v440-door-plate .dp-title {
  font-size: 0.67rem;
  font-weight: 900;
  color: #2B1E12;
  display: block;
  white-space: nowrap;
}

.v440-door-plate .dp-sub {
  font-size: 0.56rem;
  font-weight: 800;
  color: #1B4332;
  display: block;
  white-space: nowrap;
}

.v440-door-plate.closet-plate {
  background: rgba(246, 240, 255, 0.95);
  border-color: #6D28D9;
}

.v440-door-plate.closet-plate .dp-title {
  color: #3B0764;
}

.v440-door-plate.closet-plate .dp-sub {
  color: #6D28D9;
}

.v440-door-plate.rose-plate {
  background: rgba(255, 245, 246, 0.95);
  border-color: #BE123C;
}

.v440-door-plate.rose-plate .dp-title {
  color: #881337;
}

.v440-door-plate.rose-plate .dp-sub {
  color: #BE123C;
}

/* Bottom-left scene place badge */
.v440-scene-place-pill {
  position: absolute;
  bottom: 8px;
  left: 10px;
  background: rgba(26, 36, 33, 0.84);
  backdrop-filter: blur(6px);
  color: #FFFFFF;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  z-index: 6;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}

/* Unified Search Bar with Integrated Location Button */
.v440-search-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #FFFFFF;
  border: 1.5px solid #DFD3C3;
  border-radius: 14px;
  padding: 6px 8px 6px 11px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
  margin-bottom: 8px;
}

.v440-search-icon {
  font-size: 0.88rem;
  color: #8A7E70;
  flex-shrink: 0;
}

.v440-search-input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  font-family: inherit;
  font-size: 0.8rem;
  font-weight: 700;
  color: #2B2620;
}

.v440-search-input::placeholder {
  color: #8A7E70;
  font-weight: 600;
}

.v440-mic-btn {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #F4EFE6;
  border: 1px solid #E2D7C5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  cursor: pointer;
  flex-shrink: 0;
}

.v440-loc-in-search {
  background: #EAF4F0;
  color: #1B4332;
  border: 1px solid #B7DEC9;
  border-radius: 9px;
  padding: 5px 9px;
  font-family: inherit;
  font-size: 0.72rem;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  cursor: pointer;
  flex-shrink: 0;
  transition: transform 0.12s ease, background 0.12s ease;
}

.v440-loc-in-search:hover,
.v440-loc-in-search:active {
  background: #D8F3DC;
  transform: scale(1.02);
}

/* Quick Capture Bar */
.v440-capture-card {
  width: 100%;
  background: #FFFFFF;
  border: 1.5px solid #DFD3C3;
  border-radius: 14px;
  padding: 8px 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
  margin-bottom: 8px;
  cursor: pointer;
  text-align: start;
  font-family: inherit;
}

.v440-capture-placeholder {
  font-size: 0.77rem;
  color: #5C5346;
  font-weight: 800;
}

.v440-capture-icons {
  display: inline-flex;
  gap: 5px;
  flex-shrink: 0;
}

.v440-capture-icons span {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #F4EFE6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
}

/* Clean Room Notice */
.v440-clean-room-note {
  background: #EBF5FF;
  border: 1px solid #BFDBFE;
  border-radius: 11px;
  padding: 6px 10px;
  font-size: 0.69rem;
  font-weight: 800;
  color: #1E3A8A;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.v440-clean-room-note.rose-note {
  background: #FFF1F2;
  border-color: #FECDD3;
  color: #881337;
}

/* 6-Button Bottom Navigation Bar */
.bottom-nav-inner {
  max-width: 480px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 3px !important;
  padding: 0 4px !important;
}

.bottom-nav-btn {
  padding: 5px 2px !important;
  border-radius: 10px !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
}

.bottom-nav-btn .bottom-nav-icon {
  font-size: 1.02rem !important;
  line-height: 1.1 !important;
}

.bottom-nav-btn .bottom-nav-label {
  font-size: 0.61rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

.bottom-nav-btn.up-btn {
  background: #F0F7F4 !important;
  border: 1px solid #B7DEC9 !important;
  color: #1B4332 !important;
}

.bottom-nav-btn.up-btn.at-root {
  background: #F6F1E7 !important;
  border: 1px solid #E2D6C3 !important;
  color: #7A6E60 !important;
}

.bottom-nav-btn.active {
  background: #E8F5E9 !important;
  color: #1B4332 !important;
  border: 1px solid #A7F3D0 !important;
}

/* Other Members Popup Sheet */
.v440-other-sheet-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(24, 20, 16, 0.56);
  backdrop-filter: blur(4px);
  z-index: 14000;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
}

.v440-other-sheet-card {
  width: 100%;
  max-width: 430px;
  background: #FFFDF9;
  border: 2px solid #DECBB4;
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 -10px 35px rgba(0, 0, 0, 0.25);
  margin-bottom: 56px;
}

.v440-member-room-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #FFF5F6;
  border: 1.5px solid #FDA4AF;
  border-radius: 14px;
  padding: 11px 13px;
  margin-bottom: 8px;
  cursor: pointer;
  font-family: inherit;
  text-align: start;
  transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.v440-member-room-btn:hover,
.v440-member-room-btn:active {
  transform: scale(1.01);
  box-shadow: 0 4px 12px rgba(190, 18, 60, 0.12);
}

/* ============================================================================
   HOMA v4.6.0 — slim decorative banner, place pill, explanation line,
   (i) info pop-ups, picture bottom bar
   ============================================================================ */
.v440-top-scene-wrap.v460-scene {
  height: 100px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(180, 140, 100, 0.28) !important;
  box-shadow: 0 4px 14px rgba(45, 35, 22, 0.10) !important;
  margin-bottom: 8px !important;
}
.v460-scene-img {
  display: block;
  width: 100%;
  height: 100px;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.v460-util-row {
  position: absolute;
  top: 6px; left: 7px; right: 7px;
  display: flex; align-items: center; gap: 6px;
  direction: ltr !important;
  z-index: 8;
  pointer-events: none;
}
.v460-sp { flex: 1 1 0; min-width: 0; }
.v460-logo-pill {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(255, 255, 255, 0.93);
  color: #1E2423;
  border-radius: 999px;
  padding: 2px 8px 2px 3px;
  font-size: 11px; font-weight: 800;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.14);
}
.v460-logo-pill b {
  width: 16px; height: 16px; border-radius: 50%;
  background: #1B5E57; color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 9.5px; font-weight: 900;
}
.v460-place-pill {
  flex: 0 1 auto; min-width: 0;
  background: rgba(255, 255, 255, 0.88);
  color: #1E2423;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.14);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 10.5px; font-weight: 700;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  pointer-events: none;
  direction: ltr;
}
.v460-place-pill [lang=fa] { font-family: "Vazirmatn", "Noto Sans Arabic", sans-serif; }
.v460-lang-pill {
  flex: 0 0 auto;
  pointer-events: auto;
  background: #1B4332; color: #fff;
  border: none; border-radius: 999px;
  padding: 3px 9px;
  font-family: "Vazirmatn", "Noto Sans Arabic", inherit;
  font-size: 11px; font-weight: 800;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
  cursor: pointer;
}
.v460-expl {
  display: flex; align-items: flex-start; gap: 7px;
  padding: 8px 12px;
  border-radius: 14px;
  font-size: 13px; line-height: 1.4; font-weight: 600;
  border: 1px solid transparent;
  margin: 0 0 9px;
}
.v460-expl b { font-weight: 800; }
.v460-expl-ic { flex: 0 0 auto; }
.v460-expl.e-living { background: #FBF1DF; color: #7A4E12; border-color: #F0DDB9; }
.v460-expl.e-room   { background: #E3F1FA; color: #1D4E6E; border-color: #C3E0F2; }
.v460-expl.e-closet { background: #EEE6FA; color: #4B2F7A; border-color: #D8C8F0; }
.v460-expl.e-mb  { background: #FCE8E3; color: #8A3328; border-color: #F4CBC2; }
/* old notes / hints no longer shown */
.v440-clean-room-note, .civ-edit-hint, .v391-tap-open-hint { display: none !important; }

/* (i) info button + pop-up */
.v460-info {
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; border-radius: 50%;
  border: 1.5px solid #9AA4A2; background: #fff; color: #5E6866;
  font: italic 700 12px/1 Georgia, "Times New Roman", serif;
  padding: 0; margin-inline-start: 5px; vertical-align: middle;
  cursor: pointer; flex: 0 0 auto;
}
.v460-info.on { background: #1B5E57; border-color: #1B5E57; color: #fff; }
.v460-pop-backdrop {
  position: fixed; inset: 0; z-index: 15000;
  background: rgba(24, 20, 16, 0.45);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.v460-pop {
  background: #fff; border-radius: 18px;
  max-width: 340px; width: 100%;
  padding: 16px 16px 14px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.25);
  color: #1E2423;
}
.v460-pop h4 { margin: 0 0 8px; font-size: 15px; font-weight: 800; }
.v460-pop ul { margin: 0 0 12px; padding-inline-start: 18px; font-size: 13.5px; line-height: 1.5; }
.v460-pop li { margin-bottom: 4px; }
.v460-ok {
  display: block; width: 100%;
  background: #1B5E57; color: #fff; border: none;
  border-radius: 12px; padding: 10px;
  font-family: inherit; font-size: 14px; font-weight: 800; cursor: pointer;
}

/* Picture bottom bar */
.bottom-nav-btn .bottom-nav-icon.v460-thumb-wrap {
  position: relative;
  width: 34px; height: 34px;
  border-radius: 10px;
  border: 1.5px solid #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.22);
  overflow: visible;
  display: block;
  font-size: 0 !important;
}
.v460-nav-thumb {
  width: 100%; height: 100%; object-fit: cover; border-radius: 9px; display: block;
  pointer-events: none;
}
.v460-nav-badge {
  position: absolute; right: -5px; bottom: -4px;
  font-size: 11px; line-height: 1;
  background: #fff; border-radius: 999px; padding: 1px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.bottom-nav-btn:not(.v460-has-thumb) .bottom-nav-icon:not(.v460-thumb-wrap) {
  height: 34px; display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem !important;
}
.bottom-nav-btn { border: 1px solid transparent !important; overflow: hidden; }
.bottom-nav-btn.active { background: #E8F5E9 !important; border-color: #7FCFA0 !important; }
.bottom-nav-btn.up-btn.at-root, .bottom-nav-btn.up-btn:disabled { opacity: 0.55; cursor: default; }
.bottom-nav-btn .bottom-nav-label { position: static !important; display: block; line-height: 1.15 !important; }

/* v4.6.1 — multi-photo posts */
.v461-photo-strip { margin-top: 8px; padding: 8px; background: #FAF6EE; border: 1.5px solid #E5DCCB; border-radius: 12px; }
.v461-photo-strip-head { display: flex; justify-content: space-between; align-items: center; font-size: 0.74rem; font-weight: 800; color: #5A4E40; margin-bottom: 6px; }
.v461-strip-clear { background: none; border: none; color: #B91C1C; font-weight: 800; font-size: 0.72rem; cursor: pointer; padding: 2px 4px; }
.v461-photo-strip-row { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; }
.v461-thumb { position: relative; flex: 0 0 64px; width: 64px; height: 64px; border-radius: 10px; overflow: hidden; background: #EEE6D8; }
.v461-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v461-thumb-x { position: absolute; top: 3px; right: 3px; width: 22px; height: 22px; border-radius: 999px; border: none; background: rgba(31,26,21,0.78); color: #fff; font-size: 0.7rem; font-weight: 900; line-height: 22px; padding: 0; cursor: pointer; }
.v461-thumb-add { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 10px; border: 2px dashed #CBBFAA; background: #fff; color: #7A6E60; font-size: 1.4rem; cursor: pointer; }
.v370-composer-box .v370-composer-icon-btn { flex-shrink: 0; }
.v461-post-grid { display: grid; gap: 3px; border-radius: 12px; overflow: hidden; margin-top: 8px; grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr; height: 200px; }
.v461-post-grid.n2 { grid-template-rows: 1fr; }
.v461-post-grid.n3, .v461-post-grid.n4 { grid-template-rows: 1fr 1fr; }
.v461-post-grid.n3 .v461-post-grid-cell:first-child { grid-row: span 2; }
.v461-post-grid-cell { position: relative; min-height: 0; background: #EEE6D8; }
.v461-post-grid-cell img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; border-radius: 0; max-height: none; }
.v461-more { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.45); color: #fff; font-weight: 900; font-size: 1.2rem; }
.v461-civ-gallery { margin: 4px 0 12px; }
.v461-civ-gallery-title { font-size: 0.72rem; font-weight: 900; color: #7A6E60; text-transform: uppercase; margin-bottom: 6px; }
.v461-civ-gallery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.v461-civ-gallery-grid img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 10px; display: block; }

/* ===== v4.6.2 Send to Homa (Share key) ===== */
.v462-share-key-card{background:linear-gradient(180deg,#F1F7F2,#FFFDF9);border:1.5px solid #B7D3BF;border-radius:14px;padding:12px 12px 10px;margin:0 0 12px;}
.v462-sk-title{font-size:0.92rem;font-weight:900;color:#1B4332;}
.v462-sk-sub{font-size:0.74rem;color:#4A5E50;margin:3px 0 8px;line-height:1.35;}
.v462-sk-status{font-size:0.76rem;font-weight:800;color:#6B5E4F;margin-bottom:8px;}
.v462-sk-status.ok{color:#1B4332;}
.v462-sk-mask{font-family:ui-monospace,Menlo,monospace;background:#E4EFE6;border-radius:6px;padding:1px 6px;margin-left:4px;}
.v462-sk-btns{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
.v462-sk-btns.small{margin-bottom:4px;justify-content:flex-end;}
.v462-sk-btn{flex:1 1 0;min-width:130px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:4px;border-radius:12px;border:1.5px solid #B7D3BF;background:#fff;color:#1B4332;font-weight:900;font-size:0.82rem;text-decoration:none;cursor:pointer;padding:6px 10px;box-sizing:border-box;}
.v462-sk-btn.primary{background:#1B4332;color:#fff;border-color:#1B4332;}
.v462-sk-link{background:none;border:none;color:#6B5E4F;font-size:0.74rem;font-weight:800;text-decoration:underline;cursor:pointer;padding:6px 4px;min-height:32px;}
.v462-sk-endpoint{font-family:ui-monospace,Menlo,monospace;font-size:0.68rem;color:#4A3E31;background:#F4EFE6;border-radius:8px;padding:6px 8px;margin-bottom:8px;word-break:break-all;}
.v462-sk-steps{margin-top:4px;font-size:0.76rem;color:#2F3B33;}
.v462-sk-steps summary{font-weight:900;color:#1B4332;cursor:pointer;padding:6px 0;}
.v462-sk-steps ol{margin:6px 0 8px;padding-inline-start:20px;line-height:1.45;}
.v462-sk-steps li{margin-bottom:5px;}
.v462-sk-steps code{font-family:ui-monospace,Menlo,monospace;background:#EEE6D8;border-radius:4px;padding:0 4px;font-size:0.72rem;}
.v462-sk-steps .v462-fa{font-family:Vazirmatn,Tahoma,sans-serif;border-top:1px dashed #DFD3C0;padding-top:8px;text-align:right;}
.v462-sk-note{font-size:0.7rem;color:#6B5E4F;background:#FFF8E8;border-radius:8px;padding:6px 8px;}

/* ============================================================================
   HOMA v4.7.0 — posts, messages, inline menus, editor, ✨ AI
   ============================================================================ */
.v47-av{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;flex:none;line-height:1}
.v47-av.sm{width:24px;height:24px;font-size:11px}.v47-av.lg{width:38px;height:38px;font-size:15px}
.v47-av.s{background:#2E6B4F}.v47-av.z{background:#C2577A}.v47-av.k{background:#E09F3E}.v47-av.o{background:#8A94A6}
#v47-plus-wrap,#v47-feed,#v47-after-folders{font-family:inherit}
#v47-plus-wrap button,#v47-feed button,#v47-after-folders button,#v47-editor button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.v47-newbar{margin-top:8px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #E4DDD0;border-radius:16px;padding:6px 7px;cursor:pointer}
.v47-newbar .ph{flex:1;font-size:13.5px;color:#8a918f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v47-plus{width:34px;height:34px;border-radius:12px;background:#1B5E57;color:#fff;font-size:24px;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1;flex:none}
.v47-plus.on{background:#4B2F7A}
.v47-inl{margin-top:6px;background:#fff;border:1px solid #CFE2D8;border-radius:16px;box-shadow:0 6px 18px rgba(27,94,87,.10);overflow:hidden;max-height:62vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.v47-it{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #F0EBE2;background:#fff;font-size:14px;font-weight:700;text-align:start;text-decoration:none;color:#1E2423;flex-wrap:wrap}
.v47-it small{display:block;width:100%;font-weight:600;font-size:11.5px;color:#7d8684;margin-top:-6px;padding-inline-start:26px}
.v47-it .ch{margin-inline-start:auto;color:#9AA4A2;font-size:15px}
.v47-it.open{background:#EEF4FE}
.v47-it.del{color:#C2412D;border-bottom:0}
.v47-hs{display:flex;gap:6px;padding:8px 10px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#FBF8F2;border-bottom:1px solid #F0EBE2}
.v47-hs::-webkit-scrollbar{display:none}
.v47-hs>button,.v47-hs>span{border:1px solid #E4DDD0;background:#F6F1E8;border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:700;flex:none;display:inline-flex;align-items:center;gap:5px}
.v47-more-lbl{font-size:11px;font-weight:800;color:#8a918f;letter-spacing:.4px;padding:8px 12px 0;text-transform:uppercase}
.v47-whos{background:#EEF4FE;border-bottom:1px solid #DCE6F7}
.v47-who{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;padding:8px 12px 8px 22px;text-align:start;font-weight:800;font-size:13.5px}
.v47-who span small{display:block;font-weight:600;font-size:11.5px;color:#5A7398}
.v47-whos .v47-it{background:transparent;padding-inline-start:22px}
.v47-muted{color:#7d8684;font-size:12px;font-weight:600}
.v47-sec{margin-top:10px;background:#fff;border:1px solid #E4DDD0;border-radius:18px;padding:9px 11px;box-shadow:0 3px 12px rgba(27,94,87,.06)}
.v47-sh{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14.5px;margin-bottom:2px}
.v47-sh .v460-info{flex:none}
.v47-cnt{color:#8a918f;font-weight:700;font-size:12px}
.v47-badge{background:#C2412D;color:#fff;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:800}
.v47-sa{margin-inline-start:auto;border:0;background:none;font-size:12px;font-weight:800;color:#2E6B4F}
.v47-empty{font-size:12.5px;color:#7d8684;padding:8px 2px 4px;line-height:1.4}
.v47-msg{display:flex;align-items:center;gap:9px;width:100%;margin-top:6px;padding:7px 6px;border:0;border-radius:12px;background:#fff;text-align:start}
.v47-msg.unread{background:#F2F7FF}
.v47-msg .b{flex:1;min-width:0;display:flex;flex-direction:column}
.v47-msg .b b{font-size:13px;font-weight:800}
.v47-msg .b span{font-size:13px;color:#3d4544;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v47-msg img{width:38px;height:38px;border-radius:9px;object-fit:cover;flex:none;border:1px solid #eee}
.v47-msg small{font-size:11px;color:#8a918f;flex:none}
.v47-msg.unread small::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#1A73E8;margin-inline-start:5px}
.v47-notes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}
.v47-note{display:flex;flex-direction:column;gap:3px;background:#FFF9E8;border:1px solid #F1E3B8;border-radius:12px;padding:7px 8px;font-size:12px;line-height:1.3;text-align:start;min-width:0}
.v47-note img{width:100%;height:64px;object-fit:cover;border-radius:7px;display:block}
.v47-note span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-weight:600}
.v47-note small{color:#8a918f;font-size:10.5px}
.v47-post{margin-top:10px;background:#fff;border:1px solid #E4DDD0;border-radius:18px;overflow:hidden;box-shadow:0 3px 12px rgba(27,94,87,.06)}
.v47-sec .v47-post{margin-inline:-4px}
.v47-post.unread{border-color:#9CC2F5}
.v47-ph{display:flex;align-items:center;gap:9px;padding:9px 11px}
.v47-ph .n{flex:1;min-width:0;font-weight:800;font-size:13.5px}
.v47-ph .n small{display:block;font-weight:600;font-size:11.5px;color:#8a918f}
.v47-ed{background:#F1ECE3;color:#6B5E48;border-radius:6px;padding:1px 6px;font-size:10.5px;font-weight:800;margin-inline-start:4px}
.v47-new{background:#1A73E8;color:#fff;border-radius:999px;padding:0 7px;font-size:10.5px;margin-inline-start:6px;vertical-align:1px}
.v47-dots{border:0;background:none;font-size:20px;font-weight:900;color:#3d4544;padding:0 8px;border-radius:10px;letter-spacing:1px;line-height:28px}
.v47-dots.on{background:#E8F5EE}
.v47-x{border:0;background:#F1ECE3;border-radius:50%;width:26px;height:26px;font-size:12px}
.v47-menu{margin:0 10px 8px}
.v47-car-wrap{position:relative;background:#F1ECE3}
.v47-car{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;height:300px}
.v47-car::-webkit-scrollbar{display:none}
.v47-slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center}
.v47-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}
.v47-ctr{position:absolute;top:10px;inset-inline-end:10px;background:rgba(0,0,0,.6);color:#fff;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;direction:ltr}
.v47-ar{position:absolute;top:50%;margin-top:-14px;width:28px;height:28px;border-radius:50%;border:0;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;color:#333;padding:0}
.v47-ar.l{left:8px}.v47-ar.r{right:8px}
.v47-pd{display:flex;justify-content:center;gap:5px;padding:7px 0 2px}
.v47-pd i{width:6px;height:6px;border-radius:50%;background:#CFC8BA}.v47-pd i.on{background:#1B5E57}
.v47-acts{display:flex;align-items:center;gap:6px;padding:6px 8px 4px}
.v47-acts>button{border:0;background:none;font-size:13.5px;font-weight:700;color:#3d4544;padding:4px 6px;border-radius:10px}
.v47-acts>button.liked{color:#C2412D}
.v47-aib{margin-inline-start:auto;display:inline-flex;align-items:center;gap:3px;background:linear-gradient(135deg,#F3E8FF,#E0F2FE)!important;border:1px solid #D8C8F0!important;color:#4B2F7A!important;border-radius:999px!important;padding:3px 10px!important;font-size:12px!important;font-weight:800!important}
.v47-aib.on{background:#4B2F7A!important;color:#fff!important;border-color:#4B2F7A!important}
.v47-aibox{margin:0 10px 8px}
.v47-aiopts{border:1px solid #D8C8F0;border-radius:14px;overflow:hidden;background:#fff}
.v47-aio{display:flex;align-items:center;gap:9px;width:100%;padding:8px 11px;border:0;border-bottom:1px solid #F1ECF8;background:#fff;font-size:13px;font-weight:700;text-align:start}
.v47-aio small{font-weight:600;color:#7d8684;font-size:11px;margin-inline-start:auto}
.v47-aio.on{background:#F3E8FF;color:#4B2F7A}
.v47-aires{margin-top:6px;background:#FBF8FF;border:1px solid #D8C8F0;border-radius:14px;padding:9px 11px;font-size:12.5px;line-height:1.45}
.v47-aires.err{background:#FFF6F3;border-color:#F4CBC2}
.v47-aires .hd{font-weight:800;color:#4B2F7A;font-size:12.5px;margin-bottom:3px}
.v47-aires.err .hd{color:#8A3328}
.v47-ailbl{font-weight:800;font-size:11.5px;color:#6B5E48;margin-top:4px}
.v47-aitext{white-space:normal;max-height:220px;overflow-y:auto}
.v47-aimodel{font-size:10px;color:#9AA4A2;margin-top:4px}
.v47-ask{display:flex;align-items:center;gap:8px;border-top:1px dashed #D8C8F0;padding-top:7px;margin-top:6px;font-weight:800;font-size:13px;flex-wrap:wrap}
.v47-ask .y{margin-inline-start:auto;background:#1B5E57;color:#fff!important;border:0;border-radius:10px;padding:5px 16px;font-weight:800}
.v47-ask .n{background:#F1ECE3;border:0;border-radius:10px;padding:5px 16px;font-weight:800}
.v47-spin{width:18px;height:18px;border:3px solid #E5DAF5;border-top-color:#4B2F7A;border-radius:50%;animation:v47spin .8s linear infinite;margin:4px 0}
@keyframes v47spin{to{transform:rotate(360deg)}}
.v47-cap{padding:3px 12px 0;font-size:13.5px;line-height:1.45;word-wrap:break-word}
.v47-cap b{font-weight:800}
.v47-tr{margin:6px 12px 0;padding:7px 10px;background:#F4F8FF;border-inline-start:3px solid #8AB4F8;border-radius:8px;font-size:13px;line-height:1.45}
.v47-tr span{display:block;font-size:11px;font-weight:800;color:#5A7398}
.v47-pl{padding:6px 12px 0}
.v47-lchip{display:inline-flex;align-items:center;gap:4px;background:#E8F5EE;border:1px solid #B7DEC9;color:#1B4332;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700;text-decoration:none}
.v47-lchip button,.v47-att button{border:0;background:none;padding:0 2px;font-size:11px}
.v47-atts{display:flex;flex-wrap:wrap;gap:6px;padding:6px 12px 0}
.v47-att{display:inline-flex;align-items:center;gap:4px;background:#F6F1E8;border:1px solid #E4DDD0;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700;color:#1E2423;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v47-ainotes{margin:6px 12px 0;border:1px solid #E5DAF5;border-radius:12px;background:#FBF8FF;font-size:12.5px}
.v47-ainotes summary{padding:6px 10px;font-weight:800;color:#4B2F7A;cursor:pointer}
.v47-ainote{padding:4px 10px 8px;border-top:1px solid #F1ECF8;line-height:1.45}
.v47-cm{padding:4px 12px 6px;font-size:12.5px;color:#3d4544;line-height:1.5}
.v47-cm b{font-weight:800}
.v47-more{border:0;background:none;color:#8a918f;font-size:12.5px;padding:0;font-weight:600}
.v47-cin{display:flex;align-items:center;gap:6px;margin:0 10px 10px;background:#F6F1E8;border:1px solid #E4DDD0;border-radius:999px;padding:4px 5px}
.v47-cin input{flex:1;min-width:0;border:0;background:transparent;font-size:16px;padding:4px 2px;outline:none;color:#1E2423}
.v47-cin .send{border:0;background:none;color:#1B5E57;font-weight:800;padding:0 8px;font-size:13.5px}
.v47-mic{width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid #E4DDD0;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex:none;padding:0}
.v47-mic.rec{background:#C2412D;color:#fff;border-color:#C2412D;animation:v47pulse 1s infinite}
@keyframes v47pulse{50%{box-shadow:0 0 0 6px rgba(194,65,45,.18)}}
.v47-msgbtn{margin-top:8px;display:flex;align-items:center;gap:8px;width:100%;background:#EEF4FE;border:1px solid #C9DAF8;border-radius:16px;padding:9px 12px;font-size:13.5px;font-weight:800;color:#1D4E8A!important;text-align:start}
.v47-msgbtn small{font-weight:600;color:#5A7398;font-size:11.5px;margin-inline-start:auto}
.v47-showmore{display:block;width:100%;margin-top:10px;border:1px solid #E4DDD0;background:#F6F1E8;border-radius:12px;padding:8px;font-weight:800;font-size:13px}
#v47-after-folders{margin:4px 12px 12px}
.v47-tiles{display:flex;gap:8px}
.v47-tile{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;border-radius:16px;padding:10px 12px;font-size:18px;text-align:start}
.v47-tile b{font-size:14px;font-weight:800}.v47-tile small{font-size:11.5px;font-weight:600;opacity:.85}
.v47-cal{background:#1F4D3B;color:#fff!important;border:1px solid #1F4D3B}
.v47-places{background:#E8F5EE;color:#1B4332!important;border:1px solid #B7DEC9}
.v47-tile.on{box-shadow:0 0 0 2px #F4A300}
#v47-cal-slot{margin-top:8px}
.v47-item-ai{margin-top:12px}
.v47-item-ai .v47-aib{margin-inline-start:0}
.v47-item-ai .v47-aibox{margin:8px 0}
.v47-item-ai .v47-tr,.v47-item-ai .v47-ainotes{margin-inline:0}
/* full-screen editor */
body.v47-noscroll{overflow:hidden}
#v47-editor{position:fixed;inset:0;z-index:10000;background:#fff;display:flex;flex-direction:column;font-family:inherit;color:#1E2423}
.v47-etop{display:flex;align-items:center;gap:10px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));border-bottom:1px solid #E4DDD0;background:#fff;flex:none}
.v47-etop .x{border:0;background:none;font-size:20px;color:#5C6664;padding:2px 6px}
.v47-etop b{flex:1;font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v47-etop .go{background:#1B5E57;color:#fff!important;border:0;border-radius:999px;padding:7px 18px;font-weight:800;font-size:14px}
.v47-etop .go[disabled]{opacity:.6}
.v47-escroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(30px + env(safe-area-inset-bottom))}
.v47-eprev .v47-car{height:min(46vh,380px)}
.v47-strip{display:flex;gap:8px;padding:10px 12px;overflow-x:auto;scrollbar-width:none}
.v47-strip .th{position:relative;width:62px;height:62px;border-radius:10px;overflow:hidden;border:2px solid transparent;background:#F1ECE3;flex:none;cursor:pointer}
.v47-strip .th.on{border-color:#1B5E57}
.v47-strip .th img{width:100%;height:100%;object-fit:cover;display:block}
.v47-strip .th button{position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;border:0;background:rgba(0,0,0,.62);color:#fff!important;font-size:11px;padding:0;display:flex;align-items:center;justify-content:center}
.v47-strip .add{width:62px;height:62px;border-radius:10px;border:2px dashed #C9C0B0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#5C6664;flex:none;cursor:pointer}
.v47-strip .add small{font-size:11px}
.v47-ecap{display:block;width:calc(100% - 24px);margin:0 12px;border:1px solid #E4DDD0;border-radius:14px;padding:10px 12px;font:inherit;font-size:16px;line-height:1.45;resize:vertical;min-height:96px;background:#FFFDF9;color:#1E2423;outline:none}
.v47-ecap:focus{border-color:#1B5E57}
.v47-ebtns{display:flex;gap:8px;padding:10px 12px;flex-wrap:wrap}
.v47-ebtns button{border:1px solid #E4DDD0;background:#F6F1E8;border-radius:999px;padding:7px 12px;font-weight:800;font-size:13px;width:auto;height:auto}
.v47-ebtns button.on{background:#E8F5EE;border-color:#7FCFA0}
.v47-ebtns .v47-mic.rec{background:#C2412D;color:#fff!important}
.v47-epanel{margin:0 12px 8px;padding:10px;border:1px solid #CFE2D8;border-radius:14px;background:#FBF8F2}
.v47-epanel input{width:100%;border:1px solid #E4DDD0;border-radius:10px;padding:8px 10px;font-size:16px;background:#fff;box-sizing:border-box}
.v47-eopts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.v47-eopt{border:1px solid #E4DDD0;background:#fff;border-radius:999px;padding:6px 11px;font-weight:800;font-size:12.5px;cursor:pointer}
.v47-echips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 6px}
.v47-elbl{font-size:12px;font-weight:800;color:#8a918f;padding:6px 12px 4px}
.v47-seg{display:flex;gap:6px;padding:0 12px 8px;flex-wrap:wrap}
.v47-seg button{border:1px solid #E4DDD0;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800;background:#F6F1E8}
.v47-seg button.on{background:#1B5E57;color:#fff!important;border-color:#1B5E57}
.v47-eto{margin:6px 12px;padding:9px 11px;background:#EEF4FE;border:1px solid #C9DAF8;border-radius:12px;font-size:13px;font-weight:700;color:#1D4E8A;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.v47-eto small{width:100%;font-weight:600;color:#5A7398}
.v47-qhint{font-size:11.5px;color:#8a918f;padding:8px 12px}

/* ===== v4.7.1 — iPhone editor fixes ===== */
#v47-editor{height:100%;height:100dvh;overscroll-behavior:contain;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-sizing:border-box}
.v47-etop{position:relative;z-index:2;padding-top:calc(8px + env(safe-area-inset-top));min-height:56px;box-sizing:border-box}
.v47-etop .x{display:inline-flex;align-items:center;gap:4px;min-height:44px;min-width:44px;padding:6px 12px!important;border-radius:999px!important;background:#F1ECE3!important;color:#1E2423!important;font-size:15px!important;font-weight:800;touch-action:manipulation}
.v47-etop .x span{font-size:14px}
.v47-etop .go{min-height:44px;touch-action:manipulation}
.v47-etop .go[data-wait]{opacity:.6}
.v47-estatus{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#EEF6F4;color:#1B5E57;font-size:13px;font-weight:700;flex:none}
.v47-estatus button{margin-inline-start:auto;border:1px solid #1B5E57;background:#fff;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800;color:#1B5E57!important}
.v47-spin.sm{width:16px;height:16px;border-width:2px;margin:0}
.v47-eerr{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#FDECEA;color:#8A1C12;font-size:13px;font-weight:700;line-height:1.35;flex:none}
.v47-eerr button{margin-inline-start:auto;border:0;background:none;font-size:16px;color:#8A1C12!important;min-width:32px;min-height:32px}
.v47-vh{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip:rect(0 0 0 0);pointer-events:none;left:-9999px}
.v47-ebottom{display:flex;gap:10px;padding:16px 14px 4px}
.v47-ebottom button{flex:1;min-height:48px;border-radius:14px;font-weight:800;font-size:15px;touch-action:manipulation}
.v47-ebottom .c{border:1px solid #D9D1C3;background:#fff;color:#5C6664!important}
.v47-ebottom .g{border:0;background:#1B5E57;color:#fff!important}
.v47-strip .add{cursor:pointer;-webkit-tap-highlight-color:transparent}
.toast,#toast{z-index:10060!important}

/* ===================== v4.7.2 — ⓘ bubbles, no hint text, editor row, ✨ key info ===================== */
.v460-expl, .v47-qhint, .v460-pop-backdrop { display: none !important; }
.v460-info, .v472-i {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; min-width: 16px; border-radius: 50%;
  border: 1px solid rgba(94,104,102,.45); background: transparent; color: #7A8482;
  font: italic 700 10px/1 Georgia, "Times New Roman", serif;
  padding: 0; margin-inline-start: 5px; vertical-align: middle; cursor: pointer; flex: 0 0 auto;
  opacity: .8; -webkit-tap-highlight-color: transparent; position: relative;
}
.v460-info::after, .v472-i::after { content: ""; position: absolute; inset: -10px; } /* bigger tap target, same small look */
.v460-info.on, .v472-i.on { background: #1B5E57; border-color: #1B5E57; color: #fff; opacity: 1; }
.v430-calendar-bar-btn .v472-i { border-color: rgba(255,255,255,.6); color: rgba(255,255,255,.9); }
.v472-bi {
  position: absolute; left: 8px; bottom: 8px; z-index: 5;
  width: 20px; height: 20px; min-width: 20px; padding: 0; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.75); background: rgba(0,0,0,.28); color: #fff !important;
  font: italic 700 11px/1 Georgia, "Times New Roman", serif; display: flex; align-items: center; justify-content: center;
  opacity: .75; box-shadow: none; -webkit-tap-highlight-color: transparent; cursor: pointer;
}
.v472-bi::after { content: ""; position: absolute; inset: -10px; }
.v472-bi.on { opacity: 1; background: rgba(27,94,87,.9); }
.v472-bubble {
  position: fixed; z-index: 20000; max-width: 280px;
  background: rgba(30,36,35,.94); color: #fff; border-radius: 12px; padding: 8px 11px;
  font-size: 12.5px; line-height: 1.4; box-shadow: 0 6px 22px rgba(0,0,0,.22);
  animation: v472in .16s ease-out; pointer-events: none;
}
.v472-bubble b { display: block; font-size: 12.5px; margin-bottom: 2px; }
.v472-bubble div { opacity: .92; }
@keyframes v472in { from { opacity: 0; transform: translateY(-3px); } to { opacity: 1; transform: none; } }
.v472-row { display: flex; align-items: center; gap: 6px; }
.v472-row .v47-msgbtn { flex: 1; min-width: 0; }
.v472-row > .v472-i { margin-top: 8px; }
.v47-tile small { display: none; }
/* editor: one row under the photos */
.v472-ebtns { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 6px !important; padding: 10px 12px 4px !important; flex-wrap: nowrap !important; }
.v472-ebtns .v472-eb {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  border: 1px solid #E4DDD0; background: #F6F1E8; border-radius: 14px; padding: 7px 2px !important;
  font-weight: 800; font-size: 11.5px; color: #2B3332; width: auto; height: auto; min-height: 52px; cursor: pointer; text-align: center; line-height: 1.15;
}
.v472-ebtns .v472-eb i { font-style: normal; font-size: 18px; line-height: 1; }
.v472-ebtns .v472-eb.on { background: #E8F5EE; border-color: #7FCFA0; }
.v472-ebtns .v472-eb.off { opacity: .55; }
.v472-ebtns .v47-mic.rec { background: #C2412D; color: #fff !important; }
.v47-eprev { position: relative; }
.v472-rm { position: absolute; top: 8px; left: 8px; z-index: 3; width: 28px; height: 28px; min-width: 28px; border-radius: 50%; border: 0; background: rgba(0,0,0,.5); color: #fff !important; font-size: 13px; padding: 0; display: flex; align-items: center; justify-content: center; }
.v472-ai { margin: 6px 12px 2px; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.v472-aichip { border: 1px solid #D8C8F0; background: #FBF8FF; color: #4B2F7A !important; border-radius: 999px; padding: 6px 12px; font-weight: 800; font-size: 12.5px; width: auto; height: auto; }
.v472-aibusy { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; color: #4B2F7A; padding: 6px 2px; }
.v472-aierr { font-size: 12.5px; color: #8A3328; background: #FFF6F3; border: 1px solid #F4CBC2; border-radius: 12px; padding: 6px 10px; display: flex; gap: 8px; align-items: center; }
.v472-aierr button { border: 0; background: none; padding: 0 2px; width: auto; height: auto; }
.v472-aires { width: 100%; background: #FBF8FF; border: 1px solid #D8C8F0; border-radius: 14px; padding: 9px 11px; font-size: 13px; line-height: 1.45; }
.v472-aires .hd { font-weight: 800; color: #4B2F7A; font-size: 12.5px; margin-bottom: 3px; }
.v47-acts:not(:has(button)) { display: none; }
.v472-ebtns .v472-eb span, .v472-ebtns .v472-eb { font-size: 11.5px !important; font-weight: 800 !important; }
.v472-ebtns .v472-eb i { font-size: 18px !important; }
/* ===== v4.7.3 folder item photos + full-screen viewer ===== */
.civ-hero-wrap.v473-hero { height: auto !important; background: #F1ECE3 !important; overflow: visible; }
.v473-hero .v47-car { height: min(52vh, 420px); }
.v473-hero .v47-slide img { cursor: zoom-in; }
.v473-hero .v47-ctr { top: auto; bottom: 10px; }
.v473-hero .v47-pd { background: #F1ECE3; }
.v473-hero-in { margin: 0 -4px 12px; border-radius: 14px; overflow: hidden; }
.v47-post .v47-slide img { cursor: zoom-in; }
.v473-viewer { position: fixed; inset: 0; z-index: 20050; background: #000; display: flex; flex-direction: column; justify-content: center; }
.v473-viewer .v47-car-wrap { background: #000; }
.v473-viewer .v47-car { height: 100vh; height: 100dvh; }
.v473-viewer .v47-slide img { max-width: 100%; max-height: 100%; object-fit: contain; }
.v473-viewer .v47-pd { position: absolute; bottom: calc(18px + env(safe-area-inset-bottom)); left: 0; right: 0; }
.v473-viewer .v47-ctr { top: calc(14px + env(safe-area-inset-top)); inset-inline-end: auto; left: 50%; transform: translateX(-50%); }
.v473-vx { position: absolute; top: calc(10px + env(safe-area-inset-top)); right: 12px; z-index: 2; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.18); color: #fff; font-size: 20px; font-weight: 800; display: flex; align-items: center; justify-content: center; }
.v473-glue { white-space: nowrap; display: inline; }
/* v4.7.3: bottom bar keeps the same left-to-right order in Farsi and English */
.bottom-nav, .bottom-nav-inner, html[dir="rtl"] .bottom-nav, html[dir="rtl"] .bottom-nav-inner, [dir="rtl"] .bottom-nav-inner { direction: ltr !important; flex-direction: row !important; }
.bottom-nav-btn { order: 0 !important; }
.bottom-nav-label { unicode-bidi: plaintext; }
html[dir="rtl"] .bottom-nav-label, .bottom-nav-label[lang="fa"] { direction: rtl; }
/* v4.7.3: photo carousels and the viewer are never mirrored in Farsi (same swipe/arrow direction) */
.v47-car-wrap, .v47-car, .v47-pd, .v473-viewer { direction: ltr !important; }
.v473-viewer .v47-ctr, .v47-car-wrap .v47-ctr { unicode-bidi: isolate; }

/* v4.7.4 in-app photo / file viewers: big Close, safe-area aware */
.v474-close { position: absolute; top: calc(10px + env(safe-area-inset-top)); right: calc(12px + env(safe-area-inset-right)); z-index: 5; min-width: 44px; height: 44px; padding: 0 16px 0 12px; border-radius: 22px; border: 1.5px solid rgba(255,255,255,.55); background: rgba(0,0,0,.55); color: #fff; font-size: 16px; font-weight: 800; display: inline-flex; align-items: center; gap: 6px; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); cursor: pointer; touch-action: manipulation; }
.v474-close span { font-size: 20px; line-height: 1; }
.v473-vx.v474-close { width: auto; }
.v473-viewer { overscroll-behavior: contain; touch-action: pan-x pinch-zoom; }
.v474-file { position: fixed; inset: 0; z-index: 20060; background: #111; display: flex; flex-direction: column; color: #fff; overscroll-behavior: contain; }
.v474-fbar { position: relative; flex: 0 0 auto; min-height: 64px; padding: calc(10px + env(safe-area-inset-top)) 12px 10px; display: flex; align-items: center; gap: 10px; background: #1b1f1e; }
.v474-fbar .v474-close { position: static; flex: 0 0 auto; }
.v474-fname { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; font-size: 15px; }
.v474-fbody { flex: 1 1 auto; min-height: 0; background: #fff; -webkit-overflow-scrolling: touch; overflow: auto; }
.v474-frame { border: 0; width: 100%; height: 100%; display: block; background: #fff; }
.v474-fempty { display: flex; align-items: center; justify-content: center; background: #111; }
.v474-fcard { background: #fff; color: #222; border-radius: 16px; padding: 22px; text-align: center; max-width: 300px; display: flex; flex-direction: column; gap: 8px; }
.v474-ffoot { flex: 0 0 auto; display: flex; gap: 10px; justify-content: center; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: #1b1f1e; }
.v474-fbtn { min-height: 44px; padding: 0 18px; border-radius: 22px; border: 1.5px solid rgba(255,255,255,.5); background: transparent; color: #fff; font-weight: 800; font-size: 15px; }
.v474-fdone { background: #2E6B5E; border-color: #2E6B5E; }
.v474-ifiles { margin: 6px 0 10px; }
/* old lightbox (no longer opened) — keep it closable if anything still shows it */
.lightbox-backdrop { padding-top: calc(14px + env(safe-area-inset-top)); padding-bottom: calc(14px + env(safe-area-inset-bottom)); align-items: flex-start; }
.lightbox-card { overflow-y: auto; margin: auto 0; }

/* ======================= v4.8.0 — iPhone-style menus & sheets, ✨ AI note ======================= */
.v47-post,.v47-msg,.v47-note,.apple-item-tile,.v47-post img,.v47-msg img,.v47-note img,.apple-item-tile img,.v473-civcar img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.v47-post input,.v47-post textarea,#v48-sheet input,#v48-sheet textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
html.v48-noscroll,html.v48-noscroll body{overflow:hidden}
#v48-layer{position:fixed;inset:0;z-index:2147483000;-webkit-tap-highlight-color:transparent}
#v48-layer .v48-blur{position:absolute;inset:0;background:rgba(240,234,224,.45);-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);animation:v48fade .16s ease-out}
.v48-stack{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:calc(14px + env(safe-area-inset-top)) 22px calc(18px + env(safe-area-inset-bottom));max-width:420px;margin:0 auto;animation:v48pop .2s cubic-bezier(.2,.9,.3,1.2)}
.v48-lift{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.28);flex:none;max-height:32vh}
.v48-lift-img{display:block;width:100%;height:118px;object-fit:cover;background:#F1ECE3}
.v48-lift-t{padding:9px 12px 10px;font-size:13.5px;line-height:1.35;color:#1E2423;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v48-lift-t b{margin-inline-end:4px}
.v48-menu{width:258px;align-self:flex-end;border-radius:14px;overflow:auto;min-height:0;flex:0 1 auto;background:rgba(250,248,245,.92);-webkit-backdrop-filter:blur(30px) saturate(1.8);backdrop-filter:blur(30px) saturate(1.8);box-shadow:0 12px 40px rgba(0,0,0,.22)}
[dir=rtl] .v48-menu{align-self:flex-start}
.v48-mg+.v48-mg{border-top:7px solid rgba(60,50,40,.09)}
.v48-mr{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:0 15px;height:42px;font:inherit;font-size:16px;color:#1E2423;letter-spacing:-.2px;background:none;border:0;text-align:start;cursor:pointer}
.v48-mr+.v48-mr{border-top:.5px solid rgba(60,50,40,.2)}
.v48-mr:active{background:rgba(60,50,40,.08)}
.v48-mr svg,.v48-cb svg,.v48-tile .chev svg,.v48-backrow svg{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v48-mr.red{color:#D7392B}.v48-mr.off{opacity:.4}
[dir=rtl] .v48-mr{font-size:15.5px}
@keyframes v48fade{from{opacity:0}to{opacity:1}}
@keyframes v48pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes v48up{from{transform:translateY(100%)}to{transform:none}}
/* sheets */
#v48-sheet{position:fixed;inset:0;z-index:2147482990}
.v48-dim{position:absolute;inset:0;background:rgba(20,16,12,.42);animation:v48fade .2s}
.v48-panel{position:absolute;left:0;right:0;bottom:0;top:calc(52px + env(safe-area-inset-top));max-width:520px;margin:0 auto;background:#FAF6F0;border-radius:14px 14px 0 0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 -10px 30px rgba(0,0,0,.2);animation:v48up .26s cubic-bezier(.2,.9,.3,1);padding-bottom:env(safe-area-inset-bottom)}
.v48-panel.half{top:auto;max-height:calc(100% - 52px - env(safe-area-inset-top));overflow:auto;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.v48-shh{display:flex;align-items:center;padding:12px 14px 8px;min-height:58px;flex:none}
.v48-shh .tt{flex:1;text-align:center;font-weight:700;font-size:17px;letter-spacing:-.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 6px}
.v48-cb{width:34px;height:34px;border-radius:50%;background:#ECE6DA;display:flex;align-items:center;justify-content:center;flex:none;border:0;padding:0;color:#3d4544;cursor:pointer}
.v48-cb svg{width:15px;height:15px;stroke-width:2.4}
.v48-cb.p{background:#DDEEEA;color:#1B5E57}.v48-cb.p svg{width:17px;height:17px}
.v48-cb.ghost{visibility:hidden}
.v48-seg{margin:2px 16px 4px;background:#EAE3D6;border-radius:9px;padding:2px;display:grid;grid-template-columns:repeat(3,1fr);flex:none}
.v48-seg button{font:inherit;font-size:13px;font-weight:600;text-align:center;padding:6px 2px;border-radius:7px;color:#3d4544;white-space:nowrap;background:none;border:0;cursor:pointer;overflow:hidden;text-overflow:ellipsis}
.v48-seg .on{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12);font-weight:700;color:#1E2423}
.v48-seg .off{opacity:.4}
.v48-seg.two{grid-template-columns:1fr 1fr;margin-bottom:2px}
.v48-body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding-bottom:110px}
.v48-lb{font-weight:800;font-size:15px;margin:14px 16px 8px;display:flex;align-items:center;gap:6px;color:#1E2423}
.v48-lb small{font-weight:600;color:#8a918f;font-size:12.5px}
.v48-backrow{background:none;border:0;font:inherit;font-weight:800;font-size:15px;cursor:pointer;padding:0}
[dir=rtl] .v48-backrow svg{transform:scaleX(-1)}
.v48-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:0 16px}
.v48-tile{position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:#ddd;box-shadow:0 1px 3px rgba(0,0,0,.08);border:0;padding:0;font:inherit;cursor:pointer;display:block;width:100%}
.v48-tile img{width:100%;height:100%;object-fit:cover;display:block}
.v48-tile.pic::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.62),rgba(0,0,0,0) 58%)}
.v48-tile .nm{position:absolute;left:8px;right:8px;bottom:6px;z-index:2;color:#fff;font-weight:700;font-size:13px;line-height:1.15;text-shadow:0 1px 2px rgba(0,0,0,.3);text-align:start;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.v48-tile .nm small{display:block;font-weight:600;font-size:11px;opacity:.88}
.v48-tile.emo .nm{color:#2a2f2e;text-shadow:none}
.v48-tile.emo .e{position:absolute;inset:0 0 22px;display:flex;align-items:center;justify-content:center;font-size:38px}
.v48-tile .chev{position:absolute;top:6px;right:6px;z-index:3;width:26px;height:26px;border-radius:50%;background:rgba(0,0,0,.38);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;color:#fff}
.v48-tile.emo .chev{background:rgba(0,0,0,.18)}
.v48-tile .chev svg{width:11px;height:11px;stroke-width:2.6}
[dir=rtl] .v48-tile .chev{right:auto;left:6px}[dir=rtl] .v48-tile .chev svg{transform:scaleX(-1)}
.v48-tile.here{opacity:.45;cursor:default}
.v48-tile .hb{position:absolute;top:6px;left:6px;z-index:2;background:rgba(255,255,255,.92);border-radius:999px;font-size:10.5px;font-weight:800;padding:2px 7px;color:#1B5E57}
[dir=rtl] .v48-tile .hb{left:auto;right:6px}
.v48-tile.space{aspect-ratio:1/1.12}
.v48-empty{margin:4px 16px;color:#8a918f;font-size:13.5px}
.v48-newf{display:flex;gap:8px;margin:8px 16px 2px}
.v48-newf input{flex:1;min-width:0;border:1px solid #E4DDD0;border-radius:11px;padding:9px 11px;font:inherit;font-size:16px;background:#fff}
.v48-newf button{border:0;border-radius:11px;background:#1B5E57;color:#fff;font:inherit;font-weight:800;padding:0 14px}
.v48-fitems{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.v48-fitems>div{aspect-ratio:1;background:#EDE6DA;position:relative;overflow:hidden}
.v48-fitems img{width:100%;height:100%;object-fit:cover;display:block}
.v48-ftxt{position:absolute;inset:0;padding:8px;font-size:12px;font-weight:700;color:#3d4544;display:flex;align-items:center;justify-content:center;text-align:center}
.v48-fitems .new{outline:3px solid #2FB39A;outline-offset:-3px}
.v48-fitems .new::after{content:"New";position:absolute;top:6px;left:6px;background:#2FB39A;color:#fff;font-size:10.5px;font-weight:800;border-radius:999px;padding:2px 7px}
[dir=rtl] .v48-fitems .new::after{content:"جدید";left:auto;right:6px}
.v48-prow{display:flex;align-items:center;gap:11px;margin:0 16px;padding:10px;background:#fff;border:1px solid #E4DDD0;border-radius:14px}
.v48-prow img,.v48-prow-e{width:50px;height:50px;border-radius:9px;object-fit:cover;flex:none;display:flex;align-items:center;justify-content:center;background:#F1ECE3;font-size:24px}
.v48-prow .n{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.v48-prow .m{font-size:12px;color:#8a918f;margin-top:2px}
.v48-people{display:flex;justify-content:space-around;padding:16px 18px 6px}
.v48-people>button{display:flex;flex-direction:column;align-items:center;gap:5px;font:inherit;font-size:13px;font-weight:600;position:relative;background:none;border:0;cursor:pointer;color:#1E2423}
.v48-people>button small{font-size:10.5px;color:#8a918f;font-weight:600}
.v48-bigav .v47-av{width:64px;height:64px;font-size:23px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}
.v48-people .sel .v48-bigav .v47-av{box-shadow:0 0 0 3px #FAF6F0,0 0 0 5.5px #1B5E57}
.v48-people .ck{position:absolute;right:-2px;top:44px;width:22px;height:22px;border-radius:50%;background:#1B5E57;color:#fff;font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #FAF6F0}
.v48-others{display:flex;flex-wrap:wrap;gap:6px;margin:6px 16px 0}
.v48-others button{border:1px solid #E4DDD0;background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:700}
.v48-others .on{background:#1B5E57;color:#fff;border-color:#1B5E57}
.v48-field{display:block;width:calc(100% - 32px);margin:14px 16px 0;background:#fff;border:1px solid #E4DDD0;border-radius:14px;padding:12px 14px;font:inherit;font-size:16px;min-height:70px;resize:none;box-sizing:border-box}
.v48-send{display:block;width:calc(100% - 32px);margin:14px 16px 0;background:#1B5E57;color:#fff;text-align:center;font:inherit;font-weight:800;font-size:16px;border-radius:14px;padding:14px;border:0;cursor:pointer}
.v48-calf{margin:4px 16px 0;display:flex;flex-direction:column;gap:10px}
.v48-calf label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:700;color:#5C6664}
.v48-calf input{border:1px solid #E4DDD0;border-radius:11px;padding:10px 11px;font:inherit;font-size:16px;background:#fff;color:#1E2423;min-width:0}
.v48-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
/* toast */
#v48-toast{position:fixed;left:14px;right:14px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:2147483100;max-width:460px;margin:0 auto;background:rgba(30,36,35,.94);color:#fff;border-radius:16px;padding:9px 10px;display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.3);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}
#v48-toast.show{opacity:1;transform:none;pointer-events:auto}
#v48-toast.insheet{bottom:calc(22px + env(safe-area-inset-bottom))}
#v48-toast img{width:34px;height:34px;border-radius:8px;object-fit:cover;flex:none}
#v48-toast .m{flex:1;min-width:0}
#v48-toast .u{background:none;border:0;color:#7FD3C3;font:inherit;font-weight:800;padding:6px 8px;cursor:pointer}
/* ✨ AI note */
.v47-car-wrap,.v473-civcar,.civ-hero-wrap{position:relative}
.v48-chip{position:absolute;left:9px;bottom:9px;z-index:4;border:0;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:5px 11px 5px 9px;font:inherit;font-size:12px;font-weight:800;color:#4B2F7A;box-shadow:0 2px 8px rgba(0,0,0,.15);cursor:pointer}
.v48-chip.on{background:#4B2F7A;color:#fff}
[dir=rtl] .v48-chip{left:auto;right:9px}
.v48-chiprow{padding:8px 10px 0}
.v48-chiprow .v48-chip{position:static}
.v48-aip{margin:8px 10px 6px;border-radius:14px;background:#F5F0FB;border:1px solid #DCCDF2;overflow:hidden}
.v48-air{display:flex;width:100%;align-items:center;gap:11px;padding:11px 12px;font:inherit;font-size:14.5px;font-weight:700;color:#2f2442;background:none;border:0;text-align:start;cursor:pointer}
.v48-air+.v48-air{border-top:1px solid #E6DAF5}
.v48-air .ic{width:30px;height:30px;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex:none}
.v48-air .tx{flex:1}
.v48-air small{display:block;font-weight:500;font-size:12px;color:#7b6f8c}
.v48-air .go{color:#9d8fb3;font-size:18px}
[dir=rtl] .v48-air .go{transform:scaleX(-1)}
.v48-aih{display:flex;align-items:center;gap:6px;padding:10px 12px 4px;font-weight:800;font-size:13.5px;color:#4B2F7A}
.v48-aitxt{padding:2px 12px 10px;font-size:13.5px;line-height:1.45;color:#2a2f2e}
.v48-aitxt .q,.v48-savedbox .q{background:#fff;border:1px solid #E6DAF5;border-radius:10px;padding:8px 10px;font-family:ui-monospace,Menlo,monospace;font-size:12.3px;line-height:1.5;color:#333;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow:auto}
.v48-aierr{color:#8A3B2B}
.v48-btns{display:flex;gap:8px;padding:0 12px 12px}
.v48-btns button{flex:1;text-align:center;border-radius:11px;padding:10px;font:inherit;font-weight:800;font-size:14px;cursor:pointer}
.v48-btns .b1{background:#4B2F7A;color:#fff;border:0}.v48-btns .b2{background:#fff;color:#3d4544;border:1px solid #DCCDF2}
.v48-btop{padding-top:10px;border-top:1px solid #E6DAF5}
.v48-sg{display:flex;align-items:center;gap:8px;padding:9px 12px;border-top:1px solid #E6DAF5;font-size:13.5px;font-weight:600;line-height:1.3}
.v48-sg .t{flex:1;min-width:0}
.v48-sg .y,.v48-sg .no{border-radius:999px;padding:6px 12px;font:inherit;font-weight:800;font-size:13px;cursor:pointer;flex:none}
.v48-sg .y{background:#1B5E57;color:#fff;border:0}.v48-sg .no{background:#fff;border:1px solid #D9D0C2;color:#5C6664}
.v48-sg.done{color:#1B5E57}.v48-sgok{font-size:12.5px;font-weight:800;color:#1B5E57;flex:none;max-width:45%;text-align:end}
.v48-savedbox{margin:2px 10px 10px;border:1px solid #DCCDF2;background:#FAF7FE;border-radius:12px}
.v48-savedbox .hd{display:flex;width:100%;align-items:center;gap:6px;padding:9px 11px;font:inherit;font-weight:800;font-size:13px;color:#4B2F7A;background:none;border:0;cursor:pointer;text-align:start}
.v48-savedbox .hd .cv{margin-inline-start:auto;color:#7b6f8c;font-size:13px}
.v48-savedbox .bd2{padding:0 11px 10px;font-size:13px;line-height:1.45}
.v48-savedbox .an{display:inline-block;margin-top:8px;background:#fff;border:1px solid #DCCDF2;border-radius:999px;padding:5px 12px;font:inherit;font-weight:800;font-size:12.5px;color:#4B2F7A;cursor:pointer}
.v48-spin{display:inline-block;width:14px;height:14px;border:2px solid #CDBDE8;border-top-color:#4B2F7A;border-radius:50%;animation:v48spin .8s linear infinite;vertical-align:-2px}
.v48-send .v48-spin{border-color:rgba(255,255,255,.4);border-top-color:#fff}
@keyframes v48spin{to{transform:rotate(360deg)}}
.v48-edited{margin-inline-start:6px;font-size:11px;font-weight:700;color:#8a918f;background:#F1ECE3;border-radius:999px;padding:1px 7px;vertical-align:middle}
.v48-more{white-space:nowrap}

/* v5.0.0 — unread badges on the bottom bar */
.bottom-nav-btn { position: relative !important; }
.v500-badge { position: absolute; top: 2px; left: calc(50% + 5px); min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; background: #FF3040; color: #fff; font: 800 10.5px/17px -apple-system, system-ui, sans-serif; text-align: center; box-shadow: 0 0 0 2px #fff; pointer-events: none; z-index: 2; direction: ltr; }
[dir="rtl"] .v500-badge { left: auto; right: calc(50% + 5px); }
.v500-cal-i { display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; border-radius: 50%; border: 1.5px solid currentColor; font: italic 800 11px/1 Georgia, serif; opacity: .85; cursor: pointer; }
/* v5.0.0 — saved AI boxes: collapsed row by default */
.v48-savedbox:not(.open) .hd { padding-top: 6px; padding-bottom: 6px; }
/* v5.0.0 — no visible auto-hide countdowns */
.v401-idle-timer-pill, .v420-idle-timer-pill, .v430-cal-idle-badge { display: none !important; }
.v380-auto-hide-note { display: none !important; }

/* ===== v5.1.0 — ✨ Ask Homa bar, 📍 location menu, nearby, location cards ===== */
.v440-search-bar.v510-host{display:block;background:none;border:0;box-shadow:none;padding:0;margin:0 0 6px}
.v510-bar{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #DFD3C3;border-radius:16px;padding:7px 7px 7px 12px;box-shadow:0 2px 8px rgba(27,94,87,.06);margin:10px 0 2px}
[dir=rtl].v510-bar{padding:7px 12px 7px 7px}
.v510-bar:focus-within{border-color:#1B5E57;box-shadow:0 0 0 3px rgba(27,94,87,.12)}
.v510-spark{font-size:17px;flex:none}
.v510-in{flex:1;min-width:0;border:0;outline:0;font:inherit;font-size:16px;color:#1E2423;background:transparent;padding:6px 0}
.v510-in::placeholder{color:#8a8578;font-weight:600}
.v510-mic{width:36px;height:36px;border-radius:50%;border:0;background:#E6F2F0;color:#1B5E57;display:flex;align-items:center;justify-content:center;flex:none;cursor:pointer}
.v510-mic.on{background:#1B5E57;color:#fff}
.v510-mic svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.v510-x{width:26px;height:26px;border-radius:50%;border:0;background:#ECE6DA;color:#5C6664;font-size:13px;flex:none;cursor:pointer}
.v510-x[hidden]{display:none}
.v510-locrow{display:flex}
.v510-loc{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:12.5px;font-weight:700;color:#5C6664;padding:3px 6px 4px;border:0;background:none;max-width:100%;cursor:pointer}
.v510-loc .lt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.v510-loc .chev{opacity:.55;font-size:10px}
.v510-panel:empty{display:none}
.v510-panel{margin:2px 0 8px}
.v510-chips{display:flex;gap:7px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}
.v510-chips::-webkit-scrollbar{display:none}
.v510-chip{flex:none;display:inline-flex;align-items:center;gap:5px;border:1.5px solid #DFD3C3;background:#fff;border-radius:999px;padding:6px 10px;font:inherit;font-size:12.8px;font-weight:700;color:#1E2423;white-space:nowrap;cursor:pointer}
.v510-chip.on{background:#1B5E57;border-color:#1B5E57;color:#fff}
.v510-ans{background:linear-gradient(180deg,#F1F7F5,#fff);border:1px solid #CFE3DE;border-radius:16px;padding:11px 13px;margin:4px 0 10px;font-size:14.5px;line-height:1.45;color:#1E2423}
.v510-ans.nf{background:#FBF8F2;border-color:#E4DDD0}
.v510-ans .h{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:#1B5E57;margin-bottom:4px}
.v510-ans .h .sp{flex:1}
.v510-dots{color:#5C6664;font-weight:600;font-size:13.5px}
.v510-sh{display:flex;align-items:center;gap:6px;font-weight:800;font-size:15px;margin:6px 2px 8px;color:#1E2423;min-width:0}
.v510-sh small{font-weight:700;color:#8a918f;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.v510-list{display:block}
.v510-card{display:flex;align-items:center;gap:11px;width:100%;background:#fff;border:1px solid #E4DDD0;border-radius:15px;padding:9px 11px;margin:0 0 7px;box-shadow:0 2px 8px rgba(27,94,87,.04);font:inherit;text-align:start;cursor:pointer;color:inherit}
.v510-card.hit{border-color:#9CCBC2}
.v510-ic{width:44px;height:44px;border-radius:11px;flex:none;display:flex;align-items:center;justify-content:center;font-size:21px;background:#F3EDE2;overflow:hidden}
.v510-card .tx{flex:1;min-width:0}
.v510-card .t1{font-weight:800;font-size:14.5px;color:#1E2423;display:flex;align-items:center;min-width:0}
.v510-card .t1 .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.v510-card .t2{font-size:12.3px;color:#5C6664;font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v510-tag{flex:none;font-size:11px;font-weight:800;color:#1B5E57;background:#E6F2F0;border-radius:999px;padding:3px 8px}
.v510-empty{font-size:13.5px;color:#5C6664;font-weight:600;padding:6px 4px 10px}
.v510-empty button{border:0;background:none;color:#1B5E57;font:inherit;font-weight:800;cursor:pointer}
.v510-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin:4px 0 6px;border:1.5px solid #1B5E57;background:#fff;color:#1B5E57;border-radius:14px;padding:10px 12px;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.v510-more span{opacity:.6}
.v510-lift{overflow:hidden;padding:0!important}
.v510-addr{font-size:14px;line-height:1.4;padding:10px 12px}
.v510-addrrow{display:flex;align-items:flex-start;gap:8px}.v510-addrrow .a{flex:1;min-width:0}
.v510-addr b{display:block;font-size:15px}
.v510-meta{display:block;font-size:12px;color:#8a918f;font-weight:600;margin-top:2px}
.v510-mapmini{display:block;height:86px;background:repeating-linear-gradient(0deg,#EDE6D8 0 1px,transparent 1px 22px),repeating-linear-gradient(90deg,#EDE6D8 0 1px,transparent 1px 22px),#F6F1E7;position:relative;text-decoration:none}
.v510-mapmini:after{content:"📍";position:absolute;left:50%;top:50%;transform:translate(-50%,-70%);font-size:26px}
.v510-osm{position:absolute;right:6px;bottom:4px;font-size:9.5px;color:#8a8578;font-weight:600;background:rgba(255,255,255,.75);border-radius:4px;padding:0 4px}
.v510-loccard{border:1px solid #E4DDD0;border-radius:14px;overflow:hidden;margin:8px 11px 4px;background:#fff}
.v510-loccard .b{padding:8px 10px;font-size:13px;line-height:1.4}
.v510-loccard .w{color:#5C6664}
.v510-loccard a{color:#1B5E57;font-weight:800;text-decoration:none}
.v510-sendaddr{font-size:13px;color:#5C6664;font-weight:700;margin:0 18px 10px;line-height:1.35}
.v510-tgt{display:flex;align-items:center;gap:12px;width:calc(100% - 32px);margin:0 16px 8px;background:#fff;border:1px solid #E4DDD0;border-radius:14px;padding:11px 12px;font:inherit;text-align:start;color:#1E2423;cursor:pointer}
.v510-tgt .e{font-size:22px;width:36px;height:36px;border-radius:10px;background:#F3EDE2;display:flex;align-items:center;justify-content:center;flex:none}
.v510-tgt .t1{font-weight:800;font-size:15px}.v510-tgt .t2{font-size:12.3px;color:#5C6664;font-weight:600}
.v510-tgt .tx{flex:1;min-width:0}.v510-tgt .ch{opacity:.4;font-size:20px}
.v510-flash{animation:v510fl 2.2s ease}
@keyframes v510fl{0%,60%{box-shadow:0 0 0 3px rgba(27,94,87,.45)}100%{box-shadow:none}}
#toast{white-space:nowrap}
[dir=rtl] .v510-in,[dir=rtl].v510-bar .v510-in,[dir=rtl] .v510-card,[dir=rtl] .v510-ans,[dir=rtl] .v510-sh,[dir=rtl] .v510-chip,[dir=rtl] .v510-loc,[dir=rtl] .v510-tgt,[dir=rtl] .v510-more{font-family:var(--font-fa)}
.v510-stack{justify-content:flex-start}
.v510-lift{max-height:none;width:100%;box-sizing:border-box}
.v510-lift .v48-lift-t{display:block;-webkit-line-clamp:unset;overflow:visible}
.v510-addrrow .v460-info{flex:none;margin-top:2px}
.v510-addr b{overflow-wrap:anywhere}

/* v5.1.1 — ✨ Ask bar: one-tap voice (listening state) */
.v510-host.v510-listening .v510-in,.v510-host.v510-listening .v510-x{display:none!important}
.v510-live{flex:1;min-width:0;font-size:16px;line-height:1.3;color:#173F3B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;padding:0 4px;unicode-bidi:plaintext}
.v510-live.ph{color:#6B7F7B}
.v510-host.v510-listening .v510-bar{border-color:#E5484D;box-shadow:0 0 0 3px rgba(229,72,77,.12),0 4px 14px rgba(0,0,0,.05)}
.v510-host.v510-listening .v510-mic{--lv:0;position:relative;background:#E5484D;color:#fff;box-shadow:0 0 0 calc(3px + var(--lv) * 9px) rgba(229,72,77,.22);transition:box-shadow .1s linear}
.v510-host.v510-listening .v510-mic::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(229,72,77,.45);animation:v511pulse 1.3s ease-out infinite;pointer-events:none}
.v510-host.v510-stt .v510-mic{background:#1B5E57;box-shadow:none}
.v510-host.v510-stt .v510-mic::after{border-color:rgba(27,94,87,.45)}
.v510-host.v510-stt .v510-live.ph::after{content:"";display:inline-block;width:14px;height:14px;margin-inline-start:6px;vertical-align:-2px;border-radius:50%;border:2px solid #1B5E57;border-top-color:transparent;animation:v511spin .8s linear infinite}
@keyframes v511pulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.45);opacity:0}}
@keyframes v511spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.v510-host.v510-listening .v510-mic::after{animation:none}}

/* v5.1.2 — Google nearby suggestions */
.v510-sgh{margin-top:12px}
.v510-sg .v510-ic{background:#eef4f2}
.v510-sg .v510-tag{background:transparent;color:#5c6b66;font-weight:700}
.v510-gattr{font-family:Roboto,"Helvetica Neue",Arial,sans-serif;font-size:11px;color:#5f6368;text-align:end;margin:4px 6px 2px;letter-spacing:.1px}

/* ===== v5.2.0 compact header: slim title row, 78px picture beside the Ask bar, New post button ===== */
#house-architecture-hero:has(.v520-top) > .v440-top-scene-wrap{display:none!important}
.v520-top,.v520-pic{display:none}
#house-architecture-hero .v440-search-bar.v510-host{display:grid;grid-template-columns:78px minmax(0,1fr);column-gap:10px;align-items:start;margin:0 0 6px}
#house-architecture-hero .v510-host > .v520-top{display:flex;grid-column:1/-1;grid-row:1;align-items:center;gap:6px;min-height:40px;padding:2px 0 4px}
.v520-tt{margin:0;font-size:20px;font-weight:800;color:#1E2423;letter-spacing:-.2px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
[dir=rtl].v520-top .v520-tt{font-family:var(--font-fa)}
.v520-i{flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid #CFC4B4;background:#fff;color:#5C6664;font-size:14px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.v520-sp{flex:1}
.v520-lang{flex:none;border:1.5px solid #DFD3C3;background:#fff;color:#1B5E57;font:inherit;font-size:13px;font-weight:800;border-radius:999px;padding:5px 12px;cursor:pointer;-webkit-tap-highlight-color:transparent}
#house-architecture-hero .v510-host > .v520-pic{display:block;grid-column:1;grid-row:2/span 3;align-self:start;width:78px;height:78px;margin-top:10px;padding:0;border:0;border-radius:18px;overflow:hidden;background:#E8DFD1;box-shadow:0 3px 10px rgba(45,35,22,.14);cursor:pointer;-webkit-tap-highlight-color:transparent}
.v520-pic img{display:block;width:100%;height:100%;object-fit:cover}
#house-architecture-hero .v510-host > .v520-pic.ring{box-shadow:0 0 0 2px #FAF6F0,0 0 0 4.5px var(--ring,#8A94A6),0 3px 10px rgba(45,35,22,.14)}
.v520-pic.r-s{--ring:#2E6B4F}.v520-pic.r-z{--ring:#C2577A}.v520-pic.r-k{--ring:#E09F3E}.v520-pic.r-o{--ring:#8A94A6}
#house-architecture-hero .v510-host > .v510-bar{grid-column:2;grid-row:2}
#house-architecture-hero .v510-host > .v510-locrow{grid-column:2;grid-row:3;max-height:0;overflow:hidden;opacity:0;transition:max-height .18s ease,opacity .18s ease}
#house-architecture-hero .v510-host > .v510-locrow.v520-on{max-height:44px;opacity:1}
#house-architecture-hero .v510-host > .v510-locrow .v510-loc{max-width:100%}
#house-architecture-hero .v510-host > #v47-plus-wrap{grid-column:2;grid-row:4;position:relative;margin-top:6px;min-width:0}
#house-architecture-hero .v510-host > #v510-panel{grid-column:1/-1;grid-row:5;min-width:0}
.v520-pb{display:flex;align-items:stretch;gap:6px}
.v520-pb .v520-go{flex:1;min-width:0;height:38px;border:0;border-radius:12px;background:#1B5E57;color:#fff!important;font-size:14.5px!important;font-weight:800;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 2px 8px rgba(27,94,87,.18)}
.v520-pb .v520-go:active{filter:brightness(.92)}
.v520-pb .v520-pl{width:38px;height:38px;background:#fff;color:#1B5E57!important;border:1.5px solid #CFE2D8;font-size:22px}
.v520-pb .v520-pl.on{background:#4B2F7A;color:#fff!important;border-color:#4B2F7A}
[dir=rtl] .v520-pb .v520-go{font-family:var(--font-fa)}
#house-architecture-hero .v510-host > #v47-plus-wrap .v47-plusmenu{position:absolute;top:calc(100% + 2px);inset-inline-start:-88px;inset-inline-end:0;z-index:40;margin-top:0}
#house-architecture-hero .v510-host > #v47-plus-wrap .v472-row{display:flex;align-items:center;gap:6px}
#house-architecture-hero .v510-host > #v47-plus-wrap .v473-glue{display:flex;flex:1;align-items:center;gap:6px;min-width:0}
#house-architecture-hero .v510-host > #v47-plus-wrap .v47-msgbtn{flex:1;min-width:0;margin-top:0;min-height:38px;padding:7px 12px;border-radius:12px}
#house-architecture-hero .v510-host > #v47-plus-wrap .v472-i{margin-top:0;flex:none}

/* v5.2.1 — Ask AI answer card: full answer, readable, expandable when long */
.v510-ans .v521-body p{margin:0 0 6px}
.v510-ans .v521-body p:last-child{margin-bottom:0}
.v510-ans.v521-long .v521-body{max-height:9.6em;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
.v510-ans.v521-long.v521-open .v521-body{max-height:none;-webkit-mask-image:none;mask-image:none}
.v521-more{display:block;margin:6px 0 0;padding:6px 12px;border:1px solid #CFE3DE;border-radius:999px;background:#fff;color:#1B5E57;font-weight:800;font-size:13px;min-height:32px}
[dir=rtl] .v521-more{font-family:var(--font-fa)}
/* v5.2.2 — Ask Homa conversation thread */
.v522-thread{background:linear-gradient(180deg,#F1F7F5,#fff);border:1px solid #CFE3DE;border-radius:18px;padding:9px 10px 10px;margin:4px 0 10px;display:flex;flex-direction:column;gap:7px}
.v522-top{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:#1B5E57}
.v522-top .sp{flex:1}
.v522-x{border:0;background:#E6EFEC;color:#1B5E57;width:28px;height:28px;border-radius:50%;font-size:13px;font-weight:800;line-height:1}
.v522-u{align-self:flex-end;max-width:84%;background:#1B5E57;color:#fff;border-radius:16px 16px 4px 16px;padding:7px 11px;font-size:14.5px;line-height:1.4;white-space:pre-wrap;word-break:break-word}
.v510-ans.v522-h{align-self:flex-start;max-width:92%;margin:0;border-radius:16px 16px 16px 4px;background:#fff;padding:8px 11px}
[dir=rtl] .v522-u{align-self:flex-start;border-radius:16px 16px 16px 4px}
[dir=rtl] .v510-ans.v522-h{align-self:flex-end;border-radius:16px 16px 4px 16px}
.v522-sum{background:#FBF6EA;border:1px solid #EADFC6;border-radius:14px;padding:8px 11px;font-size:14px;line-height:1.45;color:#3A3326}
.v522-sum b{display:block;font-size:12.5px;color:#7A5B12;margin-bottom:3px}
.v522-sum p{margin:0 0 4px}
.v522-acts{display:flex;gap:6px;flex-wrap:wrap}
.v522-acts button{border:1px solid #CFE3DE;background:#fff;color:#1B5E57;border-radius:999px;padding:5px 11px;font-size:13px;font-weight:700;min-height:32px}
.v522-reply{display:flex;align-items:center;gap:6px;background:#fff;border:1.5px solid #1B5E57;border-radius:999px;padding:3px 4px 3px 12px}
[dir=rtl] .v522-reply{padding:3px 12px 3px 4px}
.v522-reply input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px;padding:6px 0}
.v522-reply .v522-mic{position:static;width:34px;height:34px;flex:none}
.v522-send{border:0;background:#1B5E57;color:#fff;width:34px;height:34px;border-radius:50%;font-size:15px;flex:none}
[dir=rtl] .v522-send{transform:scaleX(-1)}
[dir=rtl] .v522-thread,[dir=rtl] .v522-acts button,[dir=rtl] .v522-reply input,[dir=rtl] .v522-sum{font-family:var(--font-fa)}
/* v5.2.2 (b): AI content on posts/notes is tappable → Homa chat in place */
.v522c-tap{position:relative;cursor:pointer;-webkit-tap-highlight-color:rgba(27,94,87,.08);border-radius:10px}
.v522c-go{position:absolute;top:2px;inset-inline-end:2px;font-size:12px;opacity:.55;pointer-events:none}
.v522c-aic{background:#F1F7F5;border:1px solid #D8E9E4;border-radius:12px;padding:6px 26px 6px 9px;margin:3px 0}
[dir=rtl] .v522c-aic{padding:6px 9px 6px 26px}
.v522c-aic b{color:#1B5E57}
.v48-savedbox .v522c-tap{padding-inline-end:20px}
.v47-ainote.v522c-tap{padding-inline-end:22px}
.v522c-active{box-shadow:0 0 0 2px rgba(27,94,87,.35)}
.v522c-slot.on{margin:6px 0 4px}
.v522c-slot .v522-thread{margin:0}
.v522c .v522c-seed{background:#F1F7F5}
.v522c-lbl{font-size:11.5px;font-weight:800;color:#1B5E57;margin-bottom:2px}
.v522c .v522-acts button[disabled]{opacity:.55}
.v522c .v47-mic.rec{background:#E5484D;color:#fff}
[dir=rtl] .v522c,[dir=rtl] .v522c-aic{font-family:var(--font-fa)}
.v48-saved-wrap .v522c-slot.on{margin:-4px 10px 10px}

/* v5.2.2: the AI box's own Add to note hides while its Homa chat is open (the chat has its own) */
.v48-savedbox .bd2.v522c-chat > .an{display:none}

/* v5.2.3 proto — ＋ Save… sheet (in place, iPhone grouped-list style) */
.v523-sheet{margin-top:8px;background:#F2F2F7;border:1px solid #E1E6EA;border-radius:16px;padding:6px 10px 10px;color:#1C1C1E;font-size:15px}
[dir=rtl] .v523-sheet,[dir=rtl].v523-sheet{font-family:var(--font-fa)}
.v523-hd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0 2px}
.v523-hd b{font-size:16px;font-weight:700}
.v523-hd button{border:0;background:none;color:#0A7A6E;font-size:16px;padding:6px 2px;min-height:36px}
.v523-hd .v523-save{font-weight:700}
.v523-lbl{font-size:12.5px;text-transform:uppercase;letter-spacing:.02em;color:#6D6D72;margin:12px 6px 5px}
[dir=rtl] .v523-lbl{text-transform:none;letter-spacing:0}
.v523-grp{background:#fff;border-radius:12px;overflow:hidden}
.v523-row{display:flex;align-items:center;gap:10px;width:100%;border:0;background:#fff;padding:11px 12px;min-height:46px;text-align:start;font:inherit;color:inherit;border-bottom:.5px solid #E5E5EA}
.v523-row:last-child{border-bottom:0}
.v523-row:disabled{opacity:.4}
.v523-rt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.v523-rt small{color:#8E8E93;font-size:12.5px}
.v523-rd{flex:0 0 20px;height:20px;border-radius:50%;border:1.5px solid #C7C7CC;box-sizing:border-box}
.v523-rd.on{border:6px solid #0A7A6E}
.v523-row.on .v523-rt{font-weight:600}
.v523-chev{color:#C7C7CC;font-size:18px;margin-inline-start:auto}
.v523-row .v523-rt:has(.v523-chev){flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:6px}
.v523-row .v523-rt:has(.v523-chev) small{flex-basis:100%;order:3}
.v523-cb{flex:0 0 22px;height:22px;border-radius:6px;border:1.5px solid #C7C7CC;box-sizing:border-box;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:800}
.v523-cb.on{background:#0A7A6E;border-color:#0A7A6E}
.v523-pair{align-items:flex-start}
.v523-pair .q{font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v523-pair .a{color:#6D6D72;font-size:13px;font-weight:400;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v523-parts,.v523-folders{margin-top:8px}
.v523-folders{max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.v523-fsp{font-size:12px;color:#6D6D72;background:#F7F7FA;padding:6px 12px;border-bottom:.5px solid #E5E5EA}
.v523-f{padding-inline-start:16px}
.v523-ok{color:#0A7A6E;font-weight:800}
.v523-warn{margin:8px 4px 0;font-size:13px;color:#8A5300;background:#FFF6E5;border-radius:10px;padding:8px 10px}
.v523-pv{padding:0}
.v523-title{display:block;width:100%;box-sizing:border-box;border:0;border-bottom:.5px solid #E5E5EA;padding:11px 12px;font:inherit;font-weight:700;font-size:15px;background:#fff;color:inherit;outline:none}
.v523-text{display:block;width:100%;box-sizing:border-box;border:0;padding:10px 12px;font:inherit;font-size:14.5px;line-height:1.45;resize:vertical;min-height:130px;background:#fff;color:inherit;outline:none}
.v523-busy{padding:16px 12px;color:#6D6D72}
.v523-ft{display:flex;gap:8px;margin-top:12px}
.v523-ft button{flex:1;min-height:44px;border-radius:12px;font-size:16px;font-weight:700;border:0}
.v523-ft .v523-cancel{background:#fff;color:#0A7A6E;border:1px solid #D1D1D6}
.v523-ft .v523-save{background:#0A7A6E;color:#fff}
.v523-sheet button:disabled{opacity:.5}
.v523-sheet .v523-hd button.v523-cancel,.v523-sheet .v523-hd button.v523-save{color:#0A7A6E !important;background:none}
.v523-sheet .v523-ft button.v523-save{background:#0A7A6E;color:#fff}
.v523-sheet .v523-ft button.v523-cancel{background:#fff;color:#0A7A6E}

/* v5.2.4 proto: 📎 Upload in the Ask bar (menu opens in place under the chips; attachment chip; discard question) */
.v524-menu{background:#fff;border:1px solid #E7DDCF;border-radius:14px;margin:0 0 8px;overflow:hidden;box-shadow:0 6px 18px rgba(30,36,35,.08)}
.v524-mh{display:flex;align-items:center;gap:6px;padding:9px 12px 6px;font-size:12.5px;color:#1B5E57}
.v524-mh .sp{flex:1}
.v524-mi{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;border:0;border-top:.5px solid #EEE6DA;background:#fff;padding:11px 12px;min-height:46px;font:inherit;font-size:15px;color:#1E2423;text-align:start;cursor:pointer}
.v524-mi span{font-weight:600}
.v524-mi small{margin-inline-start:auto;color:#8A8F8E;font-size:12.5px}
.v524-link{display:flex;gap:8px;padding:9px 12px 11px;border-top:.5px solid #EEE6DA}
.v524-link input{flex:1;min-width:0;border:1.5px solid #DFD3C3;border-radius:10px;padding:9px 10px;font:inherit;font-size:16px;direction:ltr;text-align:left}
.v524-link button{border:0;background:#1B5E57;color:#fff;border-radius:10px;padding:0 14px;font:inherit;font-weight:700}
.v524-att{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #CFE3DE;border-radius:14px;padding:7px 8px 7px 7px;margin:0 0 8px}
.v524-att.busy{opacity:.85}
.v524-th{width:44px;height:44px;border-radius:9px;object-fit:cover;flex:none;background:#EEE}
.v524-ic{width:44px;height:44px;border-radius:9px;flex:none;background:#E6EFEC;display:flex;align-items:center;justify-content:center;font-size:21px}
.v524-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.v524-nm{font-size:14px;font-weight:700;color:#1E2423;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v524-sub{font-size:12px;color:#7A807F}
.v524-ok{color:#0A7A6E;font-weight:800}
.v524-rm{border:0;background:#F1ECE4;color:#5B605F;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:800;flex:none}
.v524-ub{align-self:flex-end;display:flex;align-items:center;gap:8px;max-width:84%;background:#E6EFEC;border-radius:14px;padding:5px 10px 5px 5px}
.v524-ub .v524-th{width:64px;height:64px}
.v524-ub .v524-nm{font-size:13px;font-weight:600;color:#1B5E57}
[dir=rtl] .v524-ub{align-self:flex-start;padding:5px 5px 5px 10px}
.v524-discard{background:#FFF7EC;border:1px solid #F0D9B5;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:9px}
.v524-discard b{font-size:14.5px;color:#4A3A1F}
.v524-dbtns{display:flex;gap:8px;flex-wrap:wrap}
.v524-dbtns button{flex:1;border:1.5px solid #DFD3C3;background:#fff;border-radius:999px;padding:8px 10px;font:inherit;font-size:13.5px;font-weight:700;color:#1E2423;white-space:nowrap}
.v524-dbtns .v524-del{background:#B3261E;border-color:#B3261E;color:#fff}
.v524-sth{width:34px;height:34px;border-radius:7px;object-fit:cover;flex:none}
.v524-sic{width:34px;height:34px;border-radius:7px;background:#E6EFEC;display:flex;align-items:center;justify-content:center;flex:none}
[dir=rtl] .v524-menu,[dir=rtl] .v524-att,[dir=rtl] .v524-discard,[dir=rtl] .v524-ub{font-family:var(--font-fa)}
/* v5.2.4: all four options visible on tap (wrap instead of a sideways-scrolling row) */
.v510-chips{flex-wrap:wrap;overflow:visible;row-gap:7px}
/* v5.2.5 PROTO: Closet → 📥 Inbox · 📤 Sent · 📝 My Notes */
.v525-tabs{display:flex;align-items:center;gap:6px;margin:8px 0 2px;padding:4px;background:#EEF1F0;border-radius:14px}
.v525-tab{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border:0;border-radius:11px;background:transparent;font-size:13px;font-weight:700;color:#4b5352;white-space:nowrap}
.v525-tab.on{background:#fff;color:#14201E;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.v525-tabs .v460-info{flex:none}
.v525-bd{display:inline-block;min-width:18px;padding:1px 5px;border-radius:9px;background:#E5484D;color:#fff;font-size:11px;font-weight:800;line-height:16px;text-align:center}
.v525-box{padding-top:4px}
.v525-row .b b{font-weight:600}
.v525-row.unread .b b{font-weight:800}
.v525-row.unread .b span{font-weight:700;color:#14201E}
.v525-re{font-style:normal;font-size:11px}
.v525-open{margin-top:6px;padding:10px;border-radius:14px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.10)}
.v525-oh{display:flex;align-items:center;gap:9px}
.v525-ow{flex:1;min-width:0;display:flex;flex-direction:column}
.v525-ow b{font-size:14px}.v525-ow small{font-size:11.5px;color:#7a8281}
.v525-oh .v47-x{position:static;flex:none}
.v525-body{margin:8px 2px 4px;font-size:15px;line-height:1.45;color:#14201E}
.v525-quote{margin:8px 0 2px;padding:6px 9px;border-inline-start:3px solid #B9C4C2;background:#F5F7F6;border-radius:8px;font-size:12.5px;color:#56605E;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v525-acts{display:flex;gap:6px;margin-top:10px}
.v525-a{flex:1;padding:9px 4px;border:1px solid #DDE3E1;border-radius:11px;background:#F8FAF9;font-size:13px;font-weight:700;color:#24302E;white-space:nowrap}
.v525-a.on{background:#E8F0FE;border-color:#B7CCF5}
.v525-a.del{color:#C2362F}.v525-a.del.on{background:#FDECEB;border-color:#F3B8B4}
.v525-fl{margin-top:6px}
.v525-conf{display:flex;align-items:center;gap:6px;margin-top:8px;padding:8px 10px;border-radius:11px;background:#FDECEB}
.v525-conf span{flex:1;font-size:13px;font-weight:700;color:#7B1F1A}
.v525-conf button{padding:7px 12px;border:0;border-radius:9px;font-size:13px;font-weight:800}
.v525-conf .y{background:#D93A32;color:#fff}.v525-conf .n{background:#fff;color:#333}
.v525-to{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0}
.v525-to .l{font-size:13px;font-weight:700;color:#56605E}
.v525-who{display:flex;align-items:center;gap:6px;padding:5px 11px 5px 5px;border:1px solid #DDE3E1;border-radius:20px;background:#fff;font-size:13.5px;font-weight:700}
[dir=rtl] .v525-who{padding:5px 5px 5px 11px}
.v525-who.on{background:#E8F0FE;border-color:#1A73E8;color:#0B4FB3}
#bnav-closet{position:relative}
.v525-nb{position:absolute;top:3px;inset-inline-end:calc(50% - 22px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#E5484D;color:#fff;font-size:10.5px;font-weight:800;line-height:17px;text-align:center;pointer-events:none}
.v525-tabs{flex-wrap:nowrap!important}.v525-tabs>.v472-i{flex:0 0 auto!important;align-self:center!important;margin:0 4px!important;float:none!important;position:relative!important;top:auto!important}
.v525-tabs>.v473-glue{flex:1 1 0;min-width:0;display:flex!important;align-items:center;gap:2px;white-space:nowrap}.v525-tabs>.v473-glue>.v525-tab{flex:1 1 auto}
.v525-tab{font-size:12.5px;padding:8px 2px;overflow:hidden;text-overflow:ellipsis}
.v525-tabs>.v473-glue>.v525-tab{min-width:0}
.v525-to{padding:0 4px}
.v525-to .l{flex:none;margin-inline-end:2px}
.v525-to>.v473-glue{display:inline-flex!important;align-items:center;gap:4px}

/* v5.2.6 PROTO: Closet = 📝 Notes · ✉️ Messages */
.v526-sw{display:flex;align-items:center;gap:8px;margin:8px 0 4px}
.v526-mb{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 6px;border:1.5px solid #D5DEDB;border-radius:14px;background:#fff;font-size:15px;font-weight:800;color:#3d4847;white-space:nowrap}
.v526-mb.on{background:#2E6B5E;border-color:#2E6B5E;color:#fff;box-shadow:0 2px 6px rgba(46,107,94,.25)}
.v526-bd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#E5484D;color:#fff;font-size:12px;font-weight:800}
.v526-sw>.v472-i,.v526-sw>.v460-info{flex:0 0 auto!important;float:none!important;position:relative!important;top:auto!important;margin:0 2px!important}
.v526-nrow,.v526-mrow{display:flex;align-items:center;gap:8px;margin:6px 0 4px}
.v526-new{flex:0 0 auto;padding:8px 14px;border:0;border-radius:12px;background:#E7F1EE;color:#1F5248;font-size:14px;font-weight:800;white-space:nowrap}
.v526-nrow .v526-new{flex:1 1 auto}
.v526-dots{flex:0 0 auto;width:40px;height:36px;border:1.5px solid #D5DEDB;border-radius:12px;background:#fff;font-size:18px;font-weight:800;color:#3d4847}
.v526-dots.on{background:#EEF1F0}
.v526-mt{flex:1 1 auto;min-width:0;display:flex;gap:4px;padding:3px;background:#EEF1F0;border-radius:12px}
.v526-t{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 4px;border:0;border-radius:9px;background:transparent;font-size:13px;font-weight:700;color:#4b5352;white-space:nowrap}
.v526-t.on{background:#fff;color:#14201E;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.v526-more{margin:2px 0 6px}
#v47-plus-wrap:empty{display:none}
.v526-mb{font-size:16px;padding:12px 8px}
.v526-sw{flex-wrap:nowrap!important}
.v526-sw>.v473-glue{flex:1 1 0;min-width:0;display:flex!important;align-items:center;gap:4px;white-space:nowrap}
.v526-sw>.v473-glue>.v526-mb{flex:1 1 auto;min-width:0}
.v526-sw .v472-i{flex:0 0 auto!important;align-self:center!important;margin:0 2px!important;float:none!important;position:relative!important;top:auto!important}

/* ===== v5.2.7: Closet — four small buttons in one row · multi-photo strip ===== */
.v527-sw{display:flex;align-items:stretch;gap:6px;margin:8px 0 6px;flex-wrap:nowrap!important}
.v527-b{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px 2px 5px;border:1.5px solid #D5DEDB;border-radius:12px;background:#fff;color:#3d4847;line-height:1.15;white-space:nowrap;overflow:visible}
.v527-b .ic{font-size:17px;line-height:1.1}
.v527-b .lb{font-size:12px;font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis}
[dir=rtl] .v527-b .lb,.v527-sw[dir=rtl] .v527-b .lb{font-family:var(--font-fa)}
.v527-b.on{background:#2E6B5E;border-color:#2E6B5E;color:#fff;box-shadow:0 2px 6px rgba(46,107,94,.22)}
.v527-b[data-mode="loc"].on,.v527-b[data-mode="up"].on{background:#E6EFEC;border-color:#2E6B5E;color:#1B5E57;box-shadow:none}
.v527-bd{position:absolute;top:-6px;inset-inline-end:-4px;min-width:18px;height:18px;font-size:11px;padding:0 5px}
.v527-sw>.v472-i,.v527-sw>.v460-info{flex:0 0 auto!important;align-self:center!important;float:none!important;position:relative!important;top:auto!important;margin:0 1px!important}
.v527-sw>.v473-glue{flex:1.3 1 0;min-width:0;display:flex!important;align-items:stretch;gap:3px;white-space:nowrap}
.v527-sw>.v473-glue>.v527-b{flex:1 1 auto;min-width:0}
.v527-sw>.v473-glue>.v472-i{align-self:center!important;flex:0 0 auto!important;float:none!important;position:relative!important;top:auto!important;margin:0!important}
/* the 📍 line under the bar is the Closet's 📍 Location button instead */
html.v527-closet .v510-host .v510-locrow,html.v527-closet #house-architecture-hero .v510-host > .v510-locrow{display:none!important}
/* photo strip */
.v527-att{background:#fff;border:1.5px solid #CFE3DE;border-radius:14px;padding:8px;margin:0 0 8px}
.v527-strip{display:flex;gap:5px;overflow-x:auto;padding:8px 3px 2px;scrollbar-width:none}
.v527-strip::-webkit-scrollbar{display:none}
.v527-ph{position:relative;flex:0 0 auto;width:50px;height:50px;border-radius:10px;background:#EEE}
.v527-ph img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}
.v527-ph.busy img{opacity:.5}
.v527-spin{position:absolute;inset:0;margin:auto;width:20px;height:20px;border:2.5px solid #fff;border-top-color:#2E6B5E;border-radius:50%;animation:v527spin .8s linear infinite}
@keyframes v527spin{to{transform:rotate(360deg)}}
.v527-x{position:absolute;top:-6px;inset-inline-end:-6px;width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:rgba(30,40,38,.82);color:#fff;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}
.v527-add{flex:0 0 auto;width:50px;height:50px;border-radius:10px;border:1.5px dashed #9DBFB6;color:#2E6B5E;font-size:24px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.v527-sub{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:12px;color:#5b6664}
.v527-sub .sp{flex:1}
.v527-mini{display:inline-flex;gap:3px;flex-wrap:wrap;max-width:100%}
.v527-mini img{width:40px;height:40px;border-radius:7px;object-fit:cover}
.v524-ub .v527-mini{flex-wrap:nowrap;gap:3px}
.v524-ub .v527-mini img{width:34px;height:34px;border-radius:6px}
.v527-smini{display:flex;flex-wrap:nowrap;gap:4px;margin-top:6px}
.v527-smini img{width:36px;height:36px;border-radius:6px}
[dir=rtl] .v527-att{font-family:var(--font-fa)}
/* v5.2.7: own Room uses the Closet buttons (3, no Messages) · 📅 Calendar as a folder-style tile above the folders */
.v527-sw.v527-three>.v527-b,.v527-sw.v527-three>.v473-glue{flex:1 1 0}
.v527-calwrap{margin:4px 0 0}
.v527-calgrid{margin-bottom:12px}
.v527-calcard.on{box-shadow:0 0 0 2px #2E6B5E,0 5px 14px rgba(64,43,24,.07)}
.v527-cs{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:#2A1E15;line-height:1.05;padding:2px;text-align:center}
.v527-cs b{font-size:15px;font-weight:900;color:#B4432F}
.v527-cs small{font-size:9.5px;font-weight:800;text-transform:uppercase;opacity:.75}
.v527-cs i{font-style:normal;font-size:9px;font-weight:700;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:.8}
.v527-calwrap #v47-cal-slot{margin:-4px 0 12px}
/* v5.2.7: optional title (✨) + server date stamps */
.v527-trow{display:flex;align-items:center;gap:8px;min-width:0}
.v527-trow.c{padding:2px 12px 6px}
.v527-trow.e{margin:2px 0 8px;padding:0 14px}
.v527-h{flex:1 1 auto;min-width:0;margin:0;font-size:17px;line-height:1.3;font-weight:700;color:#1f2a28;overflow-wrap:anywhere}
.v527-tin{flex:1 1 auto;min-width:0;border:0;border-bottom:1.5px solid #e4e0d6;background:transparent;font-size:19px;font-weight:700;padding:8px 2px;color:#1f2a28;outline:none;border-radius:0}
.v527-tin:focus{border-bottom-color:#2E6B5E}
.v527-tin::placeholder{color:#b9b4a8;font-weight:600}
.v527-spark{flex:0 0 auto;border:1px solid #e7dcc0;background:#FFF9E8;border-radius:999px;min-width:34px;height:30px;padding:0 9px;font-size:14px;display:inline-flex;align-items:center;gap:4px;color:#6b5a2b;cursor:pointer}
.v527-spark span{font-size:12px;font-weight:600}
.v527-trow.c .v527-spark.solo{height:26px;font-size:12px;opacity:.85}
.v527-sug{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 12px 8px;padding:8px 10px;border-radius:12px;background:#F2F7F4;border:1px solid #cfe3da;font-size:13.5px;color:#24453d}
#v47-editor .v527-sug{margin:0 14px 10px}
.v527-sug .s{flex:1 1 160px;min-width:0;overflow-wrap:anywhere}
.v527-sug .bt{display:inline-flex;gap:6px;margin-inline-start:auto}
.v527-sug button{border:0;border-radius:999px;padding:5px 10px;font-size:12.5px;font-weight:700;cursor:pointer}
.v527-sug .a,#v47-editor .v527-sug button.a{background:#2E6B5E;color:#fff!important;opacity:1}
.v527-sug .d{background:#fff;color:#5c615f;border:1px solid #dcdcd6}
.v527-sug.err{background:#FFF4F1;border-color:#f3d3ca;color:#8a3a2a}
.v527-sug.busy{color:#5c615f;font-weight:600}
.v527-st{display:block;font-size:11px;color:#8a918f;font-weight:500;line-height:1.35;unicode-bidi:plaintext}
.v527-st .v527-e{color:#9a7b2f}
.v47-ph .n .v527-st{margin-top:1px}
.v527-st.cm{display:inline;margin-inline-start:6px;font-size:10.5px}
.v527-st.cm .v527-e{display:inline}
.v47-note .v527-st{display:block;-webkit-line-clamp:unset;font-weight:500;font-size:10.5px}
.v47-note .v527-st span{display:inline;font-weight:500}
.v47-note b.v527-nt{display:block;font-weight:800}
.v527-ihead{margin:0 0 10px}
.v527-ihead .v527-trow.c{padding:2px 0 4px}
.v527-ihead .v527-sug{margin:0 0 8px}
.v527-icm{margin-top:14px;border-top:1px solid #eee9de;padding-top:10px}
.v527-ich{font-weight:700;font-size:13px;margin-bottom:6px}
.v527-cmt{margin:3px 0}

/* v5.2.7: button rows keep the English left-to-right ORDER and POSITION in Farsi (like the bottom bar).
   Only the row direction is fixed; the text inside each button stays RTL Farsi. Header (title, 78px picture, Ask bar) is unchanged. */
:is([dir=rtl],:lang(fa)) :is(.v527-sw,.v520-pb,.v526-mrow,.v522-top,.v523-ft,.v473-glue,.v526-nrow,.v526-mt,.v510-chips,.v525-acts,.v527-sug,.v527-sug .bt,.v47-etop,.v47-ebtns,.v47-seg,.v47-ebottom,.v523-hd,.v522-acts,.v48-btns,.v48-people,.v48-seg,.v48-chiprow,.v48-grid,.v48-two,.v527-tacts)>*{direction:rtl}
:is([dir=rtl],:lang(fa)) :is(.v527-sw,.v520-pb,.v526-mrow,.v522-top,.v523-ft,.v473-glue,.v526-nrow,.v526-mt,.v510-chips,.v525-acts,.v527-sug,.v527-sug .bt,.v47-etop,.v47-ebtns,.v47-seg,.v47-ebottom,.v523-hd,.v522-acts,.v48-btns,.v48-people,.v48-seg,.v48-chiprow,.v48-grid,.v48-two,.v527-tacts){direction:ltr}

/* v5.2.7: in Farsi the header picture sits on the LEFT, the same place as in English (the Ask bar text stays RTL) */
:is([dir=rtl],:lang(fa)) #house-architecture-hero .v440-search-bar.v510-host{direction:ltr}
:is([dir=rtl],:lang(fa)) #house-architecture-hero .v440-search-bar.v510-host>*:not(.v510-chips){direction:rtl}

/* v5.2.8 HF-03: 44 px tap targets for the language button, ⓘ buttons and the location row.
   The look and the layout stay the same; only the invisible touch area around each grows to 44 x 44 px or more. */
.lang-toggle-btn,.v350-mini-pill.lang,.v460-lang-pill,.v520-lang,[id^="share-lang-"],.v460-info,.v472-i,.v520-i,.v510-loc{position:relative;touch-action:manipulation}
.lang-toggle-btn::after,.v350-mini-pill.lang::after,.v460-lang-pill::after,.v520-lang::after,[id^="share-lang-"]::after,
.v460-info::after,.v472-i::after,.v520-i::after{content:"";position:absolute;top:calc(50% - 23px);bottom:calc(50% - 23px);left:min(0px,calc(50% - 22px));right:min(0px,calc(50% - 22px));background:transparent;pointer-events:auto}
.v460-info::after,.v472-i::after,.v520-i::after{left:min(0px,calc(50% - 18px));right:min(0px,calc(50% - 18px))} /* 36 px wide so it doesn't cover the tabs beside it */
.v510-loc{min-height:44px;box-sizing:border-box} /* location row: real 44 px row (the open row was already allowed 44 px) */
/* v5.2.9: HD photo toggle (default off) */
.v529-hd{flex:none;min-width:38px;height:26px;padding:0 8px;border-radius:13px;border:1.5px solid #9fb3ae;background:#fff;color:#5b6664;font:700 12px/1 system-ui,-apple-system,sans-serif;letter-spacing:.5px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.v529-hd.on{background:#1B5E57;border-color:#1B5E57;color:#fff}
.v529-hd:focus-visible{outline:2px solid #1B5E57;outline-offset:2px}

/* ===== v5.2.9 PROTOTYPE: 🔍 search-as-you-type + ✨ Ask Homa + 🎤 in one bar (same order in Farsi) ===== */
.v510-host .v510-bar.v529-bar,.v510-host .v510-bar.v529-bar[dir=rtl]{direction:ltr!important;gap:6px;padding:6px 6px 6px 10px!important}
.v510-host .v529-bar[dir=rtl]>*{direction:rtl}.v510-host .v529-bar[dir=ltr]>*{direction:ltr}
.v529-si{flex:none;width:20px;height:20px;color:#5C6664;display:flex}
.v529-si svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
.v529-bar .v510-in{font-size:16px}
.v529-ask{flex:none;height:36px;border:0;border-radius:999px;background:#1B5E57;color:#fff;font:inherit;font-size:13px;font-weight:800;padding:0 11px;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 6px rgba(27,94,87,.2)}
[dir=rtl].v529-bar .v529-ask{font-family:var(--font-fa)}
.v529-ask:active{filter:brightness(.9)}
.v529-ask.v529-nudge{animation:v529n 1s ease 2}
@keyframes v529n{0%,100%{transform:scale(1)}50%{transform:scale(1.08);box-shadow:0 0 0 5px rgba(27,94,87,.18)}}
.v510-host.v510-listening .v529-ask,.v510-host.v510-listening .v529-si{display:none}
/* while typing / dictating the bar takes the full width; the picture tucks away */
#house-architecture-hero .v510-host.v529-wide > .v520-pic{display:none}
#house-architecture-hero .v510-host.v529-wide > .v510-bar,#house-architecture-hero .v510-host.v529-wide > .v510-locrow,#house-architecture-hero .v510-host.v529-wide > #v47-plus-wrap{grid-column:1/-1}
.v510-chips[hidden]{display:none!important}
.v529-jump{display:flex;gap:6px;overflow-x:auto;padding:8px 2px 4px;scrollbar-width:none;align-items:center;direction:ltr}
.v529-jump::-webkit-scrollbar{display:none}
.v529-j{flex:none;border:1.5px solid #DFD3C3;background:#fff;border-radius:999px;padding:6px 10px;font:inherit;font-size:13px;font-weight:700;color:#1E2423;white-space:nowrap;cursor:pointer}
.v529-j b{color:#1B5E57;margin-inline-start:2px}
[dir=rtl] .v529-j,[dir=rtl] .v529-gh,[dir=rtl] .v529-all{font-family:var(--font-fa)}
[dir=rtl] .v529-j{direction:rtl}
.v529-g{margin:10px 0 4px;scroll-margin-top:12px}
.v529-gh{display:flex;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:800;color:#5C6664;margin:0 4px 6px;letter-spacing:.1px}
.v529-gh .n{min-width:22px;height:20px;border-radius:10px;background:#E6F2F0;color:#1B5E57;font-size:12px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.v529-from{margin-top:10px;color:#1B5E57}
.v529-card mark{background:#FFE8A3;color:inherit;border-radius:3px;padding:0 1px}
.v529-all{display:block;width:100%;margin:2px 0 0;border:0;background:transparent;color:#1B5E57;font:inherit;font-size:13.5px;font-weight:800;padding:8px;cursor:pointer;min-height:40px}

/* ===== v5.3.0 — bands · add location · voice/video · live words · nested folders ===== */
.v510-host .v510-locrow{display:none!important}
#v530-bands{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;margin-top:2px;min-width:0}
.v530-band{background:var(--surface,#fff);border:1px solid rgba(0,0,0,.08);border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.v530-band.on{border-color:rgba(0,0,0,.14)}
.v530-bh{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 14px;cursor:pointer;font-weight:800;font-size:.95rem;color:var(--text,#1d1d1f)}
.v530-bh .ic{font-size:1.15rem;line-height:1}
.v530-bh .t{flex:0 0 auto}
.v530-bh .v530-bs{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;font-size:.8rem;color:var(--text-muted,#6e6e73);text-align:end}
.v530-bh .ch{margin-inline-start:auto;color:var(--text-muted,#6e6e73);font-size:.85rem}
.v530-bh .v530-bs+.ch{margin-inline-start:0}
.v530-n{background:#ff9f0a;color:#fff;border-radius:999px;font-size:.72rem;padding:1px 7px;font-weight:800}
.v530-bb{padding:0 12px 12px;display:flex;flex-direction:column;gap:10px}
#v530-calslot:empty{display:none}
#v530-calslot{padding:0 8px 8px}
.v530-band:not(.on) #v530-calslot #v430-dedicated-calendar-section .v430-calendar-drawer-panel{display:none}
#v530-calslot #v430-dedicated-calendar-section{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
#v530-calslot .v430-calendar-bar-btn{display:none!important}
#v530-calslot .v430-calendar-bar-sub,#v530-calslot .v430-cal-sub{display:none!important}
.v530-band[data-band="cal"]:not(.on) #v530-calslot{padding:0 8px 4px}
.v530-addr{display:flex;gap:8px;align-items:center}
.v530-addr input{flex:1;min-width:0;height:44px;border-radius:12px;border:1px solid rgba(0,0,0,.14);padding:0 12px;font-size:16px;background:var(--bg,#fafafa);color:inherit}
.v530-ic{all:unset;box-sizing:border-box;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(0,0,0,.05);cursor:pointer;font-size:1.1rem}
.v530-row2{display:flex;gap:8px}
.v530-row2>button{flex:1}
.v530-pri,.v530-sec,.v530-opt{all:unset;box-sizing:border-box;min-height:44px;padding:0 14px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:800;font-size:.9rem;cursor:pointer;text-align:center}
.v530-pri{background:var(--accent,#0a84ff);color:#fff}
.v530-pri.sm{min-height:40px;padding:0 12px}
.v530-sec,.v530-opt{background:rgba(0,0,0,.05);color:var(--text,#1d1d1f)}
.v530-opt{flex:1;justify-content:flex-start}
.v530-saved{display:flex;flex-direction:column;gap:2px}
.v530-sh{font-size:.78rem;font-weight:800;color:var(--text-muted,#6e6e73);padding:4px 2px}
.v530-sl{display:flex;align-items:center;gap:6px;border-top:1px solid rgba(0,0,0,.06)}
.v530-sl .m{all:unset;box-sizing:border-box;flex:1;min-width:0;padding:9px 2px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.v530-sl b{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v530-sl small{font-size:.75rem;color:var(--text-muted,#6e6e73);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v530-go{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;text-decoration:none;background:rgba(0,0,0,.04);color:inherit;font-weight:800}
.v530-more{all:unset;cursor:pointer;font-weight:800;font-size:.82rem;color:var(--accent,#0a84ff);padding:6px 2px}
.v530-flash{outline:3px solid #ff9f0a;outline-offset:2px;transition:outline .3s}
/* 📍 under the title */
.v530-under{margin:4px 0 6px;display:flex;flex-direction:column;gap:6px;min-width:0}
.v530-addloc{all:unset;box-sizing:border-box;align-self:flex-start;min-height:30px;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;color:var(--text-muted,#6e6e73);background:rgba(0,0,0,.04);cursor:pointer}
.v530-addloc.on{background:rgba(10,132,255,.12);color:var(--accent,#0a84ff)}
.v530-lch{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:rgba(0,0,0,.035)}
.v530-lch>.v530-opt+.v530-opt{margin-top:0}
.v530-lch:has(>.v530-opt){flex-direction:row}
.v530-locl{display:flex;align-items:center;gap:6px;min-width:0;font-size:.84rem;font-weight:700}
.v530-locl a{color:var(--accent,#0a84ff);text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v530-x{all:unset;box-sizing:border-box;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--text-muted,#6e6e73);background:rgba(0,0,0,.05);flex:0 0 auto;font-size:.8rem}
.v530-erow{display:flex;align-items:center;gap:8px;justify-content:space-between;min-width:0}
.v530-when{font-size:.78rem;color:var(--text-muted,#6e6e73);font-weight:700;white-space:nowrap}
.v530-civ{margin:2px 0 10px;display:flex;flex-direction:column;gap:6px}
.v530-st{font-size:.78rem;color:var(--text-muted,#6e6e73);font-weight:600;display:flex;flex-direction:column}
/* stamps: Posted line + Updated line */
.v527-e{display:block}
.v47-cm .v527-e,.cm .v527-e{display:inline}
.v527-e .v530-dot{display:none}
.v47-cm .v527-e .v530-dot,.cm .v527-e .v530-dot{display:inline}
/* editor recording */
.v530-rb.rec{background:#ff3b30!important;color:#fff!important}
.v530-recp{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:rgba(255,59,48,.07);margin:6px 0}
.v530-recp video{width:100%;max-height:220px;border-radius:12px;background:#000;object-fit:cover}
.v530-rinfo{display:flex;align-items:center;gap:8px;font-weight:800}
.v530-rinfo small{color:var(--text-muted,#6e6e73);font-weight:600}
.v530-rdot{width:10px;height:10px;border-radius:50%;background:#ff3b30;display:inline-block;animation:v530p 1s infinite;flex:0 0 auto}
@keyframes v530p{50%{opacity:.25}}
.v530-wave{display:flex;gap:4px;height:28px;align-items:center}
.v530-wave i{width:5px;border-radius:3px;background:#ff3b30;animation:v530w 1s infinite ease-in-out}
.v530-wave i:nth-child(1){height:10px}.v530-wave i:nth-child(2){height:22px;animation-delay:.1s}.v530-wave i:nth-child(3){height:16px;animation-delay:.2s}.v530-wave i:nth-child(4){height:26px;animation-delay:.3s}.v530-wave i:nth-child(5){height:12px;animation-delay:.4s}
@keyframes v530w{50%{transform:scaleY(.4)}}
.v530-media{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:14px;background:rgba(0,0,0,.04);margin:6px 0}
.v530-mh{display:flex;align-items:center;gap:6px;font-size:.84rem;font-weight:700;min-width:0}
.v530-mh span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v530-mh small{color:var(--text-muted,#6e6e73);font-weight:600;white-space:nowrap}
.v530-media audio{width:100%;height:40px}
.v530-media video{width:100%;max-height:260px;border-radius:10px;background:#000}
.v530-media.missing audio,.v530-media.missing video{opacity:.4}
.v472-eb i{font-style:normal}
/* live words */
.v530-live{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0;padding:8px 12px;border-radius:12px;background:rgba(10,132,255,.08);font-size:.88rem}
.v530-live b{font-size:.8rem;color:var(--accent,#0a84ff)}
.v530-live .it{color:var(--text-muted,#6e6e73);font-style:italic;flex:1 1 100%}
.v530-live .it:empty{display:none}
/* nested folders */
.v530-fbtns{display:inline-flex;gap:8px;flex-wrap:nowrap}
.v530-nsub{display:flex;gap:8px;align-items:center;margin:8px 0}
.v530-nsub input{flex:1;min-width:0;height:42px;border-radius:12px;border:1px solid rgba(0,0,0,.14);padding:0 12px;font-size:16px;background:var(--bg,#fafafa);color:inherit}
.v530-crumbs{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:.78rem;font-weight:700;color:var(--text-muted,#6e6e73);min-width:0}
.v530-crumbs button{all:unset;cursor:pointer;color:var(--accent,#0a84ff);padding:4px 2px}
.v530-crumbs i{font-style:normal;opacity:.6}
.v530-crumbs b{color:var(--text,#1d1d1f)}
html.dark .v530-band,body.dark .v530-band{border-color:rgba(255,255,255,.12)}
#v530-calslot .v430-chronological-drawer>div:first-child>div:first-child{display:none}
#v530-calslot .v430-chronological-drawer>div:first-child{justify-content:flex-end!important}
.v47-card .v530-addloc,.v530-under .v530-addloc{font-size:.74rem;min-height:28px;padding:2px 10px}
.v530-vstub{height:150px;border-radius:10px;background:#111 linear-gradient(135deg,#334,#112);display:grid;place-items:center;font-size:2rem;color:#fff}
.v530-vstub.a{height:40px;font-size:1rem;border-radius:20px;background:#e9e9ee;color:#333}
.v472-ebtns:has(.v530-rb){grid-template-columns:repeat(5,1fr)!important;gap:5px!important;padding:10px 10px 4px!important}
.v472-ebtns:has(.v530-rb) .v472-eb span{font-size:11px;white-space:nowrap}
.v530-under.ed{padding:0 14px;margin-top:0}
#v47-editor .v530-recp,#v47-editor .v530-media{margin:6px 12px}
#v47-editor .v530-live{margin:6px 12px}
/* Farsi: same button order/position as English, only the words run right-to-left */
#v47-editor .v472-ebtns,#v47-editor .v530-erow,#v47-editor .v527-trow,.v530-row2,.v530-addr,.v530-lch{direction:ltr}
[dir="auto"],.v530-bh .t{unicode-bidi:plaintext}
:is([dir=rtl],:lang(fa)) #house-architecture-hero .v440-search-bar.v510-host>#v530-bands,:is([dir=rtl],:lang(fa)) #v530-bands :is(.v530-bh,.v530-addr,.v530-row2,.v530-sl,.v530-band){direction:ltr}
:is([dir=rtl],:lang(fa)) #v530-bands :is(.t,.v530-bs,b,small,.v530-n){unicode-bidi:plaintext}
:is([dir=rtl],:lang(fa)) #v47-editor .v527-trow.e{direction:ltr!important}
:is([dir=rtl],:lang(fa)) #v47-editor .v527-trow.e input{direction:rtl}
/* v5.3.0: Location band — Save · Send to… · Nearby on one row; Places folder rows */
.v530-row3>button{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:6px;padding-right:6px}
.v530-sl.f .v530-go{font-size:18px;opacity:.6;pointer-events:none}
/* v5.3.0: Farsi keeps the English layout (title left, language button right, picture left); only the words read right-to-left */
:is([dir=rtl],:lang(fa)) #house-architecture-hero .v510-host>.v520-top{direction:ltr!important;flex-direction:row!important}
:is([dir=rtl],:lang(fa)) #house-architecture-hero .v510-host>.v520-top>*{unicode-bidi:plaintext}
:is([dir=rtl],:lang(fa)) .v47-plusmenu .v47-hs{direction:ltr}
:is([dir=rtl],:lang(fa)) .apple-folders-grid{direction:ltr}
:is([dir=rtl],:lang(fa)) .apple-folders-grid>.apple-folder-card{direction:rtl}
:is([dir=rtl],:lang(fa)) :is(.v47-ph,.v47-acts,.v47-sh,.v47-notes,.v47-atts,.v48-chiprow,.v47-car-wrap,.v47-cin,.v527-trow){direction:ltr}
:is([dir=rtl],:lang(fa)) :is(.v47-ph,.v47-acts,.v47-sh,.v47-notes,.v47-atts,.v48-chiprow,.v47-cin,.v527-trow)>*{unicode-bidi:plaintext}
:is([dir=rtl],:lang(fa)) .v48-chip{left:9px;right:auto}
:is([dir=rtl],:lang(fa)) .v530-under{direction:ltr}
:is([dir=rtl],:lang(fa)) .v530-under>*{unicode-bidi:plaintext}
.v47-cin .send{min-width:58px;text-align:center}
:is([dir=rtl],:lang(fa)) :is(.v510-loccard,.v510-loccard>.b){direction:ltr}
:is([dir=rtl],:lang(fa)) .v510-loccard>.b>*{unicode-bidi:plaintext}
/* v5.3.1 */
.v531-seg{display:flex;background:var(--surface-soft);border-radius:12px;padding:3px;margin:2px 0 10px}
.v531-seg button{flex:1;min-height:44px;border:0;border-radius:10px;background:transparent;font:inherit;font-weight:600;font-size:14px;color:var(--text-muted)}
.v531-seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.v531-bar{display:flex;align-items:center;gap:8px;background:var(--primary-light);border-radius:12px;padding:8px 8px 8px 10px;margin-bottom:10px}
.v531-bar.empty{background:var(--surface-soft)}
.v531-bar .pin{font-size:18px}
.v531-bar .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.v531-bar .pl{font-size:15px;color:var(--text)}
.v531-bar .ad{font-size:13px;color:var(--text-muted);line-height:1.3}
.v531-bar .age{font-size:11px;color:var(--accent)}
.v531-bar .v530-ic{flex:none}
.v531-maps{margin:8px 0 10px}
.v531-err{font-size:12px;color:var(--accent);margin:-4px 2px 8px}
.v530-row3 button[disabled]{opacity:.45}
.v531-upd{margin-left:auto;border:1px solid var(--primary);color:var(--primary);background:var(--surface);border-radius:16px;padding:0 12px;min-height:32px;font:inherit;font-size:13px;font-weight:600;align-self:center}
.v531-upd+.v47-dots{margin-left:4px}
.v531-vh{padding:0 14px 6px;direction:ltr;text-align:left}
.v531-vhl{background:none;border:0;padding:8px 0;min-height:32px;font:inherit;font-size:12px;color:var(--text-muted);text-decoration:underline}
.v531-vhb{display:flex;flex-direction:column;gap:6px}
.v531-ver{background:var(--surface-soft);border-radius:10px;padding:8px 10px;font-size:13px}
.v531-ver time{display:block;font-size:11px;color:var(--text-muted);margin-bottom:2px}
.v531-ver .m{font-size:12px;color:var(--text-muted);margin-top:2px}
.v531-pin{font-size:12px;color:var(--primary);font-weight:600;text-decoration:none;margin-top:2px}
.v531-attr{font-size:10px;color:var(--text-muted);margin-top:1px}
.v531-near{font-size:13px;color:var(--text);background:var(--primary-light);border-radius:10px;padding:8px 10px;margin:0 0 8px}
.v531-near.none{background:var(--surface-soft);color:var(--text-muted)}
.v531-near small{color:var(--text-muted)}

/* v5.3.1: sheet header keeps the English button positions in Farsi (✕ left, action right); only the title text runs RTL */
.v48-shh{direction:ltr}
.v48-shh .tt{unicode-bidi:plaintext}
.v48-prow{direction:ltr}
.v48-prow .n,.v48-prow .m{unicode-bidi:plaintext;text-align:start}

/* v5.3.2 */
.v532-src{opacity:.65;font-weight:500;font-size:.8em}
.v532-i{border:0;background:none;padding:0 2px;font-size:13px;opacity:.6;cursor:pointer}
.v531-in{direction:ltr}
.v532-mic.on{background:#c0392b;color:#fff;animation:v532p 1.2s infinite}
@keyframes v532p{50%{opacity:.6}}
/* v5.4.0 My location + Address book */
.v540-bh{display:flex;align-items:center;gap:8px;cursor:default}
.v540-bh .t{flex:1}
.v540-vis{font-size:12px;opacity:.75;margin-inline-start:4px}
.v540-i{min-width:44px;min-height:44px;border:0;background:none;color:var(--text-muted);font-size:15px}
.v540-latest{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 2px 6px}
.v540-latest.v540-empty,.v540-empty{color:var(--text-muted);font-size:13px;white-space:normal;padding:6px 2px}
.v540-tm{color:var(--text-muted)}
.v540-card{background:var(--surface-soft);border-radius:12px;padding:10px;margin-bottom:8px;font-size:14px}
.v540-pl{font-weight:600;margin-top:2px}
.v540-ad{color:var(--text-muted);font-size:12.5px;overflow-wrap:anywhere}
.v540-row{display:flex;gap:8px;margin:6px 0;direction:ltr}
.v540-row button,.v540-opt{flex:1;min-height:44px;border-radius:12px;border:1px solid var(--border,rgba(0,0,0,.12));background:var(--surface);font:inherit;font-size:14px;color:var(--text)}
.v540-row button:disabled{opacity:.45}
.v540-pri{background:var(--accent,#0f766e)!important;color:#fff!important;border-color:transparent!important}
.v540-more{display:block;margin:4px auto 0;min-width:64px;min-height:44px;border:0;background:none;color:var(--text-muted);font-size:13px}
.v540-hist{border-top:1px solid var(--border,rgba(0,0,0,.08));margin-top:4px}
.v540-hr{padding:8px 2px;border-bottom:1px solid var(--border,rgba(0,0,0,.06));font-size:13px}
.v540-addb{flex:0 0 auto!important;padding:0 16px}
.v540-add{background:var(--surface-soft);border-radius:12px;padding:8px;margin:4px 0 8px}
.v540-pick{background:var(--surface);border-radius:10px;padding:8px;font-size:13.5px;margin:6px 0}
.v540-err{color:#b45309;font-size:12.5px;margin:4px 0}
.v540-sw{position:relative;overflow:hidden;border-radius:12px;margin:4px 0}
.v540-del{position:absolute;inset:0 auto 0 0;width:96px;border:0;background:#dc2626;color:#fff;font:inherit;font-weight:600}
.v540-ab-row{position:relative;display:flex;align-items:center;gap:4px;background:var(--surface);transition:transform .2s;direction:ltr}
.v540-sw.rev .v540-ab-row{transform:translateX(96px)}
.v540-m{flex:1;min-width:0;min-height:44px;display:flex;gap:8px;align-items:flex-start;border:0;background:none;font:inherit;color:var(--text);text-align:start;padding:8px 4px}
.v540-tt{display:flex;flex-direction:column;min-width:0;flex:1}
.v540-nm{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v540-meta{color:var(--text-muted);font-size:11.5px;margin-top:2px}
.v540-ic{min-width:44px;min-height:44px;border:0;background:none;font-size:17px;color:var(--text)}
.v540-ov{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:10050;display:flex;align-items:flex-end}
.v540-sh{background:var(--surface,#fff);width:100%;max-height:85vh;overflow:auto;border-radius:18px 18px 0 0;padding:8px 14px calc(14px + env(safe-area-inset-bottom))}
.v540-sh-h{display:flex;align-items:center;gap:6px}
.v540-sh-t{font-weight:700;font-size:16px;flex:1;unicode-bidi:plaintext}
.v540-opt{display:block;width:100%;margin:6px 0;text-align:start;padding:0 14px}
.v540-red{color:#dc2626!important}
.v540-lb{display:block;font-size:12.5px;color:var(--text-muted);margin:8px 0}
.v540-lb input,.v540-lb textarea{display:block;width:100%;box-sizing:border-box;margin-top:4px;min-height:44px;border-radius:10px;border:1px solid var(--border,rgba(0,0,0,.15));padding:8px;font:inherit;font-size:16px;color:var(--text);background:var(--surface)}
.v540-people{display:flex;gap:10px;overflow-x:auto;padding:8px 2px;direction:ltr;scroll-snap-type:x proximity}
.v540-person{flex:0 0 auto;min-width:72px;min-height:72px;display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid transparent;border-radius:14px;background:var(--surface-soft);font:inherit;font-size:13px;color:var(--text);scroll-snap-align:start}
.v540-person.on{border-color:var(--accent,#0f766e)}
.v540-av{width:36px;height:36px;border-radius:50%;background:var(--accent,#0f766e);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.v540-undo{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(84px + env(safe-area-inset-bottom));background:#111;color:#fff;border-radius:12px;padding:6px 6px 6px 14px;display:flex;gap:10px;align-items:center;z-index:10060;font-size:14px}
.v540-undo button{min-height:44px;min-width:64px;border:0;border-radius:10px;background:#333;color:#fff;font:inherit;font-weight:600}
/* v5.4.1 */
.v530-bh .v530-ar{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-inline-start:auto;font-size:20px;font-weight:700;line-height:1;color:var(--text)}
.v540-more{font-size:15px;min-width:88px}
.v540-cands{display:flex;flex-direction:column;gap:6px;margin:6px 0}
.v540-cand{display:flex;flex-direction:column;align-items:flex-start;text-align:start;min-height:52px;padding:8px 12px;border:1px solid var(--border,rgba(0,0,0,.12));border-radius:12px;background:var(--card,#fff);color:var(--text);gap:2px}
.v540-src{font-size:12px;color:var(--text-muted);margin:4px 2px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.v540-i{min-width:44px;min-height:44px;border:0;background:none;color:var(--text-muted);font-size:15px}
.v540-near{flex:1 1 auto}
/* v5.4.2 */
.v530-bh .ch,.v530-bh .v530-ar{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:22px;font-weight:700;line-height:1;color:var(--text)}
.v540-more .v540-arw{font-size:22px;font-weight:700;line-height:1;vertical-align:middle}
.v540-more{display:flex;align-items:center;justify-content:center;gap:6px}
.v540-card,.v540-hr{display:flex;align-items:flex-start;gap:4px;position:relative}
.v540-ut{flex:1 1 auto;min-width:0}
.v540-ago{font-size:12px;color:var(--text-muted)}
.v540-nr{display:flex;align-items:stretch;gap:4px}.v540-nr .v540-cand{flex:1 1 auto}
.v540-sum{font-size:14px;margin:6px 2px;line-height:1.4}
.v48-ab{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px}
.v48-abt{min-height:48px;border-radius:12px;border:1px solid var(--border,rgba(0,0,0,.12));background:var(--card,#fff);color:var(--text);text-align:start;padding:0 14px;font-size:15px}
.v540-sw>.v540-card,.v540-sw>.v540-hr{position:relative;transition:transform .2s;direction:ltr}
.v540-sw>.v540-hr{background:var(--surface)}
.v540-sw>.v540-card{background:var(--surface-soft)}
.v540-sw.rev>.v540-card,.v540-sw.rev>.v540-hr{transform:translateX(96px)}
.v540-sw>.v540-card{margin-bottom:0}.v540-sw:has(>.v540-card){margin:0 0 8px}
.v542-fold{display:flex;align-items:center;gap:6px;width:100%;min-height:44px;border:1px solid var(--border,rgba(0,0,0,.12));border-radius:12px;background:var(--surface);color:var(--text);padding:0 14px;font-size:15px;margin-top:6px}
