/* Worker profile — compact premium density.
   Scoped to the Profile/Experience cards via their section icons. */

main.mx-auto.max-w-2xl:has(> .space-y-4 > section :is(.lucide-target, .lucide-wrench, .lucide-languages, .lucide-award, .lucide-mail)) > .space-y-4 > section > div:last-child {
  padding: 1rem !important;
}

/* Cosa sto cercando: meno altezza senza perdere gerarchia. */
main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-target) [class~="p-4"] {
  padding: 0.875rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-target) .space-y-4 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.75rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-target) [class~="mb-3"] {
  margin-bottom: 0.5rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-target) [class~="mt-3"] {
  margin-top: 0.625rem !important;
}

/* Competenze: righe più compatte, contenuti invariati. */
main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-wrench) article {
  padding: 0.875rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-wrench) article > p:last-child {
  margin-top: 0.5rem !important;
}

/* Formazione: evita il doppio "In corso" mantenendo il range già esplicito. */
main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-book-open) article span.bg-emerald-500\/10 {
  display: none !important;
}

/* Certificazioni: date affiancate anche su mobile, ID a tutta riga. */
main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-award) article {
  padding: 0.875rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-award) article > div:nth-child(2) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0.5rem !important;
  margin-top: 0.625rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-award) article > div:nth-child(2) > p:last-child:nth-child(3) {
  grid-column: 1 / -1 !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-award) article > div:nth-child(2) > p {
  padding-top: 0.375rem !important;
  padding-bottom: 0.375rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-award) article > div.mt-3.space-y-2 {
  margin-top: 0.625rem !important;
}

/* Contatti: meno spazio verticale, stessa leggibilità/tap area. */
main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-mail) > div:last-child a {
  padding-top: 0.625rem !important;
  padding-bottom: 0.625rem !important;
}

/* Presenza online: mantiene tutti i link visibili, ma riduce l'altezza delle righe. */
main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-external-link) > div:last-child a {
  min-height: 4rem !important;
  padding: 0.875rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-external-link) > div:last-child .grid {
  gap: 0.625rem !important;
}

/* Esperienze: meno vuoto verticale, stessa gerarchia. */
main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-briefcase-business) > div:last-child {
  padding: 1rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-briefcase-business) article {
  padding: 0.875rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-briefcase-business) article [class~="mt-2"] {
  margin-top: 0.375rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-briefcase-business) article [class~="mt-3"] {
  margin-top: 0.625rem !important;
}

/* Portfolio: preview contenuta; il file completo resta disponibile nell'anteprima. */
main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-folder-kanban) > div:last-child {
  padding: 1rem !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-folder-kanban) article > button:first-child {
  display: flex !important;
  height: 260px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-folder-kanban) article > button:first-child img {
  width: 100% !important;
  height: 100% !important;
  max-height: 260px !important;
  object-fit: contain !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-folder-kanban) article > button:first-child > span {
  left: 0.75rem !important;
  bottom: 0.75rem !important;
  padding: 0.375rem 0.65rem !important;
  font-size: 9px !important;
  background: rgba(15, 23, 42, 0.68) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
}

main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-folder-kanban) article > div:last-child {
  padding: 0.875rem !important;
}

/* ========================================================================== */
/* WORKER PROFILE EDITOR SYSTEM — un unico linguaggio per tutti i menu Modifica */
/* ========================================================================== */

/* QuickEdit e Structured Editor condividono dimensioni, superficie e gerarchia. */
.worker-editor-dialog,
.worker-structured-dialog {
  width: calc(100% - 20px) !important;
  max-width: 36rem !important;
  border-radius: 32px !important;
  border-color: rgba(203, 213, 225, 0.82) !important;
  background: rgba(248, 250, 252, 0.985) !important;
  box-shadow: 0 26px 80px rgba(15, 23, 42, 0.24) !important;
}

