/* UYTOP CRM — final readability layer */
body { font-size: 16px !important; }
.page-title { font-size: 24px !important; }
.sidebar .nav-item { font-size: 16px !important; }

.btn,
.filter-btn,
.view-toggle-btn,
.prop-filter-select,
input,
select,
textarea { font-size: 14px !important; }

.prop-filter-label,
.form-group label,
.field-label { font-size: 12px !important; }

.uy-panel__eyebrow,
.uy-welcome__eyebrow { font-size: 12px !important; }
.uy-panel__header h2 { font-size: 25px !important; }
.uy-link { font-size: 13px !important; }
.uy-stat__label { font-size: 14px !important; }
.uy-stat__meta { font-size: 12px !important; }

.uy-property__body > strong { font-size: 15px !important; }
.uy-property__body > small { font-size: 12px !important; }
.uy-property__body em,
.uy-property__body b { font-size: 13px !important; }

.uy-task-copy strong { font-size: 14px !important; }
.uy-task-copy small,
.uy-task-row time { font-size: 11.5px !important; }

.uy-team-copy strong { font-size: 14px !important; }
.uy-team-copy small,
.uy-team-metrics { font-size: 11.5px !important; }
.uy-team-metrics b { font-size: 13px !important; }

.uy-donut-legend > div,
.uy-donut-legend b { font-size: 12.5px !important; }
.uy-donut strong { font-size: 34px !important; }
.uy-donut small { font-size: 11px !important; }

.uy-activity-row strong { font-size: 14px !important; }
.uy-activity-row small,
.uy-activity-row time { font-size: 11.5px !important; }

.uy-map-meta {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 7px;
}

.uy-map-meta > strong {
  color: var(--text-primary);
  font-size: 13px;
  font-weight: 750;
}

.uy-map-legend { font-size: 12px !important; }
.uy-activity-map { height: 330px !important; }
.uy-property-point { filter: drop-shadow(0 2px 3px rgba(31,88,46,.28)); }
.uy-property-point.is-sold { filter: drop-shadow(0 2px 4px rgba(160,57,35,.36)); }

.uy-map-frame {
  position: relative;
}

.uy-map-wheel-hint {
  position: absolute;
  z-index: 500;
  bottom: 14px;
  left: 50%;
  padding: 8px 12px;
  opacity: 0;
  color: #fff;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 10px;
  background: rgba(18,27,31,.78);
  box-shadow: 0 8px 24px rgba(18,27,31,.18);
  backdrop-filter: blur(14px);
  font-size: 11px;
  font-weight: 650;
  pointer-events: none;
  transform: translate(-50%,8px);
  transition: opacity .2s,transform .2s,background .2s;
}

.uy-map-wheel-hint.is-visible,
.uy-map-frame:hover .uy-map-wheel-hint {
  opacity: 1;
  transform: translate(-50%,0);
}

.uy-map-wheel-hint.is-active {
  opacity: 1;
  background: rgba(52,137,73,.9);
  transform: translate(-50%,0);
}

.deal-card__name { font-size: 15px !important; }
.deal-card__prop,
.deal-card__agent { font-size: 13px !important; }
.deal-card__price { font-size: 15px !important; }

.task-card-title { font-size: 16px !important; }
.task-card-desc,
.task-card-subline,
.task-card-assignee,
.task-card-created-by,
.task-card-note { font-size: 13px !important; }

.overdue-task-card__title { font-size: 17px !important; }
.overdue-task-card__property,
.overdue-task-card__client,
.overdue-task-card__meta-value,
.overdue-task-card__note-text { font-size: 13.5px !important; }
.overdue-task-card__meta-label,
.overdue-task-card__note-label { font-size: 11px !important; }

.employee-card__identity h3,
.employee-card .profile-name { font-size: 17px !important; }
.employee-contacts div,
.employee-last-seen { font-size: 13px !important; }

.item-card-title { font-size: 16px !important; }
.item-card-label,
.item-card-value { font-size: 13px !important; }

.analytics-table td { font-size: 14px !important; }
.analytics-table thead th { font-size: 12px !important; }

/* Executive counters */
.uy-stat {
  isolation: isolate;
  display: flex !important;
  min-height: 184px !important;
  padding: 19px 19px 15px !important;
  flex-direction: column;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 90% 8%,color-mix(in srgb,var(--stat-color) 13%,transparent),transparent 36%),
    linear-gradient(150deg,#fff 0%,color-mix(in srgb,var(--stat-color) 3%,#fff) 100%) !important;
}

.uy-stat::before {
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  height: 100% !important;
  background: linear-gradient(180deg,var(--stat-color),color-mix(in srgb,var(--stat-color) 15%,transparent)) !important;
}

.uy-stat::after {
  content: '';
  position: absolute;
  z-index: -1;
  top: -42px;
  right: -32px;
  width: 118px;
  height: 118px;
  border: 1px solid color-mix(in srgb,var(--stat-color) 14%,transparent);
  border-radius: 50%;
}

.uy-stat__head,
.uy-stat__main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.uy-stat__head {
  min-height: 44px;
}

.uy-stat__icon {
  display: grid;
  width: 44px !important;
  height: 44px !important;
  flex: none;
  place-items: center;
  border: 1px solid color-mix(in srgb,var(--stat-color) 18%,transparent);
  box-shadow: 0 8px 20px color-mix(in srgb,var(--stat-color) 13%,transparent);
}

.uy-stat__main {
  justify-content: flex-start;
  margin-top: 4px;
}

.uy-stat__trend {
  align-self: center;
  padding: 4px 8px;
  color: var(--text-muted);
  border: 1px solid var(--border-light);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  font-size: 11px;
  font-weight: 750;
}

