/* Amplified Estates — Inspector overrides
   Generated by the visual inspector. Each rule corresponds to a per-element
   "This element only" edit captured via Ctrl+Shift+E.
   Edit by hand at your own risk; the inspector treats this as its own log. */

/* Brand palette: --accent #A3E97D · --accent-dk #6dd44a · --accent-lt #E8F8DC */

/* Investor Applications — group count chip */
.app-group-count{background:var(--accent-lt);color:#000}
[data-theme=dark] .app-group-count{background:rgba(163,233,125,.18);color:var(--accent)}

/* Investor Applications — move-in OK conflict chip */
.app-conflict.ok{background:var(--accent-lt);color:#000}
[data-theme=dark] .app-conflict.ok{background:rgba(163,233,125,.18);color:var(--accent)}

/* Investor Applications — SLA green chip (within fair-housing window) */
.app-sla.sla-green{background:var(--accent-lt);color:#000}
[data-theme=dark] .app-sla.sla-green{background:rgba(163,233,125,.18);color:var(--accent)}

/* Investor Applications — recommendation banner / flag green */
.app-rec-banner.rec-green{border-left-color:var(--accent-dk);background:rgba(163,233,125,.10)}
[data-theme=dark] .app-rec-banner.rec-green{background:rgba(163,233,125,.10)}
.app-flag.flag-green{background:var(--accent-lt);color:#000;border:1px solid var(--accent-dk)}
[data-theme=dark] .app-flag.flag-green{background:rgba(163,233,125,.18);color:var(--accent);border-color:rgba(163,233,125,.4)}

/* Investor Applications — risk-bar green segment */
.app-risk-bar-fill.green{background:var(--accent-dk)}

/* Investor Applications — investor-side message thread bubble (match Inbox palette) */
.app-msg.me .app-msg-bubble{background:rgba(163,233,125,.14);color:var(--accent)}

/* Renter Applications — likelihood / step chips */
.ra-likelihood.lh-green{background:var(--accent-lt);color:#000}
.ra-step.done{background:var(--accent-lt);color:#000}
[data-theme=dark] .ra-likelihood.lh-green{background:rgba(163,233,125,.18);color:var(--accent)}
[data-theme=dark] .ra-step.done{background:rgba(163,233,125,.18);color:var(--accent)}

/* Buyer-journey segments — vertical-center the segment label */
.bj2-seg{display:flex;align-items:center;justify-content:center}

/* Renter Saved — muted tag color readability fix */
.renter-tag.muted{color:var(--text-dim,#555);border-color:var(--border)}
[data-theme=dark] .renter-tag.muted{color:rgba(255,255,255,.62);border-color:rgba(255,255,255,.18)}

/* Renter Saved — approved-status chip aligned with brand green palette */
.ra-saved-app-chip.status-approved{background:var(--accent-lt);color:#000}
[data-theme=dark] .ra-saved-app-chip.status-approved{background:rgba(163,233,125,.18);color:var(--accent)}

/* Sidebar — collapsible sections (heading is now a button + caret) */
.sidebar-section{display:flex;flex-direction:column;}
.sidebar-section-items{display:flex;flex-direction:column;gap:2px;overflow:hidden;max-height:1200px;transition:max-height 220ms ease;}
.sidebar-section.collapsed .sidebar-section-items{max-height:0;}
.sidebar-heading-toggle{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  background:transparent;border:none;cursor:pointer;text-align:left;
  font:inherit;letter-spacing:.12em;text-transform:uppercase;
  font-size:.62rem;font-weight:700;color:var(--sidebar-text-dim);
  padding:6px 14px 8px;border-radius:6px;transition:color .2s,background .2s;
}
.sidebar-heading-toggle:hover{color:var(--sidebar-text);background:rgba(255,255,255,.04);}
.sidebar-heading-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;}
.sidebar-heading-caret{font-size:.7rem;line-height:1;transition:transform 180ms ease;opacity:.7;}
.sidebar-section.collapsed .sidebar-heading-caret{transform:rotate(-90deg);}

/* T3.S1 — vendor lead SLA urgency pulse (<30m remaining) */
@keyframes vlead-sla-pulse{0%,100%{opacity:1}50%{opacity:.42}}
.vlead-sla-urgent{animation:vlead-sla-pulse 1.4s ease-in-out infinite;}
@media (prefers-reduced-motion: reduce){
  .vlead-sla-urgent{animation:none;text-decoration:underline;}
}

/* T3.S2 — vendor active jobs: DnD, WIP, selected, map */
.vjob-card{transition:box-shadow .15s ease, transform .12s ease;}
.vjob-card:hover{box-shadow:0 2px 10px rgba(0,0,0,.08);}
.vjob-card[draggable=true]:active{cursor:grabbing;}
.vjob-card-selected{position:relative;}
.vjob-card-selected::before{content:"✓";position:absolute;top:6px;right:8px;font-size:11px;color:var(--accent-dk);font-weight:700;}
.vjob-col{transition:background .15s ease, box-shadow .15s ease;}
.vjob-col-dragover{background:var(--accent-lt) !important;box-shadow:inset 0 0 0 2px var(--accent-dk);}
[data-theme=dark] .vjob-col-dragover{background:rgba(163,233,125,.10) !important;}
.vjob-col-overlimit > div:first-child > span:last-child{animation:vlead-sla-pulse 1.6s ease-in-out infinite;}
.vjob-mini-btn:hover{text-decoration:underline;}
.vjob-map-row:hover{background:rgba(0,0,0,0.03);}
[data-theme=dark] .vjob-map-row:hover{background:rgba(255,255,255,0.04);}
[data-pin-jid]{cursor:pointer;}
[data-pin-jid] circle{transition:transform .12s ease, opacity .12s ease;transform-origin:center;transform-box:fill-box;}
[data-pin-jid]:hover circle{transform:scale(1.18);opacity:1;}

/* T3.S4 — cross-cutting: pipeline modal, inbox context panel, standup banner */
.vpipe-stage{transition:background .15s ease;}
.vpipe-stage:hover{background:rgba(74,141,212,0.06);}
.vinbox-ctx{transition:background .15s ease;}
.vinbox-ctx [data-vctx-pipeline]:hover{background:var(--accent-lt);color:#000;}
.vstandup-banner a[data-vstandup-link]{transition:filter .15s ease;}
.vstandup-banner a[data-vstandup-link]:hover{filter:brightness(0.92);}
[data-theme=dark] .vstandup-banner{background:linear-gradient(90deg, rgba(74,141,212,0.16) 0%, rgba(58,143,31,0.10) 100%);}

/* T3.S3.1 — vendor planner extras */
.vpln-bar-deadline-late{box-shadow:0 0 0 2px #D94D4D, 0 0 8px rgba(217,77,77,.6) !important;animation:vlead-sla-pulse 1.6s ease-in-out infinite;}
.vpln-bar-deadline-tight{box-shadow:0 0 0 1px #D9A54D !important;}
.vpln-live-on-route{background:rgba(74,141,212,.95) !important;color:#fff !important;}
.vpln-live-on-site{background:rgba(58,143,31,.95) !important;color:#fff !important;}
.vpln-live-delayed{background:rgba(217,165,77,.95) !important;color:#fff !important;}
.vpln-live-wrapping{background:rgba(124,92,212,.95) !important;color:#fff !important;}
.vpln-live-complete{background:rgba(58,143,31,.95) !important;color:#fff !important;}
.vpln-pool-chip{transition:transform .12s ease, box-shadow .12s ease;}
.vpln-pool-chip:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.10);}
.vpln-whatif-banner{border-bottom:1px solid var(--border);}
.vpln-cal-cell{transition:transform .12s ease;}
.vpln-cal-cell:hover{transform:translateY(-1px);}
@media print {
  body.vpln-print-mode *:not(.vpln-gantt-wrap):not(.vpln-gantt-wrap *):not(.panel-head):not(.panel-head *):not(.panel):not(.kpi-grid):not(.kpi-grid *){display:none !important;}
  body.vpln-print-mode .vpln-gantt-wrap{overflow:visible !important;}
  body.vpln-print-mode .vpln-bar-resize{display:none !important;}
}

/* T3.S3 — vendor planner Gantt interactions + new visual elements */
.vpln-bar:hover{filter:brightness(1.05);}
.vpln-bar:focus-visible{outline:3px solid #4a8dd4 !important;outline-offset:1px;z-index:6;}
.vpln-delivery-marker:focus-visible{outline:3px solid #4a8dd4 !important;outline-offset:2px;}
.vpln-bar-resize:hover{background:rgba(0,0,0,0.32) !important;}
.vpln-delivery-marker:hover{filter:brightness(1.1);transform:rotate(45deg) scale(1.18);}
.vpln-permit-hold,.vpln-critical-flag{transition:transform .12s ease;}
.vpln-bar:hover .vpln-permit-hold,.vpln-bar:hover .vpln-critical-flag{transform:scale(1.12);}
.vpln-weather-strip{background:var(--bg-soft);}
.vpln-gantt-wrap{position:relative;}

/* T3.S2.1 — vendor active jobs additional cues */
.vjob-pay-dot{box-shadow:0 0 0 1px var(--surface);}
.vjob-missing-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#D94D4D;box-shadow:0 0 0 1px var(--surface);}
.vjob-timer-live{animation:vlead-sla-pulse 1.4s ease-in-out infinite;}
.vjob-addr-link:hover{text-decoration:underline;color:var(--text);}
@media (prefers-reduced-motion: reduce){
  .vjob-timer-live{animation:none;text-decoration:underline;}
}

/* Filter chip active-state — match brand --accent-lt + #000 pattern (replaces solid --accent-dk + #fff which was over-saturated in light mode) */
.filter-chip.on{background:var(--accent-lt)!important;color:#000;border-color:var(--accent-dk)}
[data-theme=dark] .filter-chip.on{background:rgba(163,233,125,.18)!important;color:var(--accent);border-color:rgba(163,233,125,.4)}
/* !important on the background above: most .filter-chip.on instances carry an inline
   background:var(--accent-lt) (set per-persona in dashboard.js) that otherwise wins over
   this rule, keeping a solid pale-green pill in dark mode → bright-green text on pale-green
   = illegible (the "All listings" case). Forcing the translucent bg restores contrast
   across every persona's filter-chip selections (All listings, ROI mode, buyer/PM filters,
   vendor design/marketing sub-tabs, planner chips, etc.). HOT-bucket pills are class-less
   inline spans, not .filter-chip, so they are unaffected. */
/* Same pale-green selection pattern on tag pickers (review tags, deal-criteria tags) —
   accent-dk green text on solid --accent-lt was low-contrast in dark mode too. */
[data-theme=dark] .rv-tag-btn.on,[data-theme=dark] .crit-tag.on{background:rgba(163,233,125,.18);color:var(--accent);border-color:rgba(163,233,125,.4)}

/* Nav-hub sub-tab active state — was pale-green (--accent-lt) bg with inherited
   light --text, invisible in dark mode. Mirror the .filter-chip.on pattern:
   black text on the pale-green pill in light mode; translucent-green pill +
   bright-green text in dark mode. Renders in every persona's hub strip. */
.ae-hub-tab.on{background:var(--accent-lt);color:#000;border-color:var(--accent-dk);}
[data-theme=dark] .ae-hub-tab.on{background:rgba(163,233,125,.18);color:var(--accent);border-color:rgba(163,233,125,.4);}

/* Portfolio-snapshots property select — force black text for legibility (note c_mpd9mqks_6gxw) */
select#aeSnapProp{color:#000;}

/* ═══════════════════════════════════════════════════════════════════
   Global form-control legibility fix (2026-06-30)
   `.form-input` has no base style, and many bare <select>/<input> set
   neither background nor color — so in dark mode they inherited the light
   --text on a browser-default WHITE field, making the text invisible until
   an <option> was hovered (OS highlight). Pin a white field + near-black
   text on every native control that hasn't themed itself. Themed controls
   set their own bg+color via class or inline style and win by specificity,
   so dark-themed inputs/selects are untouched. Option lists are forced
   black-on-white so non-highlighted rows read too. Affects all personas. */
input, select, textarea { background-color:#FFFFFF; color:#13181C; }
input::placeholder, textarea::placeholder { color:#5B6670; opacity:1; }
select option { background-color:#FFFFFF; color:#13181C; }
/* Checkbox/radio/range/color/file render natively — don't paint them. */
input[type=checkbox], input[type=radio], input[type=range],
input[type=color], input[type=file] { background-color:initial; color:initial; }
/* .form-input never had a base rule — give the field a visible border too. */
.form-input { border:1px solid var(--border,#cdd4d0); }
