/*! Talia · Zona Activa 1.6.0 | Mobile hardening + Prospect UI canonical TALIA KES 2 */

/* --------------------------------------------------------------------------
   Interaction safety: controls must receive a real tap before the map does.
   -------------------------------------------------------------------------- */
.za-app button,
.za-app a,
.za-app input,
.za-app select,
.za-app textarea,
.za-app summary{
  touch-action:manipulation;
}
.za-app [data-za-immersive-context-body],
.za-app [data-za-modal-content],
.za-app .za-map-first-panel{
  min-width:0;
  min-height:0;
  touch-action:pan-y;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.za-app .za-map-first-bar,
.za-app [data-za-immersive-context],
.za-app [data-za-modal]{
  pointer-events:auto;
}
.za-app .za-icon,
.za-app button::before,
.za-app button::after{
  pointer-events:none;
}

/* --------------------------------------------------------------------------
   Prospect directory: one readable component in every viewport.
   -------------------------------------------------------------------------- */
.za-app .za-prospect-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:12px;
  align-items:start;
}
.za-app .za-prospect-card--v160{
  min-width:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--za-border) 88%,transparent);
  border-radius:18px;
  background:color-mix(in srgb,var(--za-surface) 97%,var(--za-pink-soft));
  box-shadow:0 8px 24px rgba(47,32,88,.08);
  display:grid;
}
.za-app .za-prospect-card--v160.is-demo{
  border-style:dashed;
  background:color-mix(in srgb,var(--za-pink-soft) 42%,var(--za-surface));
}
.za-app .za-prospect-card--v160.is-closed{
  border-color:color-mix(in srgb,var(--za-success) 30%,var(--za-border));
}
.za-app .za-prospect-card__main{
  appearance:none;
  width:100%;
  min-width:0;
  border:0;
  padding:14px;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  display:grid;
  gap:10px;
}
.za-app .za-prospect-card__main>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.za-app .za-prospect-card__main>header>div{min-width:0}
.za-app .za-prospect-card__title{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  flex-wrap:wrap;
}
.za-app .za-prospect-card__title h3{
  min-width:0;
  margin:0;
  font-size:1rem;
  line-height:1.2;
  overflow-wrap:break-word;
  word-break:normal;
}
.za-app .za-prospect-card__main header p{
  margin:3px 0 0;
  color:var(--za-muted);
  font-size:.76rem;
}
.za-app .za-prospect-card__context{
  display:grid;
  gap:5px;
  min-width:0;
  color:var(--za-muted);
  font-size:.72rem;
}
.za-app .za-prospect-card__context>span{
  display:flex;
  align-items:flex-start;
  gap:6px;
  min-width:0;
}
.za-app .za-prospect-card__context .za-icon{width:15px;height:15px;margin-top:1px}
.za-app .za-prospect-card__context span span{
  min-width:0;
  overflow-wrap:break-word;
  word-break:normal;
}
.za-app .za-prospect-card__status{
  display:grid;
  gap:6px;
  min-width:0;
}
.za-app .za-prospect-card__open-label{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
  color:var(--za-primary);
  font-size:.72rem;
  font-weight:850;
}
.za-app .za-prospect-card__open-label .za-icon{width:15px;height:15px}
.za-app .za-prospect-card__actions{
  padding:0 12px 12px;
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
}
.za-app .za-prospect-card__actions .za-btn{
  min-height:38px;
  padding:7px 9px;
  border-radius:11px;
  font-size:.7rem;
  flex:1 1 auto;
}
.za-app .za-prospect-card__no-location{
  min-height:38px;
  padding:7px 9px;
  border:1px dashed var(--za-border);
  border-radius:11px;
  color:var(--za-muted);
  display:inline-flex;
  align-items:center;
  font-size:.68rem;
}

/* Mini lifecycle inside directory cards. */
.za-app .za-prospect-card--v160 .za-prospect-lifecycle-mini{
  display:grid;
  gap:6px;
  padding:9px;
  border:1px solid color-mix(in srgb,var(--za-border) 82%,transparent);
  border-radius:12px;
  background:color-mix(in srgb,var(--za-soft) 70%,transparent);
  min-width:0;
}
.za-app .za-prospect-card--v160 .za-prospect-lifecycle-mini__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
  min-width:0;
  color:var(--za-muted);
  font-size:.67rem;
  font-weight:750;
}
.za-app .za-prospect-card--v160 .za-prospect-progress{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:4px;
}
.za-app .za-prospect-card--v160 .za-prospect-progress i{
  display:block;
  height:4px;
  border-radius:999px;
  background:var(--za-border);
}
.za-app .za-prospect-card--v160 .za-prospect-progress i.is-done{background:var(--za-accent)}
.za-app .za-prospect-card--v160 .za-prospect-progress i.is-current{background:#f04aa6}
.za-app .za-prospect-card--v160.is-closed .za-prospect-progress i{background:var(--za-success)}
.za-app .za-prospect-card--v160 .za-assignment-cycle,
.za-app .za-prospect-card--v160 .za-follow-counter{
  min-width:0;
  padding:7px 8px;
  border-radius:10px;
  font-size:.64rem;
}
.za-app .za-prospect-card--v160 .za-assignment-cycle__head,
.za-app .za-prospect-card--v160 .za-follow-counter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;
}
.za-app .za-prospect-card--v160 .za-assignment-cycle strong,
.za-app .za-prospect-card--v160 .za-follow-counter strong{
  min-width:0;
  text-align:right;
  overflow-wrap:break-word;
}

