/* Final palette overrides load after the responsive styles. */
:root { --blush: #eedecc; --sky: #c3d7df; }
body, .main, .public-shell { background: #fff; }
.sidebar { background: var(--sky); color: var(--ink); border-right: 1px solid #acc4cd; }
.brand > span:last-child span, .nav-label, .user-switcher span, .sidebar-card p { color: #455d68; }
.brand-mark, .avatar { background: var(--blush); color: var(--ink); }
.nav-item { color: var(--ink); }
.nav-item:hover { color: var(--ink); background: rgba(255,255,255,.55); }
.nav-item.active { color: var(--ink); background: #fff; box-shadow: inset 3px 0 #a7735b; }
.sidebar-card { background: rgba(255,255,255,.55); border-color: rgba(49,75,86,.15); }
.sidebar-card .tiny-icon { background: var(--blush); color: var(--forest); }
.sidebar-card .text-link { color: var(--forest); }
.user-switcher { border-color: rgba(49,75,86,.2); }
.avatar { overflow: hidden; }
.avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.account-preview { display: flex; align-items: center; gap: 12px; padding: 12px; margin-top: 18px; background: var(--sky); border-radius: 12px; }
.account-editor { margin-bottom: 20px; }
.account-editor #account-profile-form { display: grid; gap: 16px; max-width: 480px; margin-top: 22px; }
.account-editor .account-preview { max-width: 480px; }
.account-editor .auth-link { margin: 18px 0 0; }
.account-preview .avatar { width: 52px; height: 52px; font-size: 15px; }
.account-preview strong, .account-preview span { display: block; overflow-wrap: anywhere; }
.account-preview span { font-size: 11px; color: #455d68; margin-top: 3px; }
.account-editor .field small { color: var(--muted); font-size: 10px; }
.account-editor input[type="file"] { width: 100%; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.topbar { background: rgba(255,255,255,.96); }
.welcome-row { background: var(--sky); color: var(--ink); }
.welcome-row > div > span, .welcome-row p { color: #344f5b; }
.welcome-art { background: var(--blush); color: var(--ink); }
.welcome-art i, .welcome-art b { background: #fff; }
.category-icon.plumbing, .category-icon.moving { background: var(--sky); color: var(--ink); }
.category-icon.electrical, .category-icon.cleaning, .category-icon.handyman, .category-icon.landscaping { background: var(--blush); color: var(--ink); }
.trade-cover.sage, .trade-cover.blue { background: var(--sky) !important; color: var(--ink) !important; }
.trade-cover.clay, .trade-cover.gold { background: var(--blush) !important; color: var(--ink) !important; }
.sage, .blue { background: var(--sky) !important; color: var(--ink) !important; }
.clay, .gold { background: var(--blush) !important; color: var(--ink) !important; }
.trust-strip, .next-step-card, .tips-card { background: var(--blush); color: var(--ink); border-color: #dfc5af; }
.tips-card > span, .tips-card p, .tips-card li { color: var(--ink); }
.trust-strip > div + div { border-color: #dcc2ad; }
.status.green, .verified-badge, .portal-identity, .context-banner { background: var(--sky); color: var(--forest); }
.next-step-card.success, .security-banner, .admin-alert { background: var(--sky); border-color: #acc4cd; }
.role-switch { display: none; }
@media(max-width:720px) { .mobile-close { color: var(--ink); } }
.inbox-empty { padding: 18px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.live-messages .chat-body { overflow-y: auto; }
.live-messages .message p { white-space: pre-wrap; overflow-wrap: anywhere; }
.work-layout .jobs-table-panel { margin-bottom: 18px; }
.work-layout .jobs-table-panel p { margin-top: 12px; color: var(--muted); }
#work-request-form .field, #conversation-report-form .field, #propose-schedule-form .field { display: block; margin: 14px 0; }
.settings-form { margin-bottom: 20px; }
.settings-form .form-error:not([hidden]) { color: #9b3030; margin: 12px 0; }
.google-matches { display: grid; gap: 10px; margin-top: 16px; }
.google-match { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; }
.google-match p { margin: 5px 0; }
.google-match small, .google-rating small { color: var(--muted); }
.google-rating { padding: 15px; margin: 18px 0; border: 1px solid var(--line); border-radius: 12px; background: var(--sky); }
.google-rating p { margin: 8px 0; }
.document-list { margin-top: 18px; }
.document-list p { padding: 10px 0; border-top: 1px solid var(--line); overflow-wrap: anywhere; }
.document-list svg { vertical-align: middle; }
@media(max-width:720px) { .google-match { align-items: flex-start; flex-direction: column; } }
.quote-line-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 15px 0; border-top: 1px solid var(--line); }
.quote-line-fields .field:nth-child(1), .quote-line-fields .field:nth-child(2) { grid-column: span 3; }
.auth-modal.schedule-modal { width: min(520px, 100%); }
.schedule-start-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
#propose-schedule-form .schedule-start-fields .field { margin: 0; min-width: 0; }
.schedule-help { display: block; margin-top: 7px; color: var(--muted); font-size: 11px; }
@media(max-width:720px) {
  .live-messages { display: flex; flex-direction: column; height: auto; min-height: 0; }
  .live-messages .conversation-list { display: block; max-height: 230px; overflow: auto; }
  .live-messages .chat-panel { min-height: 480px; height: 60vh; }
  .quote-line-fields { grid-template-columns: 1fr 1fr; }
  .quote-line-fields .field:nth-child(1), .quote-line-fields .field:nth-child(2) { grid-column: span 2; }
}
@media(max-width:480px) { .schedule-start-fields { grid-template-columns: 1fr; } }

/* Owner-configured public business photo; initials remain underneath if an image fails. */
.business-photo{position:relative;display:inline-grid;place-items:center;overflow:hidden;width:56px;height:56px;border-radius:17px;background:rgba(255,255,255,.75);flex:none;vertical-align:middle}
.business-photo>span{font-weight:800;font-family:Manrope,sans-serif;font-size:17px;color:var(--ink)}
.business-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.profile-hero .large-avatar>.business-photo{width:100%;height:100%;border-radius:inherit}
.business-photo-preview{margin:16px 0}.business-photo-preview>.business-photo{width:96px;height:96px;border:1px solid var(--line);border-radius:20px}.business-photo-preview>.business-photo>span{font-size:24px}
.business-photo-settings .account-actions{display:flex;flex-wrap:wrap;gap:10px}