.uy-stat__trend.is-up {
  color: var(--success);
  border-color: color-mix(in srgb,var(--success) 24%,transparent);
  background: var(--success-bg);
}

.uy-stat__trend.is-down {
  color: var(--danger);
  border-color: color-mix(in srgb,var(--danger) 22%,transparent);
  background: var(--danger-bg);
}

.uy-stat__value {
  font-size: clamp(35px,2.6vw,44px) !important;
  font-weight: 650 !important;
}

.uy-stat__meta {
  margin: 7px 0 8px !important;
  line-height: 1.35;
}

.uy-stat__visual {
  display: block;
  height: 42px;
  margin: auto -8px -6px;
  padding: 6px 8px 0;
  overflow: hidden;
  border-radius: 11px;
  background: color-mix(in srgb,var(--stat-color) 6%,transparent);
}

.uy-stat__visual .uy-spark {
  display: block;
  width: 100%;
  height: 34px;
}

/* Dashboard task cards */
.uy-task-list {
  gap: 8px;
}

.uy-task-row {
  grid-template-columns: 24px 40px minmax(0,1fr) auto 14px !important;
  gap: 10px !important;
  min-height: 72px !important;
  padding: 9px 10px !important;
  border: 1px solid var(--border-light) !important;
  border-radius: 14px;
  background: linear-gradient(135deg,var(--bg-card-solid),var(--bg-primary)) !important;
  box-shadow: 0 5px 14px rgba(45,36,27,.035);
  transition: transform .2s,border-color .2s,box-shadow .2s;
}

.uy-task-row:hover {
  transform: translateX(3px);
  border-color: color-mix(in srgb,var(--accent) 30%,var(--border-color)) !important;
  box-shadow: 0 9px 20px rgba(45,36,27,.075);
}

.uy-task-row.is-overdue {
  border-left: 3px solid var(--danger) !important;
}

.uy-task-index {
  color: var(--text-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
}

.uy-task-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: var(--accent);
  border: 1px solid color-mix(in srgb,var(--accent) 18%,transparent);
  border-radius: 11px;
  background: var(--accent-subtle);
}

.uy-task-icon svg {
  width: 18px;
  height: 18px;
}

.uy-task-row.is-overdue .uy-task-icon {
  color: var(--danger);
  border-color: color-mix(in srgb,var(--danger) 18%,transparent);
  background: var(--danger-bg);
}

.uy-task-copy small b {
  color: var(--accent);
  font-weight: 750;
}

.uy-task-copy strong {
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.25;
  text-overflow: initial;
  white-space: normal !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.uy-task-row time {
  gap: 3px;
}

.uy-task-row time b {
  padding: 3px 6px;
  color: var(--success);
  border-radius: 7px;
  background: var(--success-bg);
  font-size: 8.5px !important;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.uy-task-row.is-overdue time b {
  color: var(--danger);
  background: var(--danger-bg);
}

.uy-task-arrow {
  color: var(--text-muted);
  font-size: 23px;
  font-weight: 400;
}

/* Calendar UI */
.uy-panel--calendar {
  min-height: 390px !important;
}

.uy-calendar-summary {
  display: grid;
  grid-template-columns: 1.35fr .8fr;
  gap: 9px;
  margin-bottom: 14px;
}

.uy-calendar-summary > span {
  display: grid;
  grid-template-columns: 30px auto;
  grid-template-areas: 'icon value' 'icon label';
  align-items: center;
  min-height: 54px;
  padding: 9px 11px;
  border: 1px solid var(--border-light);
  border-radius: 13px;
  background: linear-gradient(135deg,var(--accent-subtle),rgba(255,255,255,.72));
}

.uy-calendar-summary > span:last-child {
  grid-template-columns: auto;
  grid-template-areas: 'value' 'label';
  background: linear-gradient(135deg,var(--success-bg),rgba(255,255,255,.72));
  text-align: center;
}

.uy-calendar-summary i {
  grid-area: icon;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: var(--accent);
  font-style: normal;
}

.uy-calendar-summary i svg {
  width: 19px;
  height: 19px;
}

.uy-calendar-summary strong {
  grid-area: value;
  font-size: 17px;
}

.uy-calendar-summary small {
  grid-area: label;
  color: var(--text-muted);
  font-size: 9.5px;
}

.uy-calendar-title {
  font-size: 15px !important;
}

.uy-calendar-grid {
  gap: 3px;
}

.uy-cal-day {
  min-height: 34px;
  aspect-ratio: auto !important;
  border: 1px solid transparent !important;
  font-size: 12px !important;
}

.uy-cal-day.has-tasks:not(.is-today) {
  border-color: color-mix(in srgb,var(--success) 19%,transparent) !important;
  background: linear-gradient(135deg,var(--success-bg),var(--bg-card-solid)) !important;
}

.uy-cal-day.is-today {
  border-color: rgba(255,255,255,.36) !important;
  box-shadow: 0 8px 18px rgba(218,121,43,.28) !important;
}

.uy-calendar-legend {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  margin-top: 10px;
  color: var(--text-muted);
  font-size: 10px;
}

.uy-calendar-legend i {
  width: 10px;
  height: 10px;
  border: 2px solid rgba(255,255,255,.9);
  border-radius: 50%;
  background: var(--success);
  box-shadow: 0 0 0 3px var(--success-bg);
}

/* Lower insight cards */
.uy-panel--team .uy-team-row {
  margin-bottom: 6px;
  padding: 8px 9px;
  border: 1px solid var(--border-light);
  border-radius: 12px;
  background: linear-gradient(135deg,var(--bg-card-solid),var(--bg-primary));
}

.uy-panel--team .uy-team-row:last-child {
  margin-bottom: 0;
}