/* --------------------------------------------------------------------------
   Canonical Prospect detail: four visual zones, no nested glass soup.
   -------------------------------------------------------------------------- */
.za-app .za-prospect-detail--v160{
  width:100%;
  min-width:0;
  display:grid;
  overflow:hidden;
  border-radius:22px;
  background:var(--za-surface);
  color:var(--za-text);
}
.za-app .za-prospect-hero{
  min-width:0;
  padding:18px;
  border-radius:22px 22px 0 0;
  color:#fff;
  background:var(--za-brand-gradient);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  overflow:hidden;
  position:relative;
}
.za-app .za-prospect-hero::after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-78px;
  width:180px;
  height:180px;
  border:22px solid rgba(255,255,255,.10);
  border-radius:50%;
  pointer-events:none;
}
.za-app .za-prospect-hero__identity{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  position:relative;
  z-index:1;
}
.za-app .za-prospect-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.14);
  font-weight:900;
}
.za-app .za-prospect-hero .za-eyebrow{color:rgba(255,255,255,.78)}
.za-app .za-prospect-hero h2{
  color:#fff;
  margin:2px 0 1px;
  font-size:clamp(1.2rem,3vw,1.65rem);
  overflow-wrap:break-word;
  word-break:normal;
}
.za-app .za-prospect-hero p{color:rgba(255,255,255,.84);margin:0;font-size:.78rem}
.za-app .za-prospect-hero__status{
  min-width:0;
  max-width:330px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
  font-size:.68rem;
  font-weight:800;
}
.za-app .za-prospect-hero__status>span{
  min-height:28px;
  padding:5px 8px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:rgba(255,255,255,.92);
  color:var(--za-primary);
  white-space:nowrap;
}
.za-app .za-prospect-hero__status .za-stage-badge.is-closed{
  background:#e5f8ef;
  color:var(--za-success);
}
.za-app .za-btn--hero-edit{
  min-height:32px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:10px;
  background:rgba(255,255,255,.14);
  color:#fff;
  box-shadow:none;
}
.za-app .za-btn--hero-edit .za-icon{width:16px;height:16px}
.za-app .za-prospect-detail--v160>.za-prospect-detail__body{
  min-width:0;
  padding:14px;
  display:grid;
  gap:10px;
  background:color-mix(in srgb,var(--za-surface) 96%,var(--za-soft));
}
.za-app .za-prospect-section{
  min-width:0;
  padding:13px;
  border:1px solid color-mix(in srgb,var(--za-border) 82%,transparent);
  border-radius:16px;
  background:var(--za-surface);
}
.za-app .za-prospect-section>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
}
.za-app .za-prospect-section h3{margin:1px 0 0;font-size:.98rem}