.worker-editor-dialog {
  display: flex !important;
  max-height: min(760px, calc(100dvh - 20px)) !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html.dark .worker-editor-dialog,
html.dark .worker-structured-dialog {
  border-color: rgba(255,255,255,0.10) !important;
  background: rgba(14, 22, 33, 0.985) !important;
}

/* Header unico: sinistra, compatto, X sempre nella stessa posizione. */
.worker-editor-dialog > [role="heading"],
.worker-editor-dialog > div:first-child,
.worker-editor-dialog > header:first-child {
  flex: 0 0 auto;
}

.worker-editor-dialog > div:first-of-type {
  margin: 0 !important;
  padding: 20px 56px 12px 16px !important;
  text-align: left !important;
}

.worker-editor-dialog [role="dialog"] {
  text-align: left !important;
}

.worker-editor-dialog h2,
.worker-editor-dialog [data-slot="dialog-title"] {
  text-align: left !important;
  font-size: 1.25rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  color: #0B2545 !important;
}

.worker-editor-dialog button[aria-label="Chiudi"] {
  top: 16px !important;
  right: 16px !important;
  width: 40px !important;
  height: 40px !important;
  transform: none !important;
}

/* Body QuickEdit: stesso scorrimento interno dello Structured Editor. */
.worker-editor-dialog > .space-y-5 {
  min-height: 0 !important;
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  padding: 4px 16px 16px !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Il vecchio riquadro azzurro degli Obiettivi diventa una normale item-card premium. */
.worker-editor-dialog[data-editor-section="goals"] > .space-y-5 > div:first-child {
  padding: 14px !important;
  border: 1px solid rgba(203, 213, 225, 0.78) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 2px 7px rgba(15, 23, 42, 0.045) !important;
}

.worker-editor-dialog[data-editor-section="goals"] input,
.worker-editor-dialog[data-editor-section="goals"] textarea,
.worker-editor-dialog[data-editor-section="contacts"] input,
.worker-editor-dialog[data-editor-section="education"] input,
.worker-editor-dialog[data-editor-section="education"] select,
.worker-editor-dialog[data-editor-section="social"] input {
  border-color: rgba(203, 213, 225, 0.9) !important;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.055) !important;
}

.worker-editor-dialog[data-editor-section="goals"] input,
.worker-editor-dialog[data-editor-section="contacts"] input,
.worker-editor-dialog[data-editor-section="education"] input,
.worker-editor-dialog[data-editor-section="education"] select,
.worker-editor-dialog[data-editor-section="social"] input {
  height: 44px !important;
  border-radius: 14px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}

.worker-editor-dialog[data-editor-section="goals"] textarea {
  min-height: 104px !important;
  border-radius: 16px !important;
  padding: 13px 14px !important;
}

/* Chip: selezionato forte, non selezionato neutro. */
.worker-editor-dialog[data-editor-section="goals"] button[class*="rounded-full"],
.worker-editor-dialog[data-editor-section="contract"] button[class*="rounded-full"] {
  box-shadow: none !important;
}

/* Presenza online: niente card grigia diversa; stessa item-card bianca. */
.worker-editor-dialog[data-editor-section="social"] > .space-y-5 > div:first-child {
  padding: 14px !important;
  border: 1px solid rgba(203, 213, 225, 0.78) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 2px 7px rgba(15, 23, 42, 0.045) !important;
}

.worker-editor-dialog[data-editor-section="social"] > .space-y-5 > div:first-child > p:first-child {
  margin-bottom: 2px !important;
  color: #0B2545 !important;
}

/* Footer unico, fisso e identico allo Structured Editor. */
.worker-editor-dialog > [class*="DialogFooter"],
.worker-editor-dialog > div:last-child:not(.space-y-5) {
  flex: 0 0 auto !important;
}

.worker-editor-dialog > div:last-child {
  margin: 0 !important;
  padding: 12px 20px calc(env(safe-area-inset-bottom, 0px) + 14px) !important;
  border-top: 1px solid rgba(203, 213, 225, 0.86) !important;
  background: rgba(255,255,255,0.96) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  backdrop-filter: blur(14px) !important;
}

.worker-editor-dialog > div:last-child button {
  height: 48px !important;
  border-radius: 9999px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.055em !important;
}

/* Structured editor: campi e item-card usano lo stesso ritmo visivo. */
.worker-structured-dialog article {
  border-radius: 22px !important;
  padding: 14px !important;
  box-shadow: 0 2px 7px rgba(15,23,42,0.045) !important;
}

.worker-structured-dialog article > div:first-child {
  margin-bottom: 12px !important;
}

.worker-structured-dialog article .grid {
  gap: 10px !important;
}

.worker-structured-dialog input,
.worker-structured-dialog select {
  min-height: 44px !important;
  border-radius: 14px !important;
  background: #fff !important;
}

.worker-structured-dialog textarea {
  border-radius: 16px !important;
  background: #fff !important;
}

/* Editor inline legacy (Contatti / Presenza online / Formazione e ambiti):
   stesso ritmo e stessi controlli finché saranno instradati nella modale comune. */
main.mx-auto.max-w-2xl section:has(button[aria-label="Chiudi modifica"]) > div:last-child {
  padding: 14px !important;
}

main.mx-auto.max-w-2xl section:has(button[aria-label="Chiudi modifica"]) input,
main.mx-auto.max-w-2xl section:has(button[aria-label="Chiudi modifica"]) select {
  height: 44px !important;
  border-radius: 14px !important;
  border-color: rgba(203,213,225,0.88) !important;
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(15,23,42,0.05) !important;
}

main.mx-auto.max-w-2xl section:has(button[aria-label="Chiudi modifica"]) > div:last-child > .space-y-3 {
  gap: 10px !important;
}

main.mx-auto.max-w-2xl section:has(button[aria-label="Chiudi modifica"]) button[class*="rounded-full"] {
  min-height: 40px;
}

html.dark .worker-editor-dialog h2,
html.dark .worker-editor-dialog [data-slot="dialog-title"] {
  color: #ffffff !important;
}

html.dark .worker-editor-dialog[data-editor-section="goals"] > .space-y-5 > div:first-child,
html.dark .worker-editor-dialog[data-editor-section="social"] > .space-y-5 > div:first-child,
html.dark .worker-editor-dialog[data-editor-section="goals"] input,
html.dark .worker-editor-dialog[data-editor-section="goals"] textarea,
html.dark .worker-editor-dialog[data-editor-section="contacts"] input,
html.dark .worker-editor-dialog[data-editor-section="education"] input,
html.dark .worker-editor-dialog[data-editor-section="education"] select,
html.dark .worker-editor-dialog[data-editor-section="social"] input,
html.dark .worker-structured-dialog input,
html.dark .worker-structured-dialog select,
html.dark .worker-structured-dialog textarea {
  border-color: rgba(255,255,255,0.10) !important;
  background: rgba(255,255,255,0.045) !important;
}

html.dark .worker-editor-dialog > div:last-child {
  border-color: rgba(255,255,255,0.10) !important;
  background: rgba(14,22,33,0.96) !important;
}

@media (max-width: 390px) {
  main.mx-auto.max-w-2xl:has(> .space-y-4 > section :is(.lucide-target, .lucide-wrench, .lucide-languages, .lucide-award, .lucide-mail)) > .space-y-4 > section > div:last-child {
    padding: 0.875rem !important;
  }

  main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-folder-kanban) article > button:first-child {
    height: 230px !important;
  }

  main.mx-auto.max-w-2xl section:has(> div:first-child .lucide-folder-kanban) article > button:first-child img {
    max-height: 230px !important;
  }

  .worker-editor-dialog,
  .worker-structured-dialog {
    width: calc(100% - 16px) !important;
    border-radius: 30px !important;
  }

  .worker-editor-dialog > .space-y-5 {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}
