/* Felice Client Portal 14.6.25 - UI polish: colori coerenti, form ordinati, cronostoria leggibile */
:root{
  --fcp25-navy:#0b2344;
  --fcp25-blue:#155eef;
  --fcp25-blue-dark:#174a9c;
  --fcp25-sky:#eef6ff;
  --fcp25-sky-2:#f7fbff;
  --fcp25-line:#d8e6f6;
  --fcp25-muted:#64748b;
  --fcp25-text:#0f2440;
  --fcp25-green:#12b76a;
  --fcp25-orange:#f59e0b;
  --fcp25-shadow:0 14px 34px rgba(15,35,65,.08);
}

/* Reset colori fuori palette: niente rosa/viola nei componenti task */
.fcp-crm-anydo-board,
.fcp-crm-form-card,
.fcp-timeline-shell,
body.fcp-app-root-page .fcp-timeline-shell{
  color:var(--fcp25-text)!important;
}

/* BOARD TASK OPERATIVI - desktop più leggibile e meno "incastrato" */
.fcp-crm-anydo-board{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;
  gap:18px!important;
  align-items:start!important;
}
.fcp-crm-anydo-column{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  border:1px solid var(--fcp25-line)!important;
  border-radius:22px!important;
  padding:16px!important;
  box-shadow:0 10px 24px rgba(15,35,65,.04)!important;
  min-width:0!important;
}
.fcp-crm-anydo-column header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 14px!important;
}
.fcp-crm-anydo-column header h3{
  margin:0!important;
  color:var(--fcp25-navy)!important;
  font-size:16px!important;
  line-height:1.2!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
.fcp-crm-anydo-column header span{
  background:#eaf2ff!important;
  color:var(--fcp25-blue-dark)!important;
  border:1px solid #d5e6ff!important;
  font-weight:900!important;
}
.fcp-crm-anydo-task{
  grid-template-columns:26px minmax(0,1fr)!important;
  gap:12px!important;
  padding:14px!important;
  border-radius:18px!important;
  border:1px solid var(--fcp25-line)!important;
  background:#fff!important;
  box-shadow:0 10px 24px rgba(15,35,65,.055)!important;
  overflow:hidden!important;
}
.fcp-crm-anydo-main{
  min-width:0!important;
  overflow:hidden!important;
}
.fcp-crm-anydo-main strong{
  display:block!important;
  color:var(--fcp25-text)!important;
  font-size:15px!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  overflow-wrap:anywhere!important;
}
.fcp-crm-anydo-main p{
  color:var(--fcp25-muted)!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:650!important;
  overflow-wrap:anywhere!important;
  margin:0!important;
}
.fcp-crm-anydo-check,
.fcp-calendar-complete{
  width:24px!important;
  height:24px!important;
  min-width:24px!important;
  min-height:24px!important;
  border-radius:999px!important;
  border:2px solid #c9d9ee!important;
  background:#fff!important;
  box-shadow:none!important;
  padding:0!important;
  margin:2px 0 0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.fcp-crm-anydo-check:hover,
.fcp-calendar-complete:hover{
  border-color:var(--fcp25-blue)!important;
  background:#f4f8ff!important;
}
.fcp-crm-anydo-check.is-done,
.fcp-crm-anydo-task.is-completed .fcp-crm-anydo-check{
  background:var(--fcp25-green)!important;
  border-color:var(--fcp25-green)!important;
  box-shadow:inset 0 0 0 4px #fff!important;
}
.fcp-crm-anydo-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:center!important;
}
.fcp-crm-anydo-actions select,
.fcp-task-status-select{
  border:1px solid #cfddec!important;
  color:var(--fcp25-text)!important;
  background:#fff!important;
  border-radius:13px!important;
  min-height:42px!important;
  font-weight:700!important;
}
.fcp-crm-anydo-actions a.button,
.fcp-crm-anydo-actions .button.button-secondary,
.fcp-calendar-task-actions .button{
  color:var(--fcp25-blue)!important;
  background:#eff6ff!important;
  border:1px solid #bfdbfe!important;
  border-radius:13px!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-weight:900!important;
}
.fcp-crm-priority,
.fcp-fic-pill,
.fcp-crm-anydo-date{
  border-radius:999px!important;
  border:1px solid #dbeafe!important;
  background:#eff6ff!important;
  color:#0f4fb8!important;
  font-weight:900!important;
}
.fcp-crm-priority-high,
.fcp-crm-priority-alta,
.fcp-crm-priority-urgent,
.fcp-crm-priority-urgente{
  background:#fff7ed!important;
  color:#9a5b00!important;
  border-color:#fed7aa!important;
}
.fcp-crm-priority-low,
.fcp-crm-priority-bassa{
  background:#ecfdf3!important;
  color:#027a48!important;
  border-color:#bbf7d0!important;
}

/* FORM NUOVA ATTIVITÀ - niente overflow, chip coerenti blu */
.fcp-crm-form-card{
  max-width:980px!important;
  overflow:hidden!important;
  border-radius:24px!important;
  border:1px solid var(--fcp25-line)!important;
  box-shadow:var(--fcp25-shadow)!important;
}
.fcp-crm-form-card .description{
  color:var(--fcp25-muted)!important;
}
.fcp-crm-task-form,
.fcp-crm-task-form *{
  box-sizing:border-box!important;
}
.fcp-crm-form-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:end!important;
  max-width:100%!important;
}
.fcp-crm-form-grid p,
.fcp-crm-task-form p{
  margin:0!important;
  min-width:0!important;
}
.fcp-crm-field-wide,
.fcp-crm-field-quote{
  grid-column:1 / -1!important;
}
.fcp-crm-task-form input[type="text"],
.fcp-crm-task-form input[type="date"],
.fcp-crm-task-form select,
.fcp-crm-task-form textarea{
  width:100%!important;
  max-width:100%!important;
  border:1px solid #cfddec!important;
  border-radius:14px!important;
  min-height:44px!important;
  color:var(--fcp25-text)!important;
  background:#fff!important;
  box-shadow:none!important;
}
.fcp-crm-task-form label{
  color:var(--fcp25-text)!important;
  font-weight:800!important;
}
.fcp-task-presets{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:10px!important;
  max-width:100%!important;
  overflow:visible!important;
}
.fcp-task-preset-chip{
  display:inline-flex!important;
  align-items:center!important;
  max-width:100%!important;
  gap:4px!important;
}
.fcp-task-preset,
.fcp-due-preset,
.fcp-task-preset-remove{
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
  color:var(--fcp25-blue)!important;
  border-radius:999px!important;
  box-shadow:none!important;
  font-weight:900!important;
}
.fcp-task-preset{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.fcp-task-preset-remove{
  width:34px!important;
  height:34px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 34px!important;
}
.fcp-task-people-tags{
  background:#f8fbff!important;
  border:1px solid var(--fcp25-line)!important;
  border-radius:18px!important;
  padding:14px!important;
  display:grid!important;
  gap:10px!important;
  margin:14px 0!important;
}
.fcp-task-people-tags strong{
  color:var(--fcp25-muted)!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.05em!important;
}
.fcp-task-people-tags > div{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
}
.fcp-task-people-tags label{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:auto!important;
  min-height:38px!important;
  padding:8px 12px!important;
  border-radius:999px!important;
  border:1px solid #bfdbfe!important;
  background:#eff6ff!important;
  color:#0f4fb8!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.fcp-task-people-tags input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:auto!important;
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
  margin:0!important;
  padding:0!important;
  accent-color:var(--fcp25-blue)!important;
}
.fcp-crm-form-card .button-primary,
.fcp-crm-modal-card .button-primary{
  background:linear-gradient(135deg,#155eef,#33b7ff)!important;
  border:0!important;
  color:#fff!important;
  border-radius:14px!important;
  min-height:44px!important;
  font-weight:900!important;
}

/* CRONOSTORIA CLIENTE - mese selezionato leggibile */
.fcp-month-node.is-active,
a.fcp-month-node.is-active,
span.fcp-month-node.is-active,
body.fcp-app-root-page .fcp-month-node.is-active{
  background:linear-gradient(135deg,#174a9c,#155eef)!important;
  border-color:#174a9c!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(21,94,239,.22)!important;
}
.fcp-month-node.is-active .fcp-month-label,
.fcp-month-node.is-active .fcp-month-meta,
.fcp-month-node.is-active span,
.fcp-month-node.is-active strong,
body.fcp-app-root-page .fcp-month-node.is-active .fcp-month-label,
body.fcp-app-root-page .fcp-month-node.is-active .fcp-month-meta{
  color:#fff!important;
  opacity:1!important;
}
.fcp-month-node.is-active .fcp-month-dot{
  background:#fff!important;
  box-shadow:0 0 0 6px rgba(255,255,255,.22)!important;
}
.fcp-year-chip.is-active{
  background:#174a9c!important;
  border-color:#174a9c!important;
  color:#fff!important;
}

/* Mobile/tablet: mantieni leggibilità senza overflow */
@media (max-width:1100px){
  .fcp-crm-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .fcp-crm-anydo-board{grid-template-columns:repeat(2,minmax(280px,1fr))!important;}
}
@media (max-width:720px){
  .fcp-crm-form-grid{grid-template-columns:1fr!important;}
  .fcp-crm-anydo-board{grid-template-columns:1fr!important;}
  .fcp-crm-form-card{max-width:100%!important;}
  .fcp-task-preset{max-width:calc(100vw - 116px)!important;}
}