/* Lifecycle: a single compact strip and one status row. */
.za-app .za-prospect-cycle{display:grid;gap:8px}
.za-app .za-prospect-lifecycle--v160{display:grid;gap:9px;min-width:0}
.za-app .za-prospect-lifecycle--v160 .za-lifecycle-tags{
  display:flex;
  gap:6px;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
  padding:1px 1px 4px;
}
.za-app .za-prospect-lifecycle--v160 .za-lifecycle-tags::-webkit-scrollbar{display:none}
.za-app .za-prospect-lifecycle--v160 .za-lifecycle-tags button{
  flex:1 1 0;
  min-width:96px;
  min-height:34px;
  padding:6px 9px;
  border:1px solid var(--za-border);
  border-radius:999px;
  background:var(--za-surface);
  color:var(--za-muted);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  scroll-snap-align:start;
  font-size:.68rem;
  font-weight:850;
}
.za-app .za-prospect-lifecycle--v160 .za-lifecycle-tags button span{
  width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--za-soft);font-size:.6rem;
}
.za-app .za-prospect-lifecycle--v160 .za-lifecycle-tags button.is-complete{color:var(--za-success);border-color:color-mix(in srgb,var(--za-success) 28%,var(--za-border))}
.za-app .za-prospect-lifecycle--v160 .za-lifecycle-tags button.is-active{color:var(--za-accent-strong);border-color:color-mix(in srgb,var(--za-accent) 52%,var(--za-border));background:color-mix(in srgb,var(--za-accent) 8%,var(--za-surface))}
.za-app .za-prospect-lifecycle--v160.is-closed .za-lifecycle-tags button.is-active{color:var(--za-success);border-color:color-mix(in srgb,var(--za-success) 40%,var(--za-border));background:color-mix(in srgb,var(--za-success) 9%,var(--za-surface))}
.za-app .za-lifecycle-status-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  min-width:0;
}
.za-app .za-lifecycle-status-row>.za-assignment-cycle,
.za-app .za-lifecycle-status-row>.za-follow-counter{
  min-width:0;
  min-height:54px;
  padding:9px 10px;
  border-radius:12px;
  display:grid;
  align-content:center;
  gap:3px;
  box-shadow:none;
}
.za-app .za-lifecycle-status-row .za-assignment-cycle__head,
.za-app .za-lifecycle-status-row .za-follow-counter{
  grid-template-columns:minmax(0,1fr) auto;
}
.za-app .za-lifecycle-status-row strong{min-width:0;overflow-wrap:break-word;text-align:right}
.za-app .za-lifecycle-complete{
  min-height:46px;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--za-success) 32%,var(--za-border));
  border-radius:12px;
  background:color-mix(in srgb,var(--za-success) 9%,var(--za-surface));
  color:var(--za-success);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-weight:900;
}

/* Three action rows: follow-up, communication, commercial. */
.za-app .za-prospect-action-row{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.za-app .za-prospect-action-row .za-btn{width:100%;min-width:0}
.za-app .za-prospect-action-row--commercial .za-btn--contract{
  background:color-mix(in srgb,var(--za-accent) 9%,var(--za-surface));
  color:var(--za-accent-strong);
  border-color:color-mix(in srgb,var(--za-accent) 27%,var(--za-border));
}

/* Location is intentionally immediately after action rows. */
.za-app .za-prospect-location{padding:0;overflow:hidden}
.za-app .za-prospect-location>header{padding:12px 13px 9px;margin:0}
.za-app .za-prospect-mini-map{
  width:100%;
  height:clamp(180px,24vh,260px);
  min-height:180px;
  background:var(--za-soft);
  border-top:1px solid var(--za-border);
  border-bottom:1px solid var(--za-border);
}
.za-app .za-prospect-location-copy{
  padding:10px 12px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}
.za-app .za-prospect-location-copy>div{min-width:0}
.za-app .za-prospect-location-copy strong,
.za-app .za-prospect-location-copy small{display:block}
.za-app .za-prospect-location-copy strong{overflow-wrap:break-word}
.za-app .za-prospect-location-copy small{color:var(--za-muted);font-size:.68rem;margin-top:2px}
.za-app .za-prospect-location.is-empty{display:grid;gap:8px}
.za-app .za-prospect-location.is-empty p{font-size:.78rem}

/* Essential data and insights are subordinate, not competing cards. */
.za-app .za-prospect-facts{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.za-app .za-prospect-facts>div{
  min-width:0;
  padding:10px;
  border:1px solid color-mix(in srgb,var(--za-border) 72%,transparent);
  border-radius:12px;
  background:color-mix(in srgb,var(--za-soft) 66%,var(--za-surface));
}
.za-app .za-prospect-facts small,
.za-app .za-prospect-facts strong{display:block}
.za-app .za-prospect-facts small{font-size:.64rem;color:var(--za-muted)}
.za-app .za-prospect-facts strong{font-size:.76rem;overflow-wrap:break-word}
.za-app .za-prospect-insight-grid{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.za-app .za-prospect-detail__recommendations,
.za-app .za-prospect-detail__timeline{display:grid;gap:7px;min-width:0}
.za-app .za-prospect-detail__recommendation,
.za-app .za-prospect-detail__timeline-item{
  min-width:0;
  padding:9px;
  border-radius:10px;
  background:var(--za-soft);
}
.za-app .za-prospect-detail__timeline-item{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  gap:8px;
  align-items:start;
}
.za-app .za-prospect-detail__timeline-item strong,
.za-app .za-prospect-detail__timeline-item small{display:block;overflow-wrap:break-word}
.za-app .za-prospect-detail__timeline-item time{font-size:.62rem;color:var(--za-muted);white-space:nowrap}
.za-app .za-prospect-detail__danger-zone{padding-top:2px}
.za-app .za-prospect-detail__danger-zone .za-btn{width:100%}

/* Modal: scroll inside the content, never under an invisible overlay. */
.za-app .za-modal[data-za-modal-kind="prospect-detail"] .za-modal__dialog{
  width:min(960px,calc(100vw - 24px));
  max-height:min(92vh,920px);
  max-height:min(92dvh,920px);
  overflow:hidden;
  border-radius:24px;
}
.za-app .za-modal[data-za-modal-kind="prospect-detail"] [data-za-modal-content]{
  overflow-y:auto;
  overscroll-behavior:contain;
  min-height:0;
  touch-action:pan-y;
}

/* Map-First detail uses the same DOM and keeps the map visible. */
.za-app [data-za-immersive-context][data-za-prospect-view="detail"]{
  --za-context-width:min(460px,42vw);
}
.za-app [data-za-immersive-context][data-za-prospect-view="detail"] [data-za-immersive-context-body]{padding:0}
.za-app [data-za-immersive-context][data-za-prospect-view="detail"] .za-prospect-detail--v160{border-radius:0 0 18px 18px;box-shadow:none}

/* Dark mode preserves semantic contrast. */
.za-app[data-za-theme="dark"] .za-prospect-card--v160,
.za-app[data-za-theme="dark"] .za-prospect-detail--v160,
.za-app[data-za-theme="dark"] .za-prospect-section{
  background:color-mix(in srgb,var(--za-surface) 94%,#120d24);
}
.za-app[data-za-theme="dark"] .za-prospect-card--v160 .za-prospect-lifecycle-mini,
.za-app[data-za-theme="dark"] .za-prospect-facts>div{
  background:color-mix(in srgb,var(--za-soft) 80%,#120d24);
}
.za-app[data-za-theme="dark"] .za-prospect-mini-map{filter:none}

/* Command bar and panel touch-safe alignment. */
.za-app .za-map-first-bar{
  border-radius:18px;
  overflow:visible;
}
.za-app [data-za-map-first-bar] button,
.za-app [data-za-immersive-context] button,
.za-app [data-za-modal] button{
  position:relative;
  z-index:1;
}

@media (min-width:1200px){
  .za-app .za-prospect-grid{grid-template-columns:repeat(3,minmax(300px,1fr))}
}
@media (min-width:1600px){
  .za-app .za-prospect-grid{grid-template-columns:repeat(4,minmax(300px,1fr))}
}

@media (max-width:767px){
  .za-app .za-prospect-grid{grid-template-columns:minmax(0,1fr);gap:10px}
  .za-app .za-prospect-card--v160{border-radius:16px}
  .za-app .za-prospect-card__main{padding:12px}
  .za-app .za-prospect-card__actions{padding:0 10px 10px}

  .za-app .za-modal[data-za-modal-kind="prospect-detail"]{
    align-items:flex-end;
    padding:0;
  }
  .za-app .za-modal[data-za-modal-kind="prospect-detail"] .za-modal__dialog{
    width:100%;
    max-width:none;
    max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));
    border-radius:22px 22px 0 0;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .za-app .za-prospect-hero{
    grid-template-columns:minmax(0,1fr);
    padding:15px;
    gap:10px;
    border-radius:20px 20px 0 0;
  }
  .za-app .za-prospect-hero__status{
    max-width:none;
    justify-content:flex-start;
  }
  .za-app .za-prospect-hero__status>span{min-height:26px;padding:4px 7px;font-size:.62rem}
  .za-app .za-btn--hero-edit{margin-left:auto}
  .za-app .za-prospect-detail--v160>.za-prospect-detail__body{padding:10px;gap:8px}
  .za-app .za-prospect-section{padding:11px;border-radius:14px}
  .za-app .za-lifecycle-status-row{grid-template-columns:minmax(0,1fr)}
  .za-app .za-prospect-action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .za-app .za-prospect-action-row .za-btn{min-height:44px;padding:8px 7px;font-size:.7rem}
  .za-app .za-prospect-mini-map{height:190px;min-height:190px}
  .za-app .za-prospect-location-copy{align-items:flex-start;flex-direction:column}
  .za-app .za-prospect-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .za-app .za-prospect-insight-grid{
    grid-template-columns:minmax(0,86vw) minmax(0,86vw);
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .za-app .za-prospect-insight-grid::-webkit-scrollbar{display:none}
  .za-app .za-prospect-insight-grid>.za-prospect-section{scroll-snap-align:start}

  .za-app [data-za-immersive-context][data-za-prospect-view="detail"]{
    width:100%!important;
    max-width:none!important;
  }
}

@media (max-width:340px){
  .za-app .za-prospect-action-row{grid-template-columns:minmax(0,1fr)}
  .za-app .za-prospect-facts{grid-template-columns:minmax(0,1fr)}
  .za-app .za-prospect-hero__status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .za-app .za-btn--hero-edit{margin:0;width:100%}
}
