
/* HEXA MANAGER · GRAFICA V79 · SOLO CHIARO
01 Palette, font e dimensioni · 02 Componenti e regole responsive · 03 Preset condivisi
Header, comandi e schede: HexaUI in design.js. Comportamento schede: dialogs.js.
Tutti gli stili e i preset sono in questo file; le pagine forniscono contenuto e azioni.
Sottotitoli: 14 px / 700; variante progetto: 10 px / 700.
Colori delle tipologie personalizzabili restano dati, separati dalla palette UI. */
/* 01 · FONT LOCALE, PALETTE E VARIABILI */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("./vendor/inter-latin.woff2") format("woff2");
}
:root {
  --bianco: #FFFFFF;
  --miele-chiaro: #F7CC68;
  --miele-scuro: #FF9B00;
  --verde-chiaro: #D6E8DC;
  --verde-intermedio: #669999;
  --verde-scuro: #024442;
  --bordi-chiari: #D7E1E1;
  --carta: #F1ECE1;
  --rosso-chiaro: #F2DAD5;
  --rosso-scuro: #B23B2E;
  color-scheme: light;
  --paper: var(--carta);
  --card: var(--bianco);
  --ink: var(--verde-scuro);
  --ink-soft: var(--verde-intermedio);
  --ink-2: var(--ink);
  --honey: var(--miele-chiaro);
  --honey-2: var(--miele-chiaro);
  --honey-ink: var(--verde-scuro);
  --late: var(--rosso-scuro);
  --line: var(--bordi-chiari);
  --line-soft: var(--bordi-chiari);
  --cream-soft: var(--verde-intermedio);
  --black: var(--verde-scuro);
  --hex-honey: var(--miele-chiaro);
  --hex-green: var(--verde-scuro);
  --check-border: var(--bordi-chiari);
  --check-done: var(--miele-chiaro);
  --shadow: none;
  --hex: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  --hex-side: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  --oct-track: polygon(25% 0%, 75% 0%, 100% 25%, 100% 75%, 75% 100%, 25% 100%, 0% 75%, 0% 25%);
  --radius: 16px;
  --radius-sm: 10px;
  --muted: var(--ink-soft);
  --accent: var(--ink);
  --accent-light: var(--miele-chiaro);
  --danger: var(--late);
  --warn: var(--honey-ink);
  --text-large: var(--ui-title-size);
  --text-detail: 23px;
  --text-base: var(--ui-control-size);
  --weight-normal: 400;
  --weight-semibold: 600;
  --weight-bold: 700;
  --font-ui: Inter,Arial,sans-serif;
  --ui-title-size: 37px;
  --ui-subtitle-size: 14px;
  --ui-control-size: 14px;
  --ui-title-weight: 700;
  --ui-label-weight: 600;
  --ui-subtitle-weight: 700;
  --ui-control-height: 42px;
  --ui-icon-size: 36px;
  --ui-radius: 10px;
  --ui-header-height: 94px;
  --ui-page-top-background: var(--bianco);
  --ui-page-gutter: clamp(20px,4vw,56px);
  --ui-header-gap: 24px;
  --ui-action-width: 240px;
  --ui-project-subtitle-size: 10px;
  --ui-sidebar-width: 262px;
  --ui-sidebar-rail: 64px;
  --ui-chat-standard-width: 252px;
  --ui-chat-width: var(--ui-chat-standard-width);
  --ui-workspace-menu-width: min(280px,calc(100vw - var(--ui-sidebar-rail) - 16px));
  --ui-dialog-width: 620px;
  --ui-dialog-contact-width: 780px;
  --ui-dialog-preview-width: 820px;
  --ui-dialog-gap: 20px;
  --ui-dialog-title-size: var(--size-15);
  --sidebar-hover: rgba(241,236,225,.07);
  --sidebar-soft-active: rgba(241,236,225,.14);
  --sidebar-divider: rgba(241,236,225,.22);
  --sidebar-soft-surface: rgba(241,236,225,.08);
  --green-overlay: rgba(2,68,66,.09);
  --backdrop: rgba(2,30,28,.55);
  --white-overlay: rgba(255,255,255,.14);
  --size-17: 17px;
  --size-11: 11px;
  --size-12-5: 12.5px;
  --size-14-5: 14.5px;
  --size-11-5: 11.5px;
  --size-14: 14px;
  --size-13: 13px;
  --size-15: 15px;
  --size-34: 34px;
  --size-13-5: 13.5px;
  --size-12: 12px;
  --size-10-5: 10.5px;
  --size-16: 16px;
  --size-28: 28px;
  --size-22: 22px;
  --size-32: 32px;
  --size-24: 24px;
  --size-9: 9px;
  --size-19: 19px;
  --size-23: 23px;
  --size-10: 10px;
}
/* 02 · COMPONENTI E REGOLE RESPONSIVE · ordine della cascata preservato */
* {
  box-sizing: border-box;
}
html {
  height: 100%;
}
body {
  height: 100%;
}
body {
  margin: 0;
  background: var(--paper);
  font: 16px/1.5 var(--font-ui);
  -webkit-font-smoothing: antialiased;
  transition: background .25s, color .25s;
}
button {
  font: inherit;
  cursor: pointer;
  color: inherit;
}
a {
  color: inherit;
  text-decoration: none;
}
svg {
  display: block;
}
:focus-visible {
}
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
  }
}
h1 {
}
h2 {
}
.stat strong {
  font-family: var(--font-ui);
}
.date strong {
  font-family: var(--font-ui);
}
.hexfill {
  clip-path: var(--hex);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.hexring {
  position: relative;
  flex-shrink: 0;
  clip-path: var(--hex);
  background: var(--check-border);
}
.hexring::after {
  content: "";
  position: absolute;
  inset: 2px;
  clip-path: var(--hex);
  background: var(--card);
}
.icon {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.icon.icon-fill {
  stroke: none;
  fill: currentColor;
}
.app {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--ui-sidebar-width) 1fr;
}
.sidebar {
  padding: 26px 16px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: background .25s, color .25s;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 2px 10px 6px;
}
.logo-mark {
  position: relative;
  width: 34px;
  height: 38px;
  flex-shrink: 0;
}
.logo-mark::before {
  content: "";
  position: absolute;
  clip-path: var(--hex);
}
.logo-mark::after {
  content: "";
  position: absolute;
  clip-path: var(--hex);
}
.logo-mark::before {
  inset: 0;
  background: var(--hex-honey);
}
.logo-mark::after {
  inset: 24%;
  background: var(--hex-green);
}
.brand strong {
  display: block;
  font-size: var(--size-17);
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--card);
}
.brand small {
  display: block;
  font-size: var(--size-11);
  color: var(--cream-soft);
  font-weight: 500;
  letter-spacing: .04em;
}
.workspaces-toggle summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  color: var(--honey);
  font-weight: 600;
  font-size: var(--size-12-5);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.workspaces-toggle summary::-webkit-details-marker {
  display: none;
}
.summary-label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.workspaces-toggle summary .chevron {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  transition: transform .15s;
  color: var(--honey);
}
.workspaces-toggle[open] summary .chevron {
  transform: rotate(90deg);
}
.workspaces {
  margin-top: 8px;
  display: grid;
  gap: 3px;
}
.workspace {
  border: 0;
  border-radius: 9px;
  padding: 10px 11px;
  background: transparent;
  color: inherit;
  text-align: left;
  font-size: var(--size-14-5);
  width: 100%;
  display: flex;
  align-items: center;
  gap: 11px;
  transition: background .15s;
}
.workspace:hover {
}
.workspace.active {
  font-weight: 600;
}
.workspace .grip {
  color: var(--card);
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 1;
}
.workspace .ws-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.workspace.utility {
  color: var(--cream-soft);
  margin-top: 4px;
}
.workspace.utility .util-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--card);
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.side-label {
  padding: 0 10px;
  color: var(--honey);
  font-weight: 600;
  font-size: var(--size-12-5);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.nav {
  display: grid;
  gap: 3px;
}
.nav :is(button,a[data-route]) {
  display: flex;
  align-items: center;
  gap: 11px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: inherit;
  padding: 10px 11px;
  text-align: left;
  font-size: var(--size-14-5);
  width: 100%;
  transition: background .15s;
}
.nav :is(button,a[data-route]):hover {
}
.nav .active {
  font-weight: 600;
}
.nav .active .icon {
  color: var(--honey);
}
.nav .icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--cream-soft);
}
.nav :is(button,a[data-route]):hover .icon {
  color: var(--card);
}
.nav .counter {
  margin-left: auto;
  border-radius: 99px;
  padding: 2px 9px;
  background: var(--verde-chiaro);
  font-size: var(--size-11-5);
  font-weight: 600;
  color: var(--card);
}
.nav .active .counter {
}
.profile {
  margin-top: auto;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: inherit;
  display: flex;
  gap: 11px;
  align-items: center;
  padding: 8px 10px;
  text-align: left;
  width: 100%;
  transition: background .15s;
}
.profile:hover {
}
.avatar {
  width: 32px;
  height: 35px;
  background: var(--hex-honey);
  color: var(--ink);
  font-weight: 700;
  font-size: var(--size-12-5);
}
.profile span:last-child {
  font-size: var(--size-14);
  font-weight: 500;
  color: var(--card);
}
.content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 72px;
  background: var(--card);
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px clamp(20px, 4vw, 56px);
  transition: background .25s, border-color .25s;
}
.crumbs {
  color: var(--ink-soft);
  font-size: var(--size-14);
  display: flex;
  align-items: center;
  gap: 8px;
}
.crumbs b {
  color: var(--ink);
  font-weight: 600;
}
.crumb-sep {
  color: var(--ink-soft);
  opacity: 1;
}
.top-actions {
  display: flex;
  gap: 14px;
  align-items: center;
}
.icon-btn {
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--ink-soft);
  display: grid;
  place-items: center;
  transition: all .15s;
}
.icon-btn:hover {
  color: var(--ink);
  border-color: var(--ink-2);
  transform: translateY(-1px);
}
.icon-btn svg {
  width: 17px;
  height: 17px;
}
.button {
  font-size: var(--size-14);
  transition: border-color .15s, background .15s;
}
.button:hover {
  border-color: var(--ink-2);
}
.button svg {
}
.main {
  flex: 1;
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding: 40px clamp(20px, 4vw, 56px) 60px;
}
.heading {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  align-items: end;
  margin-bottom: 30px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--size-13);
  font-weight: 700;
  color: var(--honey);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.eyebrow .dot {
  width: 9px;
  height: 10px;
  background: var(--hex-honey);
  clip-path: var(--hex);
}
h1 {
  margin: 8px 0 6px;
  font-size: clamp(29px, 3.6vw, 40px);
  line-height: 1.08;
  letter-spacing: -.01em;
}
h1 .accent {
}
.subtitle {
  color: var(--ink-soft);
  font-size: var(--size-15);
}
.heading .button {
  white-space: nowrap;
}
.muted {
  color: var(--ink-soft);
}
.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 24px;
}
.stat {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  padding: 20px 22px;
  transition: border-color .15s;
}
.stat:hover {
  border-color: var(--ink-2);
}
.stat-watermark {
  position: absolute;
  top: -12px;
  right: -14px;
  width: 110px;
  height: 127px;
  color: var(--ink);
  pointer-events: none;
  z-index: 0;
}
.stat-watermark .hex-outline {
  fill: none;
  stroke: currentColor;
  stroke-opacity: 1;
  stroke-width: 2;
  stroke-linejoin: round;
}
.stat-watermark .sym {
  fill: none;
  stroke: currentColor;
  stroke-opacity: 1;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.stat-content {
  position: relative;
  z-index: 1;
}
.stat-row {
  display: flex;
  align-items: flex-end;
  gap: 11px;
  margin-top: 12px;
}
.stat-row strong {
  font-size: var(--size-34);
  line-height: 1;
  letter-spacing: -.01em;
}
.stat-row .stat-title {
  font-size: var(--size-13-5);
  font-weight: 600;
  color: var(--ink-soft);
  line-height: 1;
  padding-bottom: 3px;
}
.stat.s-progetti .stat-row strong {
  color: var(--ink-2);
}
.stat.s-attivita .stat-row strong {
  color: var(--honey);
}
.stat.s-scadenze .stat-row strong {
  color: var(--late);
}
.stat-note {
  color: var(--ink-soft);
  font-size: var(--size-13);
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
}
.stat-note .note-icon {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.stat-note .note-icon.tri {
  fill: currentColor;
  stroke: none;
}
.stat-note .note-num {
  font-weight: 700;
}
.stat.s-progetti .note-icon {
  color: var(--ink-2);
}
.stat.s-progetti .note-num {
  color: var(--ink-2);
}
.stat.s-attivita .note-icon {
  color: var(--honey);
}
.stat.s-attivita .note-num {
  color: var(--honey);
}
.stat.s-scadenze .note-icon {
  color: var(--late);
}
.stat.s-scadenze .note-num {
  color: var(--late);
}
.grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 14px;
  align-items: start;
}
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
  transition: background .25s, border-color .25s;
}
.card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 8px;
}
.card-head .title {
  display: flex;
  align-items: center;
  gap: 9px;
}
.card-head .title .glyph {
  display: none;
}
.card-head h2 {
  font-size: var(--size-17);
  letter-spacing: -.01em;
  margin: 0;
}
.text-link {
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--ink);
  font-size: var(--size-13-5);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.text-link:hover {
  color: var(--honey);
}
.text-link svg {
  width: 14px;
  height: 14px;
}
.task {
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 13px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  min-height: 72px;
}
.task:first-of-type {
  border-top: 0;
}
.task .check {
  width: 22px;
  height: 26px;
}
.task-text {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.task-text b {
  font-size: var(--size-14-5);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.task-text .sub1 {
  font-size: var(--size-13);
  color: var(--ink-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.task-text .sub2 {
  font-size: var(--size-12-5);
  color: var(--ink-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.task.done .task-text b {
  text-decoration: line-through;
  color: var(--ink-soft);
}
.task.done .task-text .sub1 {
  text-decoration: line-through;
  color: var(--ink-soft);
}
.task.done .task-text .sub2 {
  text-decoration: line-through;
  color: var(--ink-soft);
}
.tag {
  border-radius: 99px;
  padding: 4px 10px;
  font-size: var(--size-12);
  white-space: nowrap;
  background: var(--bordi-chiari);
}
.tag.warn {
  color: var(--ink);
  background: var(--miele-chiaro);
}
.tag.late {
  background: var(--rosso-chiaro);
}
.tag.done {
  background: var(--miele-chiaro);
}
.check {
  width: 22px;
  height: 26px;
  border: 0;
  background: transparent;
  padding: 0;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.check-svg {
  width: 22px;
  height: 26px;
  display: block;
}
.check-hex {
  fill: none;
  stroke: var(--check-border);
  stroke-width: 2;
  stroke-linejoin: round;
  transition: stroke .15s;
}
.check-fill {
  fill: var(--check-done);
  opacity: 0;
  transition: opacity .15s;
}
.check:hover .check-hex {
  stroke: var(--ink-2);
}
.task.done .check-hex {
  stroke: var(--check-done);
}
.task.done .check-fill {
  opacity: 1;
}
.deadline {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-top: 1px solid var(--line);
  min-height: 68px;
}
.deadline:first-of-type {
  border-top: 0;
}
.date {
  flex-direction: column;
  width: 48px;
  height: 52px;
  color: var(--card);
  background: var(--hex-green);
  font-size: var(--size-10-5);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.date strong {
  display: block;
  font-size: var(--size-17);
}
.date span {
  display: block;
  letter-spacing: .02em;
}
.date.soon {
  background: var(--hex-honey);
  color: var(--ink);
}
.deadline-text {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.deadline-text b {
  font-size: var(--size-14-5);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.deadline-text .sub1 {
  font-size: var(--size-13);
  color: var(--ink-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.deadline-text .sub2 {
  font-size: var(--size-12-5);
  color: var(--ink-soft);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.projects-wrap {
  margin-top: 14px;
}
.project-list {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.project {
  border: 1px solid var(--line);
  background: var(--paper);
  border-radius: 13px;
  padding: 16px;
  transition: border-color .15s;
}
.project:hover {
  border-color: var(--ink-2);
}
.project .code {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ink);
  font-size: var(--size-11-5);
  font-weight: 700;
}
.project .code::before {
  content: "";
  width: 9px;
  height: 10px;
  clip-path: var(--hex);
  background: var(--hex-honey);
  display: inline-block;
}
.project .status-dot {
  margin-left: auto;
  width: 8px;
  height: 9px;
  clip-path: var(--hex);
  background: var(--ink-2);
}
.project .code-row {
  display: flex;
  align-items: center;
}
.project b {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  font-size: var(--size-14-5);
}
.project .pj-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  color: var(--ink);
}
.project small {
  font-size: var(--size-13);
}
.project .bar {
  margin-top: 14px;
  height: 6px;
  border-radius: 99px;
  background: var(--line);
  overflow: hidden;
}
.project .bar i {
  display: block;
  height: 100%;
  background: var(--hex-honey);
  border-radius: 99px;
}
.project .bar-label {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  font-size: var(--size-11-5);
  color: var(--ink-soft);
  font-weight: 600;
}
.notice {
  margin-top: 22px;
  border-left: 3px solid var(--honey);
  background: var(--card);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 12px 15px;
  color: var(--ink-soft);
  font-size: var(--size-13-5);
}
@media (max-width: 980px) {
  .app {
    grid-template-columns: 1fr;
  }
  .sidebar {
    display: none;
  }
  .stats {
    grid-template-columns: 1fr;
  }
  .project-list {
    grid-template-columns: 1fr;
  }
  .grid {
    grid-template-columns: 1fr;
  }
  .topbar {
    padding: 14px 20px;
  }
  .main {
    padding: 30px 20px 40px;
  }
}
@media (max-width: 620px) {
  .heading {
    align-items: start;
    flex-direction: column;
  }
  .task {
    grid-template-columns: 24px 1fr;
  }
  .task .tag {
    grid-column: 2;
    justify-self: start;
    margin-top: 4px;
  }
  .deadline {
    grid-template-columns: 48px 1fr;
  }
}
@charset "UTF-8";
[hidden] {
  display: none !important;
}
button {
  touch-action: manipulation;
}
input {
  touch-action: manipulation;
}
select {
  touch-action: manipulation;
}
textarea {
  touch-action: manipulation;
}
input {
  font: inherit;
  color: var(--ink);
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  min-width: 0;
}
select {
  font: inherit;
  color: var(--ink);
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  min-width: 0;
}
textarea {
  font: inherit;
  color: var(--ink);
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  min-width: 0;
}
input:focus {
  outline: none;
}
select:focus {
  outline: none;
}
textarea:focus {
  outline: none;
}
input::placeholder {
  color: var(--ink-soft);
  opacity: 1;
}
textarea::placeholder {
  color: var(--ink-soft);
  opacity: 1;
}
textarea {
  resize: vertical;
  line-height: 1.6;
}
button:disabled {
  opacity: 1;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}
.ico {
  flex-shrink: 0;
}
.brand {
  border: 0;
  background: transparent;
  text-align: left;
}
.profile span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.side-label {
  overflow-wrap: anywhere;
}
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 30;
  width: var(--ui-sidebar-width);
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}
.app > .content {
  grid-column: 2;
}
.sidebar > .brand {
  flex: 0 0 auto;
}
.sidebar > .profile {
  flex: 0 0 auto;
}
.sidebar-main {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1 1 0;
  min-height: 0;
}
.sidebar-main > .workspace-home {
  flex: 0 0 auto;
}
.sidebar-main > .nav {
  flex: 0 0 auto;
}
.workspaces-toggle {
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  min-height: 24px;
}
.workspace-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 auto;
  width: 100%;
  padding: 0 10px;
  border: 0;
  background: transparent;
  color: var(--honey);
  text-align: left;
  font-weight: 600;
  font-size: var(--size-12-5);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.workspace-summary .chevron {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  transition: transform .15s;
  color: var(--honey);
}
.workspace-summary[aria-expanded="true"] .chevron {
  transform: rotate(90deg);
}
.workspaces-toggle .workspaces {
  flex: 0 1 auto;
  min-height: 0;
  align-content: start;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--verde-intermedio) transparent;
}
.workspaces::-webkit-scrollbar {
  width: 6px;
}
.workspaces::-webkit-scrollbar-thumb {
  background: var(--verde-intermedio);
  border-radius: 6px;
}
.workspace-home {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 10px 11px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  text-align: left;
  transition: background .15s;
}
.workspace-home:hover {
}
.workspace-home.active {
}
.workspace-home {
  color: var(--honey);
}
.workspace-home:hover {
  color: var(--honey);
}
.workspace-home:active {
  color: var(--honey);
}
.workspace-home:focus {
  color: var(--honey);
}
.workspace-home.active {
  color: var(--honey);
}
.workspace-home .icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: inherit;
}
.workspace-home span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.workspace-home:focus-visible {
  outline: 1px solid var(--ink-soft);
  outline-offset: -2px;
}
.workspace-summary:focus-visible {
  outline: 1px solid var(--ink-soft);
  outline-offset: -2px;
}
.space-name:focus-visible {
  outline: 1px solid var(--ink-soft);
  outline-offset: -2px;
}
.space-grip:focus-visible {
  outline: 1px solid var(--ink-soft);
  outline-offset: -2px;
}
.sidebar-demo:focus-visible {
  outline: 1px solid var(--ink-soft);
  outline-offset: -2px;
}
.profile .avatar {
  flex-shrink: 0;
}
.space-grip {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  text-align: left;
}
.space-name {
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  text-align: left;
}
.space-grip {
  cursor: grab;
  touch-action: none;
  flex-shrink: 0;
}
.space-grip:active {
  cursor: grabbing;
}
.space-name {
  flex: 1;
}
.workspace-empty {
  font-size: var(--size-14);
  color: var(--cream-soft);
  padding: 0 11px;
}
.mobile-shade {
  display: none;
}
.mobile-menu {
  display: none;
}
.crumbs {
  min-width: 0;
  flex-wrap: wrap;
}
.top-actions {
  flex-shrink: 0;
}
.dashboard-customize:disabled {
  opacity: 1;
}
.plain-text {
  display: inline;
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
  text-align: left;
}
.task-text .plain-text {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.deadline-text .plain-text {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.plain-text:hover {
  text-decoration: underline;
}
.task.done .plain-text {
  text-decoration: line-through;
}
button.tag {
  border: 0;
  line-height: inherit;
}
:is(button,a).project {
  display: block;
  text-align: left;
  width: 100%;
  font: inherit;
  cursor: pointer;
}
.project b {
  min-width: 0;
  overflow-wrap: anywhere;
}
.project .code-row {
  justify-content: space-between;
  gap: 8px;
}
.project-tile-meta {
  font-size: var(--size-13);
  color: var(--ink-soft);
  margin-top: 14px;
}
.archive-projects {
  margin-top: 0;
}
.dashboard-page .empty {
  grid-column: 1 / -1;
}
.dashboard-placeholder {
  pointer-events: none;
}
.dashboard-placeholder b {
  color: var(--ink-soft);
  font-weight: 400;
}
.dashboard-placeholder .date {
  visibility: hidden;
}
.dashboard-placeholder .sub1 {
  visibility: hidden;
}
.dashboard-placeholder .sub2 {
  visibility: hidden;
}
.business-page h2 {
  font: 700 17px/1.4 var(--font-ui);
  letter-spacing: -.01em;
  margin: 0;
}
dialog h2 {
  font: 700 17px/1.4 var(--font-ui);
  letter-spacing: -.01em;
  margin: 0;
}
.business-page h3 {
  font-size: var(--size-16);
  margin: 0;
}
dialog h3 {
  font-size: var(--size-16);
  margin: 0;
}
.business-page p {
  margin: 0 0 12px;
}
dialog p {
  margin: 0 0 12px;
}
.business-page .subtitle {
  margin: 1em 0;
}
.small {
  font-size: var(--size-14);
}
.tiny {
  font-size: var(--size-13);
}
.mono {
  font-variant-numeric: tabular-nums;
}
.row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.between {
  justify-content: space-between;
}
.wrap {
  flex-wrap: wrap;
}
.actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.stack {
  display: grid;
  gap: 22px;
  min-width: 0;
}
.main-column {
  display: grid;
  gap: 22px;
  min-width: 0;
}
.aside-column {
  display: grid;
  gap: 22px;
  min-width: 0;
}
.button.primary {
  background: var(--honey);
  border-color: var(--honey);
}
.button.primary:hover {
  background: var(--honey-2);
  border-color: var(--honey-2);
}
.button.subtle {
}
.button.subtle:hover {
}
.button.danger {
}
.icon-button {
  padding: 0;
  border: 1px solid var(--line);
  color: var(--ink-soft);
  background: var(--card);
  display: inline-grid;
  place-items: center;
}
.icon-button:hover {
  color: var(--ink);
  border-color: var(--ink-2);
}
.icon-button svg {
  width: 17px;
  height: 17px;
}
.text-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  font-size: inherit;
  line-height: inherit;
}
.text-button:hover {
  text-decoration: underline;
}
.divider {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 4px 0;
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 99px;
  padding: 4px 10px;
  font-size: var(--size-13);
  line-height: 1.4;
  white-space: nowrap;
  background: var(--line-soft);
}
.count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 99px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  background: var(--line-soft);
}
.pill.waiting {
  background: var(--miele-chiaro);
}
.pill.done {
  background: var(--miele-chiaro);
}
.pill.active {
}
.count {
  padding: 2px 9px;
  font-size: var(--size-12);
  color: var(--ink-soft);
}
.panel {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.procedure {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: 20px 22px 14px;
}
.panel-body {
  padding: 22px;
}
.panel-head+.panel-body {
  padding-top: 6px;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.section-title {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.section-title>.ico {
  width: 18px;
  color: var(--ink-soft);
}
.project-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 290px;
  gap: 14px;
  align-items: start;
}
.project-summary {
  display: grid;
  grid-template-columns: 1fr 1fr 1.35fr;
  gap: 14px;
  margin: 0 0 24px;
}
.summary-cell {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  text-align: left;
  min-width: 0;
}
.summary-cell:hover {
  border-color: var(--ink-2);
}
.summary-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  clip-path: var(--hex);
  width: 40px;
  height: 44px;
  background: var(--hex-honey);
  color: var(--ink);
}
.procedure-glyph {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  clip-path: var(--hex);
  background: var(--hex-honey);
  color: var(--ink);
}
.archive-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  clip-path: var(--hex);
  width: 40px;
  height: 44px;
  background: var(--hex-honey);
  color: var(--ink);
}
.summary-number {
  font-size: var(--size-28);
  line-height: 1.1;
}
.project-summary .summary-label {
  display: block;
  font-size: var(--size-13);
  color: var(--ink-soft);
  margin-top: 5px;
}
.summary-text {
  font-size: var(--size-14);
  margin-top: 5px;
}
.tabs {
  display: flex;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 24px;
  overflow-x: auto;
}
.tab {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  padding: 5px 0 13px;
  font-size: var(--size-14);
  white-space: nowrap;
}
.tab.active {
  border-bottom-color: var(--honey);
}
.procedure {
  margin-bottom: 12px;
}
.procedure:last-child {
  margin-bottom: 0;
}
.procedure>summary {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  cursor: pointer;
}
.procedure>summary::-webkit-details-marker {
  display: none;
}
.procedure>summary:hover {
  background: var(--line-soft);
}
.procedure-title {
  flex: 1;
  min-width: 0;
  font-size: var(--size-15);
}
.procedure-meta {
  color: var(--ink-soft);
  font-size: var(--size-13);
  font-weight: 400;
  margin-top: 4px;
}
.procedure-glyph {
  width: 34px;
  height: 38px;
}
.procedure .chevron {
  color: var(--ink-soft);
  transition: transform .15s;
}
.procedure[open]>summary .chevron {
  transform: rotate(180deg);
}
.phase-table {
  border-collapse: collapse;
  width: 100%;
  font-size: var(--size-14);
}
.data-table {
  border-collapse: collapse;
  width: 100%;
  font-size: var(--size-14);
}
.phase-table th {
  color: var(--ink-soft);
  background: var(--paper);
  font-weight: 600;
  font-size: var(--size-13);
  text-align: left;
  padding: 10px;
  border-block: 1px solid var(--line);
}
.data-table th {
  color: var(--ink-soft);
  background: var(--paper);
  font-weight: 600;
  font-size: var(--size-13);
  text-align: left;
  border-block: 1px solid var(--line);
}
.phase-table td {
  padding: 13px 10px;
  border-bottom: 1px solid var(--line-soft);
}
.data-table td {
  border-bottom: 1px solid var(--line-soft);
}
.phase-table th:first-child {
  padding-left: 20px;
}
.phase-table td:first-child {
  padding-left: 20px;
}
.phase-table th:nth-child(2) {
  width: 116px;
}
.phase-table th:nth-child(3) {
  width: 116px;
}
.phase-title {
  display: flex;
  align-items: center;
  gap: 9px;
}
.phase-title .ico {
  width: 16px;
  color: var(--ink-soft);
}
.phase-title.completed .ico {
  color: var(--honey);
}
.phase-title.completed button {
  color: var(--ink-soft);
}
.integration-row {
  background: var(--accent-light);
}
.integration-row .phase-title .ico {
  color: var(--honey);
}
.date-chip {
  font: inherit;
  font-size: var(--size-14);
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 99px;
  background: var(--card);
  white-space: nowrap;
}
.date-chip.empty {
  display: inline-block;
  border-style: dashed;
  color: var(--ink-soft);
}
.date-chip.late {
  color: var(--late);
  background: var(--rosso-chiaro);
  border-color: transparent;
}
.date-chip:hover {
  border-color: var(--honey);
}
.date-full {
  display: none;
}
.procedure-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  padding: 12px;
}
.deadline-list {
  padding: 0 22px 8px;
}
.deadline-list .deadline:first-child {
  border-top: 0;
}
.note-preview {
  white-space: pre-wrap;
  font-size: var(--size-14);
  line-height: 1.65;
}
.empty {
  padding: 30px 18px;
  text-align: center;
  font-size: var(--size-14);
  color: var(--ink-soft);
}
.empty>.ico {
  width: 24px;
  height: 24px;
  margin: 0 auto 10px;
}
.empty p {
  margin: 0;
}
.empty .button {
  margin-top: 12px;
}
.task-list {
  padding: 0 22px;
}
.task-list .task:first-child {
  border-top: 0;
}
.task-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--line);
}
.task-item:last-child {
  border-bottom: 0;
}
.task-main {
  flex: 1;
  min-width: 0;
}
.task-title {
  font-size: var(--size-14-5);
}
.task-meta {
  color: var(--ink-soft);
  font-size: var(--size-13);
  margin-top: 4px;
}
.toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 20px;
}
.search-field {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  background: var(--card);
  border-radius: var(--radius-sm);
  padding: 0 12px;
  width: 360px;
  max-width: 100%;
}
.search-field>.ico {
  color: var(--ink-soft);
}
.search-field input {
  width: 100%;
  border: 0;
  padding-inline: 0;
  background: transparent;
  font-size: var(--size-14);
}
.toolbar select {
  font-size: var(--size-14);
}
.contact-layout {
  display: grid;
  grid-template-columns: 280px minmax(0,1fr);
  gap: 14px;
  align-items: start;
}
.contact-select {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 18px 20px;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: var(--card);
}
.contact-select:last-child {
  border-bottom: 0;
}
.contact-select.selected {
  background: var(--accent-light);
}
.contact-select:hover {
  background: var(--line-soft);
}
.contact-select-name {
  font-size: var(--size-14-5);
}
.contact-select .small {
  font-size: var(--size-13);
  margin-top: 3px;
}
.business-page .avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  clip-path: var(--hex);
  color: var(--ink);
}
.avatar.small-avatar {
  width: 27px;
  height: 30px;
  font-size: var(--size-11);
}
.contact-detail-head {
  display: flex;
  gap: 14px;
  margin-bottom: 24px;
}
.contact-detail-head .avatar {
  width: 48px;
  height: 53px;
  font-size: var(--size-16);
}
.contact-detail-head h2 {
  font-size: var(--size-22);
}
.contact-detail-head p {
  margin: 4px 0 0;
}
.avatar.contact-avatar {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: transparent;
  clip-path: none;
  color: var(--ink);
}
.contact-avatar svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: var(--hex-honey);
  stroke: transparent;
  stroke-width: 2;
}
.contact-avatar > span { position: relative; }
.contact-select.selected .contact-avatar svg { stroke: var(--bianco); }
.info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.info-list {
  display: grid;
  gap: 18px;
  margin: 0;
}
.info-item dt {
  font-size: var(--size-13);
  color: var(--ink-soft);
  margin-bottom: 4px;
}
.info-item dd {
  font-size: var(--size-14);
  margin: 0;
  overflow-wrap: anywhere;
}
.info-item dd .text-button {
  font-weight: 600;
}
.contact-section-label {
  font-size: var(--size-13);
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--honey);
  text-transform: uppercase;
  margin-bottom: 16px;
}
.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0;
}
.linked-project {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  margin-top: 9px;
  font-size: var(--size-14);
  text-align: left;
}
.calendar-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 14px;
  align-items: start;
}
.calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--line);
}
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
}
.weekday {
  text-align: center;
  color: var(--ink-soft);
  font-size: var(--size-13);
  background: var(--paper);
  padding: 10px 4px;
}
.calendar-day {
  min-height: 103px;
  min-width: 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-right: 1px solid var(--line);
  padding: 7px 5px;
  text-align: left;
  background: var(--card);
}
.calendar-day:nth-child(7n) {
  border-right: 0;
}
.calendar-day:hover {
  background: var(--line-soft);
}
.calendar-day.other {
  background: var(--paper);
  color: var(--ink-soft);
}
.calendar-day.selected {
  background: var(--accent-light);
  box-shadow: none;
}
.calendar-day-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 30px;
  font-size: var(--size-13);
  margin-bottom: 5px;
}
.calendar-day.today .calendar-day-number {
  clip-path: var(--hex);
  background: var(--hex-honey);
  color: var(--ink);
  font-weight: 700;
}
.calendar-event {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--size-12);
  background: var(--line-soft);
  color: var(--ink);
  border-radius: 4px;
  padding: 3px 4px;
  margin-bottom: 3px;
}
.calendar-event.late {
  color: var(--late);
  background: var(--rosso-chiaro);
}
.calendar-more {
  font-size: var(--size-12);
  color: var(--ink-soft);
}
.checkbox-label {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: var(--size-14);
  cursor: pointer;
}
.checkbox-label input {
  width: 20px;
  height: 22px;
  accent-color: var(--honey);
}
.data-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: start;
}
.data-card h2 {
  margin-bottom: 12px;
}
.data-card p {
  font-size: var(--size-14);
  line-height: 1.7;
  color: var(--ink-soft);
}
.archive-icon {
  margin-bottom: 20px;
}
.data-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 22px;
}
.notice.warning {
  border-color: var(--late);
}
.data-table th {
  padding: 13px 16px;
}
.data-table td {
  padding: 13px 16px;
}
.format-help {
  font-size: var(--size-14);
  padding: 20px 22px;
}
.format-help summary {
  font-weight: 600;
  cursor: pointer;
}
.format-help p {
  color: var(--ink-soft);
  margin-top: 12px;
}
.format-help code {
  background: var(--paper);
  border-radius: 4px;
  padding: 2px 4px;
  overflow-wrap: anywhere;
}
.notes-sheet {
  padding: 22px;
}
.notes-sheet textarea {
  width: 100%;
  min-height: 270px;
}
.notes-sheet .row {
  margin-top: 16px;
}
.footer-note {
  color: var(--ink-soft);
  text-align: center;
  font-size: var(--size-13);
  margin-top: 24px;
}
.workspace-panel {
  padding: 22px;
  margin-bottom: 20px;
}
.workspace-panel h2 {
  margin-bottom: 18px;
}
.workspace-panel label {
  display: block;
  margin: 14px 0 8px;
  font-size: var(--size-14);
}
.workspace-panel input {
  width: 100%;
  max-width: 600px;
  margin-bottom: 14px;
}
.workspace-invite {
  margin-top: 24px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}
.member-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  overflow-wrap: anywhere;
}
.member-row>div {
  min-width: 0;
}
.member-row:last-child {
  border-bottom: 0;
}
.member-row .pill {
  margin-top: 8px;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.form-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.form-field.full {
  grid-column: 1 / -1;
}
.form-field label {
  font-size: var(--size-14);
}
.form-field input {
  width: 100%;
  font-size: var(--size-15);
}
.form-field select {
  width: 100%;
  font-size: var(--size-15);
}
.form-field textarea {
  width: 100%;
  font-size: var(--size-15);
}
.form-field textarea {
  min-height: 94px;
}
.form-field small {
  font-size: var(--size-13);
  color: var(--ink-soft);
}
dialog {
  width: var(--ui-dialog-width);
  max-width: calc(100vw - 28px);
  max-height: calc(100dvh - 40px);
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  color: var(--ink);
  background: var(--card);
  box-shadow: none;
}
.dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.dialog-body {
  padding: 24px;
}
.dialog-body>label {
  display: block;
  font-size: var(--size-14);
  margin: 18px 0 8px;
}
.dialog-body>input {
  width: 100%;
}
.dialog-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 9px;
  padding: 16px 24px;
  border-top: 1px solid var(--line);
  background: var(--paper);
}
.delete-button {
  margin-right: auto;
  color: var(--late);
}
.form-error {
  color: var(--late);
  font-size: var(--size-14);
  margin-top: 12px;
  white-space: pre-wrap;
}
.form-error:empty {
  display: none;
}
#toast {
  position: fixed;
  z-index: 100;
  bottom: 24px;
  left: 50%;
  transform: translate(-50%,12px);
  background: var(--ink);
  color: var(--card);
  border-radius: var(--radius-sm);
  padding: 12px 20px;
  font-size: var(--size-14);
  max-width: calc(100vw - 32px);
  width: max-content;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s,transform .18s;
}
#toast.show {
  opacity: 1;
  transform: translate(-50%,0);
}
#toast.visible {
  opacity: 1;
  transform: translate(-50%,0);
}
.auth-page {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: var(--ink);
}
.auth-card {
  width: min(100%,460px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  padding: 36px;
}
.auth-card .brand {
  padding: 0 0 16px;
}
.auth-card .brand strong {
  color: var(--ink);
}
.auth-card .brand small {
  color: var(--ink-soft);
}
.auth-card h1 {
  font-size: var(--size-32);
  margin: 12px 0;
}
.auth-card p {
  font-size: var(--size-14);
}
.auth-card form {
  display: grid;
  gap: 12px;
  margin: 26px 0;
}
.auth-card label {
  font-size: var(--size-14);
  font-weight: 600;
}
.auth-card input {
  width: 100%;
}
.auth-card .button {
  justify-content: center;
}
.cloud-busy #app {
  pointer-events: none;
  opacity: 1;
}
.cloud-busy #editor {
  pointer-events: none;
  opacity: 1;
}
@media (max-width: 1190px) {
  .project-layout {
    grid-template-columns: minmax(0,1fr);
  }
  .calendar-layout {
    grid-template-columns: minmax(0,1fr);
  }
  .aside-column {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
  .contact-layout {
    grid-template-columns: 230px minmax(0,1fr);
  }
  .data-grid {
    grid-template-columns: 1fr;
  }
  .archive-projects {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 980px) {
  .app > .content {
    grid-column: 1;
  }
  .mobile-menu {
    display: inline-grid;
  }
  .sidebar.open {
    display: flex;
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 50;
    width: var(--ui-sidebar-width);
    height: 100dvh;
    overflow: hidden;
  }
  .mobile-shade.visible {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 40;
    background: var(--bordi-chiari);
  }
  .project-summary {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }
  .summary-cell {
    padding: 16px 12px;
    gap: 10px;
  }
  .summary-icon {
    width: 30px;
    height: 34px;
  }
}
@media (max-height: 640px) {
  .sidebar {
    gap: 12px;
    padding-top: 16px;
    padding-bottom: 16px;
  }
  .sidebar-main {
    gap: 12px;
  }
  .sidebar .nav :is(button,a[data-route]) {
    padding-top: 8px;
    padding-bottom: 8px;
  }
}
@media (max-width: 760px) {
  .contact-layout {
    grid-template-columns: 1fr;
  }
  .contact-list {
    max-height: 230px;
    overflow-y: auto;
  }
  .member-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .member-row .actions {
    width: 100%;
  }
  .project-summary {
    grid-template-columns: 1fr;
  }
  .summary-cell {
    padding: 16px 20px;
  }
  .summary-number {
    font-size: var(--size-24);
  }
  .aside-column {
    grid-template-columns: 1fr;
  }
  .archive-projects {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .topbar {
    gap: 8px;
  }
  .top-actions {
    gap: 8px;
  }
  .crumbs {
    font-size: var(--size-13);
    gap: 6px;
  }
  .business-page {
    padding-inline: 16px;
  }
  .business-page .card {
    padding: 18px;
  }
  .panel-body {
    padding: 18px;
  }
  .workspace-panel {
    padding: 18px;
  }
  .notes-sheet {
    padding: 18px;
  }
  .task-list {
    padding: 0 18px;
  }
  .deadline-list {
    padding: 0 18px 8px;
  }
  .panel-head {
    padding: 18px 18px 12px;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .info-grid {
    grid-template-columns: 1fr;
  }
  .form-field.full {
    grid-column: auto;
  }
  .form-grid {
    gap: 14px;
  }
  .calendar-grid {
    display: none;
  }
  .calendar-header {
    border: 0;
    padding: 16px;
  }
  .calendar-header h2 {
    font-size: var(--size-16);
  }
  .procedure>summary {
    flex-wrap: wrap;
    padding: 16px;
    gap: 9px;
  }
  .phase-table th {
    padding: 10px 6px;
  }
  .phase-table td {
    padding: 10px 6px;
  }
  .phase-table th:first-child {
    padding-left: 12px;
  }
  .phase-table td:first-child {
    padding-left: 12px;
  }
  .phase-table th:nth-child(2) {
    width: 88px;
  }
  .phase-table th:nth-child(3) {
    width: 88px;
  }
  .phase-title {
    gap: 5px;
  }
  .phase-title .ico {
    display: none;
  }
  .date-chip {
    padding: 5px 7px;
    font-size: var(--size-13);
  }
  .section-heading {
    align-items: flex-start;
  }
  .section-title {
    flex-wrap: wrap;
  }
  .task-item {
    flex-wrap: wrap;
    padding: 16px 18px;
  }
  .data-table th {
    padding: 12px 9px;
  }
  .data-table td {
    padding: 12px 9px;
  }
  .data-table .button span {
    display: none;
  }
  .data-table .row {
    gap: 2px;
  }
  .dialog-head {
    padding: 18px;
  }
  .dialog-body {
    padding: 18px;
  }
  .dialog-footer {
    padding: 14px 18px;
    flex-wrap: wrap;
  }
  .auth-card {
    padding: 26px;
  }
}
@media print {
  .sidebar {
    display: none !important;
  }
  .topbar {
    display: none !important;
  }
  .heading .actions {
    display: none !important;
  }
  .tabs {
    display: none !important;
  }
  .button {
    display: none !important;
  }
  .icon-button {
    display: none !important;
  }
  .app {
    display: block;
  }
  .main {
    max-width: none;
    padding: 0;
  }
  .project-layout {
    display: block;
  }
  .panel {
    break-inside: avoid;
  }
  .procedure {
    break-inside: avoid;
  }
}
.rubric-tabs-bar {
  position: relative;
  display: flex;
  gap: 12px;
  margin-bottom: 22px;
}
.rubric-tabs-bar .tabs {
  flex: 1;
  min-width: 0;
  border: 0;
  margin: 0;
}
.rubric-filter-button {
  position: relative;
  margin-bottom: 8px;
  border-color: transparent;
  background: transparent;
}
.rubric-filter-button.active {
  background: var(--accent-light);
  color: var(--ink);
}
.rubric-filter-button .filter-count {
  position: absolute;
  right: -3px;
  top: -4px;
  min-width: 16px;
  padding: 1px 3px;
  border-radius: 9px;
  font-size: var(--size-11);
  background: var(--honey);
  color: var(--ink);
}
.rubric-filter-popover {
  position: absolute;
  z-index: 35;
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--card);
  box-shadow: none;
  max-height: 260px;
  overflow-y: auto;
}
.rubric-type-picker {
  position: absolute;
  z-index: 35;
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--card);
  box-shadow: none;
  max-height: 260px;
  overflow-y: auto;
}
.rubric-filter-popover {
  right: 0;
  top: 100%;
  width: 270px;
  max-width: 90vw;
}
.rubric-check {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: var(--size-14);
  cursor: pointer;
}
.rubric-check input[type=checkbox] {
  appearance: auto;
  accent-color: var(--ink);
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  margin: 0;
  border-radius: 2px;
  cursor: pointer;
}
.rubric-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  padding: 3px 9px;
  border-radius: 99px;
  font-size: var(--size-13);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.rubric-pill button {
  border: 0;
  padding: 0 1px;
  background: transparent;
  color: inherit;
  font-size: var(--size-17);
  line-height: 1;
}
.contact-classification {
  margin-bottom: 24px;
  grid-column: 1 / -1;
}
.contact-detail-head {
  align-items: flex-start;
  min-width: 0;
}
.contact-detail-head > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.contact-classification-summary {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.contact-classification-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.contact-category-name {
  color: var(--ink-soft);
  font-size: var(--size-13);
  font-weight: 500;
  margin-right: 3px;
}
.contact-view-section {
  margin-top: 24px;
}
.contact-view-section .info-grid {
  margin: 0;
}
.contact-related-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.contact-related-link small {
  display: block;
  margin-top: 4px;
  color: var(--ink-soft);
}
dialog.contact-editor {
  width: var(--ui-dialog-contact-width);
  overflow: hidden;
}
.contact-editor-form {
  display: flex;
  flex-direction: column;
  max-height: calc(100dvh - 42px);
  min-height: 0;
}
/* Azioni del template condiviso delle schede. */
.ui-dialog-actions .contact-update {
  background: var(--miele-chiaro);
  border-color: var(--miele-chiaro);
  color: var(--ink);
}
.ui-dialog-actions .contact-delete {
  background: var(--rosso-chiaro);
  border-color: var(--rosso-chiaro);
  color: var(--rosso-scuro);
}
.contact-editor .dialog-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.contact-editor-section {
  margin-bottom: 24px;
}
.contact-editor-section h3 {
}
.contact-extra-section {
}
.contact-extra-section summary {
  cursor: pointer;
}
.contact-extra-section .form-grid {
  padding-top: 18px;
}
.contact-extra-section + .contact-editor-section {
  margin-top: 20px;
}
.contact-links-table {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
  border-bottom: 1px solid var(--line);
}
.contact-links-table th {
  text-align: left;
  padding: 8px 6px;
  font-size: var(--size-12);
  font-weight: 600;
  color: var(--ink-soft);
  text-transform: uppercase;
}
.contact-links-table th:first-child {
  width: 52%;
}
.contact-links-table th:last-child {
  width: 44px;
}
.contact-links-table td {
  padding: 8px 6px;
  border-top: 1px solid var(--line);
  vertical-align: middle;
}
.contact-links-table input {
  width: 100%;
  font-size: var(--size-14);
}
.contact-links-table input:disabled {
  opacity: 1;
}
.contact-link-select {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  overflow-wrap: anywhere;
}
.contact-link-picker {
  padding: 6px;
}
.contact-link-picker .search-field {
  width: 100%;
}
#contact-link-options {
  max-height: 230px;
  overflow-y: auto;
  padding-top: 8px;
}
.contact-link-option {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ink);
  text-align: left;
  padding: 10px;
}
.contact-link-option:hover {
  background: var(--line-soft);
}
.contact-link-option small {
  display: block;
  color: var(--ink-soft);
  margin-top: 3px;
}
@media (max-width: 520px) {
  .contact-editor .dialog-body {
    padding: 16px;
  }
  .contact-editor .form-grid {
    gap: 14px;
  }
}
.contact-classification table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border-bottom: 1px solid var(--line);
}
.contact-classification th {
  font-size: var(--size-12);
  font-weight: 600;
  text-transform: uppercase;
  color: var(--ink-soft);
  text-align: left;
  padding: 9px 10px;
}
.contact-classification th:first-child {
  width: 38%;
}
.contact-classification td {
  padding: 8px 10px;
  border-top: 1px solid var(--line);
  vertical-align: middle;
}
.rubric-tag-cell {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  min-height: 32px;
}
.rubric-tag-cell.inactive {
  opacity: 1;
}
.rubric-tag-add {
  border: 0;
  background: transparent;
  color: var(--ink-soft);
  padding: 5px;
  font-size: var(--size-13);
  border-radius: 5px;
}
.rubric-tag-add:hover {
  background: var(--line-soft);
}
.rubric-type-picker {
  top: calc(100% + 4px);
  left: 0;
  width: max-content;
  max-width: min(320px,80vw);
  min-width: min(220px,65vw);
}
.rubric-settings-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.rubric-category-cards {
  display: grid;
  gap: 18px;
}
.rubric-category-card {
  padding: 20px;
}
.rubric-category-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.rubric-category-name {
  flex: 1;
  font-weight: 700;
  min-width: 0;
}
.rubric-type-rows {
  display: grid;
  gap: 9px;
}
.rubric-type-row {
  display: grid;
  align-items: center;
  gap: 10px;
}
.rubric-type-row input[type=color] {
  width: 38px;
  height: 38px;
  padding: 3px;
  cursor: pointer;
}
.rubric-type-preview {
  min-width: 0;
}
.rubric-type-preview .rubric-pill {
  max-width: 100%;
}
.rubric-add-type {
  border: 0;
  background: transparent;
  color: var(--ink-soft);
  font-size: var(--size-14);
  padding: 12px 0 0;
}
.rubric-add-type:hover {
  color: var(--ink);
}
.rubric-category-card .danger {
  color: var(--late);
}
@media(max-width:620px) {
  .rubric-type-row {
    gap: 7px;
  }
  .rubric-type-preview {
    display: none;
  }
  .contact-classification td {
    padding-left: 6px;
    padding-right: 6px;
  }
  .contact-classification th {
    padding-left: 6px;
    padding-right: 6px;
  }
  .contact-classification .rubric-check {
    font-size: var(--size-13);
    gap: 6px;
  }
  .contact-classification th:first-child {
    width: 42%;
  }
  .rubric-category-card {
    padding: 15px;
  }
}
.contact-editor .form-field {
  gap: 4px;
}
.contact-editor .form-grid {
  gap: 12px 18px;
}
.contact-editor .form-field label {
  font-size: var(--size-11);
}
.contact-editor-section h3 {
  font-size: var(--size-12);
  text-transform: uppercase;
  letter-spacing: normal;
  color: var(--ink-soft);
}
.contact-extra-section summary {
  font-size: var(--size-12);
  text-transform: uppercase;
  letter-spacing: normal;
  color: var(--ink-soft);
}
.contact-editor .contact-classification th {
  font-size: var(--size-12);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: normal;
  color: var(--ink-soft);
}
.contact-editor-section h3 {
  border-bottom: 1px solid var(--line);
  padding-bottom: 9px;
  margin-bottom: 12px;
}
.contact-extra-section {
  border-top: 0;
  padding: 8px 0;
}
.contact-extra-section summary {
  list-style: none;
  border-bottom: 1px solid var(--line);
  padding-bottom: 9px;
}
.contact-extra-section summary::-webkit-details-marker {
  display: none;
}
.contact-extra-section summary::before {
  content: '›';
  display: inline-block;
  font-size: var(--size-16);
  margin-right: 8px;
  transition: transform .15s;
}
.contact-extra-section[open] summary::before {
  transform: rotate(90deg);
}
.required-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  border: 1px solid currentColor;
  border-radius: 50%;
  cursor: help;
}
.required-info [role=tooltip] {
  display: none;
  position: absolute;
  left: 18px;
  bottom: 0;
  width: max-content;
  padding: 5px 8px;
  background: var(--ink);
  color: var(--paper);
  border-radius: 4px;
  z-index: 3;
}
.required-info:hover [role=tooltip] {
  display: block;
}
.required-info:focus [role=tooltip] {
  display: block;
}
.note-preview a {
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.contact-detail .info-grid a {
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.color-palette {
  display: grid;
  grid-template-columns: repeat(5,22px);
  gap: 4px;
}
.color-swatch {
  position: relative;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 4px;
}
.color-custom {
  position: relative;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 4px;
}
.color-swatch[aria-pressed=true] {
  outline: 2px solid var(--ink);
  outline-offset: 1px;
}
.color-custom {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: var(--size-17);
}
.rubric-type-row .color-custom input[type=color] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  opacity: 0;
  cursor: pointer;
}
.color-custom:focus-within {
  outline: none;
}
.rubric-type-row {
  grid-template-columns: minmax(120px,1fr) 126px minmax(80px,1fr) 38px;
}
@media(max-width:620px) {
  .rubric-type-row {
    grid-template-columns: minmax(0,1fr) 126px 30px;
  }
}
body {
  font-size: var(--text-base);
  color: var(--ink);
}
.type-title {
  font-size: var(--text-large);
  font-weight: var(--weight-bold);
  color: var(--ink);
}
.type-spotlight {
  font-size: var(--text-large);
  font-weight: var(--weight-bold);
  color: var(--ink);
}
.type-detail {
  font-size: var(--text-detail);
}
.type-heading {
  font-size: var(--text-base);
  font-weight: var(--weight-semibold);
  color: var(--ink-soft);
  text-transform: uppercase;
}
.type-strong {
  font-size: var(--text-base);
  font-weight: var(--weight-bold);
}
.type-body {
  font-size: var(--text-base);
  font-weight: var(--weight-normal);
}
.type-secondary {
  font-size: var(--text-base);
  font-weight: var(--weight-normal);
}
.type-muted {
  color: var(--ink-soft);
}
.type-secondary {
  color: var(--ink-soft);
}
.type-honey {
  color: var(--honey);
}
:is(.small,.tiny,.subtitle,.rubric-subtitle,.eyebrow,.button,.tab,.pill,.tag,.count,.text-link,.text-button,.plain-text,.summary-text,.summary-label,.procedure-title,.procedure-meta,.task-title,.task-meta,.contact-select-name,.contact-category-name,.contact-section-label,.rubric-pill,.rubric-tag-add,.rubric-add-type,.rubric-check,.project-tile-meta,.calendar-event,.calendar-more,.calendar-day-number,.weekday,.date-chip,.checkbox-label,.format-help,.footer-note,.form-error,.empty,.note-preview,.notice,.crumbs,.stat-title,.stat-note,.contact-link-select,.contact-link-option,.contact-related-link,.rubric-category-name,#toast) {
  font-size: var(--text-base) !important;
}
:is(.content,dialog,.auth-card) :is(h2,h3,p,label,input,select,textarea,th,td,dt,dd,small,summary) {
  font-size: var(--text-base) !important;
}
:is(.task-text,.deadline-text) :is(b,.sub1,.sub2) {
  font-size: var(--text-base) !important;
}
.project :is(b,small,.code,.bar-label) {
  font-size: var(--text-base) !important;
}
.date {
  font-size: var(--text-base) !important;
}
.date strong {
  font-size: var(--text-base) !important;
}
.avatar {
  font-size: var(--text-base) !important;
}
.sidebar :is(button,strong,small,.counter,.side-label,.workspace,.profile span:last-child) {
  font-size: var(--text-base) !important;
}
h1 {
  font-size: var(--text-large) !important;
  font-weight: var(--weight-bold);
  color: var(--ink);
  text-transform: none;
}
.auth-card h1 {
  font-size: var(--text-large) !important;
  font-weight: var(--weight-bold);
  color: var(--ink);
  text-transform: none;
}
.stat-row strong {
  font-size: var(--text-large) !important;
  font-weight: var(--weight-bold);
  color: var(--ink);
  text-transform: none;
}
.summary-number {
  font-size: var(--text-large) !important;
  font-weight: var(--weight-bold);
  color: var(--ink);
  text-transform: none;
}
h1 .accent {
  color: var(--honey);
}
.contact-detail-head h2 {
  font-size: var(--text-detail) !important;
  font-weight: var(--weight-bold);
  color: var(--ink);
}
.type-detail {
  font-size: var(--text-detail) !important;
  font-weight: var(--weight-bold);
  color: var(--ink);
}
:is(.eyebrow,.subtitle,.rubric-subtitle,.contact-section-label,.contact-editor-section h3,.contact-extra-section summary) {
  font-size: var(--text-base) !important;
  font-weight: var(--weight-semibold) !important;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: normal;
}
:is(.phase-table,.data-table,.contact-classification,.contact-links-table) th {
  font-size: var(--text-base) !important;
  font-weight: var(--weight-semibold) !important;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: normal;
}
:is(.content,dialog) :is(h2,h3) {
  font-weight: var(--weight-bold);
}
.card-head h2 {
  font-weight: var(--weight-bold);
}
.button {
}
.text-link {
  font-weight: var(--weight-bold);
}
.tab {
  font-weight: var(--weight-bold);
}
.pill {
}
.tag {
}
.rubric-pill {
}
.procedure-title {
  font-weight: var(--weight-bold);
}
.task-title {
  font-weight: var(--weight-bold);
}
.contact-select-name {
  font-weight: var(--weight-bold);
}
.task-text b {
  font-weight: var(--weight-bold);
}
.deadline-text b {
  font-weight: var(--weight-bold);
}
.project b {
  font-weight: var(--weight-bold);
}
.summary-text {
  font-weight: var(--weight-bold);
}
.linked-project strong {
  font-weight: var(--weight-bold);
}
.contact-related-link strong {
  font-weight: var(--weight-bold);
}
.contact-editor-section h3 {
  font-weight: var(--weight-semibold);
}
.contact-extra-section summary {
  font-weight: var(--weight-semibold);
}
.tab {
  color: var(--ink-soft);
}
.tab.active {
  color: var(--ink);
}
.form-field label {
  font-weight: var(--weight-semibold);
  color: var(--ink-soft);
  text-transform: uppercase;
}
.contact-editor .form-field label {
  color: var(--ink-soft);
  text-transform: uppercase;
}
.form-field :is(input,select,textarea) {
  font-weight: var(--weight-normal);
  color: var(--ink);
  text-transform: none;
}
.contact-links-table input {
  font-weight: var(--weight-normal);
  color: var(--ink);
  text-transform: none;
}
.note-preview {
  color: var(--ink);
  font-weight: var(--weight-normal);
}
.info-item dd {
  color: var(--ink);
  font-weight: var(--weight-normal);
}
:is(.procedure-meta,.task-meta,.project-tile-meta,.info-item dt,.contact-category-name,.empty,.footer-note,.stat-note) {
  font-weight: var(--weight-normal);
  color: var(--ink-soft);
}
:is(.task-text,.deadline-text) :is(.sub1,.sub2) {
  font-weight: var(--weight-normal);
  color: var(--ink-soft);
}
.contact-detail-head p {
  font-weight: var(--weight-normal);
  color: var(--ink-soft);
}
.project small {
  font-weight: var(--weight-normal);
  color: var(--ink-soft);
}
.task-text .sub2 {
  opacity: 1;
}
.deadline-text .sub2 {
  opacity: 1;
}
.task.done :is(.plain-text,b,.sub1,.sub2) {
  color: var(--ink-soft);
}
.task-item.done :is(.task-title,.task-meta) {
  color: var(--ink-soft);
}
.tag.done {
  color: var(--ink-soft);
}
.sidebar {
  font-family: var(--font-ui);
}
.sidebar :is(button,input,select,strong,small) {
  font-family: var(--font-ui);
}
.sidebar :is(.nav :is(button,a[data-route]),.workspace,.profile span:last-child) {
  font-weight: var(--weight-bold);
}
.sidebar :is(.nav :is(button,a[data-route]),.workspace) {
  color: var(--cream-soft);
}
.sidebar :is(.nav :is(button,a[data-route]).active,.workspace.active) {
  color: var(--card);
}
.sidebar :is(.workspace-summary,.side-label,.workspace-home) {
  color: var(--honey);
  font-weight: var(--weight-semibold);
}
.sidebar .workspace-home.active {
  color: var(--honey);
  font-weight: var(--weight-semibold);
}
.sidebar .brand small {
  font-weight: var(--weight-normal);
}
.required-info {
  font-size: var(--size-9);
}
.required-info [role=tooltip] {
  font-size: var(--text-base);
  font-weight: var(--weight-normal);
  text-transform: none;
}
.phase-title.completed {
  color: var(--ink-soft);
}
.phase-title.completed .text-button {
  color: var(--ink-soft);
}
.tag {
  font-weight: var(--weight-normal);
}
.pill {
  font-weight: var(--weight-normal);
}
.rubric-pill {
  font-weight: var(--weight-normal);
}
.form-field label[for="field-name"] {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.required-info {
  flex-shrink: 0;
}
.contact-detail .contact-classification-summary {
  margin: 4px 0 0;
  text-align: left;
}
.contact-classification-group {
  justify-content: flex-start;
}
.tabs-shell {
  min-width: 0;
  position: relative;
  margin-bottom: 24px;
}
.tabs-shell .tabs {
  margin-bottom: 0;
  border-bottom: 1px solid var(--line);
  scrollbar-width: none;
}
.tabs-shell .tabs::-webkit-scrollbar {
  display: none;
}
.contact-list-shell .contact-list::-webkit-scrollbar {
  display: none;
}
.rubric-tabs-bar > .tabs-shell {
  flex: 1;
  margin: 0;
}
.rubric-tabs-bar {
  border-bottom: 0;
  align-items: flex-start;
}
.minimal-scroll {
  display: flex;
  align-items: center;
  gap: 6px;
  height: 18px;
  margin-top: 6px;
}
.minimal-scroll[hidden] {
  display: none;
}
.minimal-scroll button {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: 18px/18px var(--font-ui);
  cursor: pointer;
}
.minimal-scroll button:disabled {
  opacity: 1;
  cursor: default;
}
.minimal-scroll input {
  appearance: none;
  min-width: 0;
  width: 100%;
  height: 18px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
}
.minimal-scroll input::-webkit-slider-runnable-track {
  height: 2px;
  background: var(--line);
}
.minimal-scroll input::-moz-range-track {
  height: 2px;
  background: var(--line);
}
.minimal-scroll input::-webkit-slider-thumb {
  appearance: none;
  width: var(--thumb-size,48px);
  height: 5px;
  margin-top: -1.5px;
  border: 0;
  border-radius: 3px;
  background: var(--line);
}
.minimal-scroll input::-moz-range-thumb {
  width: var(--thumb-size,48px);
  height: 5px;
  border: 0;
  border-radius: 3px;
  background: var(--line);
}
.contact-list-shell {
  min-width: 0;
  position: relative;
}
.contact-list-shell .contact-list {
  scrollbar-width: none;
}
.minimal-scroll.vertical {
  position: absolute;
  left: calc(100% + 5px);
  top: 0;
  bottom: 0;
  width: 18px;
  height: auto;
  margin: 0;
  flex-direction: column;
}
.minimal-scroll.vertical button {
  transform: rotate(90deg);
}
.minimal-scroll.vertical input {
  writing-mode: vertical-lr;
  direction: ltr;
  height: 100%;
  width: 18px;
  min-height: 0;
}
.minimal-scroll.vertical input::-webkit-slider-runnable-track {
  width: 2px;
  height: 100%;
}
.minimal-scroll.vertical input::-moz-range-track {
  width: 2px;
  height: 100%;
}
.minimal-scroll.vertical input::-webkit-slider-thumb {
  width: 5px;
  height: var(--thumb-size,48px);
  margin: 0 0 0 -1.5px;
}
.minimal-scroll.vertical input::-moz-range-thumb {
  width: 5px;
  height: var(--thumb-size,48px);
}
@media (max-width: 760px) {
  .contact-list-shell {
    margin-right: 24px;
  }
  .contact-list-shell .contact-list {
    max-height: 460px;
    overflow-y: auto;
  }
}
@media print {
  .tabs-shell {
    display: none;
  }
}
.contact-detail .contact-classification-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
.contact-detail-head .avatar {
  font-size: var(--text-detail) !important;
}
.contact-type-hint {
  display: inline-flex;
  position: relative;
}
.contact-type-tooltip {
  display: none;
  position: absolute;
  bottom: calc(100% + 6px);
  left: 0;
  z-index: 5;
  width: max-content;
  max-width: 240px;
  padding: 5px 8px;
  border-radius: 5px;
  background: var(--ink);
  color: var(--paper);
  font-size: var(--size-14);
  font-weight: 400;
  pointer-events: none;
}
.contact-type-hint:hover .contact-type-tooltip {
  display: block;
}
.contact-type-hint:focus .contact-type-tooltip {
  display: block;
}
.contact-editor .form-field label {
  font-weight: var(--weight-normal);
}
.contact-editor :is(.contact-classification,.contact-links-table) th {
  font-weight: var(--weight-bold) !important;
}
.contact-editor .form-field label[for="field-uniqueCode"] {
  font-weight: var(--weight-bold) !important;
}
.contact-editor .form-field label[for="field-notes"] {
  font-weight: var(--weight-bold) !important;
}
.contact-editor-section h3 {
  font-weight: var(--weight-bold) !important;
}
.contact-extra-section summary {
  font-weight: var(--weight-bold) !important;
}
.contact-editor .rubric-check input:not(:checked) + span {
  color: var(--ink-soft);
}
.contact-editor .rubric-check input:checked + span {
  color: var(--ink);
}
.contact-link-select.empty-link {
  color: var(--ink-soft);
}
.required-info {
  text-transform: none;
  position: relative;
  transform: translateY(-1px);
  line-height: 1;
  font-family: var(--font-ui);
  font-weight: 400;
}
input[type="search"]:focus {
  outline: none;
  box-shadow: none;
}
.search-field input:focus {
  outline: none;
  box-shadow: none;
}
.search-field:focus-within {
  outline: none;
  box-shadow: none;
}
input[type="search"]:focus-visible {
  border-color: var(--ink-soft);
}
.search-field:focus-within {
  border-color: var(--ink-soft);
}
.duplicate-compare {
  overflow-x: auto;
  margin: 16px 0;
}
.duplicate-compare table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.duplicate-compare th {
  padding: 9px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.duplicate-compare td {
  padding: 9px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.duplicate-compare th:first-child {
  width: 24%;
}
.duplicate-compare .different {
  background: var(--accent-light);
}
.duplicate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}
#duplicate-name-warning {
  margin-top: 6px;
  padding: 8px;
  font-weight: 400;
}
:focus:not(:focus-visible) {
  outline: none;
}
:focus-visible {
  outline: 1px solid var(--ink-soft);
  outline-offset: 2px;
}
input:focus-visible {
  outline: 1px solid var(--ink-soft);
  outline-offset: 2px;
}
select:focus-visible {
  outline: 1px solid var(--ink-soft);
  outline-offset: 2px;
}
textarea:focus-visible {
  outline: 1px solid var(--ink-soft);
  outline-offset: 2px;
}
.order-control {
  position: relative;
  flex-shrink: 0;
}
.order-control summary {
  list-style: none;
  width: 42px;
  font-size: var(--size-12);
  white-space: nowrap;
}
.order-control summary::-webkit-details-marker {
  display: none;
}
.order-options {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 40;
  width: max-content;
  padding: 6px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.order-options button {
  display: block;
  width: 100%;
  padding: 9px 12px;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.order-options button:hover {
  background: var(--accent-light);
}
.order-options button[aria-pressed="true"] {
  background: var(--accent-light);
}
.contact-editor .contact-extra-section {
  margin: 13px 0;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card);
}
.contact-editor .contact-extra-section summary {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  padding: 10px 12px;
  border: 0;
  border-radius: 8px;
}
.contact-editor .contact-extra-section summary::before {
  content: none;
}
.contact-editor .contact-extra-section summary::after {
  content: '›';
  margin-left: auto;
  font-size: var(--size-19);
  transition: transform .16s ease;
}
.contact-editor .contact-extra-section[open] summary {
  border-bottom: 1px solid var(--line);
  border-radius: 8px 8px 0 0;
}
.contact-editor .contact-extra-section[open] summary::after {
  transform: rotate(90deg);
}
.contact-editor .contact-extra-section summary .icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: var(--ink);
}
.contact-editor .contact-extra-section .form-grid {
  padding: 14px 12px 16px;
}
.account-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.account-exit {
  margin: 22px 0;
}
.account-editor form + form {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.account-editor h3 {
  margin-bottom: 14px;
  color: var(--ink-soft);
  font-size: var(--size-14);
}
.account-editor fieldset {
  margin: 18px 0;
  border: 1px solid var(--line);
  padding: 12px;
  border-radius: 8px;
}
.account-editor .account-check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 9px 0;
}
.account-editor .account-check input {
  width: 16px;
  height: 16px;
  min-height: 0;
  accent-color: var(--ink);
}
.account-editor .form-field {
  margin-bottom: 12px;
}
.account-settings-buttons {
  display: flex;
  gap: 8px
}
.user-settings-editor .form-field>span {
  font-size: var(--size-14);
  font-weight: 400;
  color: var(--ink-soft);
  text-transform: uppercase
}
.user-settings-editor .form-field strong {
  font-weight: 700
}
.user-settings-editor .user-info {
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font: 600 10px/1 Inter,sans-serif;
  text-transform: none;
  cursor: help;
  position: relative;
  top: -1px;
  margin-left: 3px
}
.user-callout-body {
  padding: 14px 12px 16px
}
.user-callout-body>.form-grid {
  padding: 0!important;
  margin: 10px 0
}
.user-callout-body .button {
  margin-top: 10px
}
.user-settings-editor [hidden] {
  display: none!important
}
.user-avatar-settings {
  display: grid;
  grid-template-columns: 64px minmax(120px,1fr) auto;
  gap: 20px;
  align-items: center
}
.user-avatar-settings .avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 66px;
  font-size: var(--size-23)!important;
  clip-path: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)
}
.user-notifications th:not(:first-child) {
  text-align: center
}
.user-notifications td:not(:first-child) {
  text-align: center
}
.user-settings-editor input[type=checkbox] {
  accent-color: var(--ink);
  width: 16px;
  height: 16px
}
.user-quiet-days {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin: 10px 0 18px
}
.user-quiet-days label {
  position: relative;
  cursor: pointer
}
.user-quiet-days input {
  position: absolute;
  opacity: 0
}
.user-quiet-days span {
  display: block;
  padding: 6px 10px;
  border-radius: 20px;
  background: var(--verde-chiaro);
  color: var(--ink);
  font-size: var(--size-14)
}
.user-quiet-days input:checked+span {
  background: var(--rosso-chiaro);
  color: var(--rosso-scuro)
}
.user-quiet-days input:focus-visible+span {
  outline: 2px solid var(--ink);
  outline-offset: 2px
}
@media(max-width:600px) {
  .user-avatar-settings {
    grid-template-columns: 60px 1fr
  }
  .user-avatar-settings>div:last-child {
    grid-column: 1/-1
  }
  .user-notifications th {
    padding: 8px 5px
  }
  .user-notifications td {
    padding: 8px 5px
  }
  .account-settings-buttons {
    flex-wrap: wrap
  }
}
.user-settings-editor .color-custom input[type=color] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  opacity: 0;
  cursor: pointer
}
.user-settings-editor .color-custom>span {
}
.user-preference-row {
  display: grid;
  grid-template-columns: 175px minmax(0,1fr);
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid var(--line)
}
.user-settings-editor .user-preference-label {
  font-size: var(--size-14);
  font-weight: 400;
  color: var(--ink-soft);
  text-transform: uppercase
}
.user-choice-group {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap
}
.user-choice {
  position: relative;
  display: inline-flex;
  cursor: pointer
}
.user-choice input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%
}
.user-choice span {
  display: block;
  padding: 6px 9px;
  border-radius: 20px;
  background: var(--verde-chiaro);
  color: var(--ink);
  font-size: var(--size-14);
  font-weight: 400;
  white-space: nowrap
}
.user-choice input:checked+span {
  background: var(--ink);
  color: var(--card)
}
.user-silent-days .user-choice input:checked+span {
  background: var(--rosso-chiaro);
  color: var(--rosso-scuro)
}
.user-choice input:focus-visible+span {
  outline: 2px solid var(--ink);
  outline-offset: 2px
}
.user-time-windows {
  grid-template-columns: repeat(2,minmax(0,1fr))
}
.user-time-window {
  grid-template-columns: repeat(2,minmax(0,1fr))
}
.user-time-window input {
  min-width: 0;
  width: 100%
}
.user-timezone {
  min-width: 0
}
.user-timezone select {
  min-width: 0
}
.user-digest-controls {
  grid-template-columns: auto minmax(0,1fr) minmax(0,1fr)
}
.user-digest-controls :is(select,input[type=time]) {
  width: 100%;
  min-width: 0
}
.user-digest-controls :disabled {
  opacity: 1;
  cursor: not-allowed
}
@media(max-width:650px) {
  .user-preference-row {
    grid-template-columns: 1fr;
    gap: 9px
  }
  .user-time-windows {
    gap: 12px
  }
  .user-digest-controls {
    gap: 8px
  }
}
.color-palette .color-custom {
  display: grid;
  place-items: center
}
.color-palette .color-custom>span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  font: 400 20px/1 Inter,sans-serif;
  pointer-events: none
}
.user-settings-editor .color-custom>span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  font: 400 20px/1 Inter,sans-serif;
  pointer-events: none
}
.user-desktop-action {
  display: flex;
  justify-content: flex-end;
  margin: 12px 0
}
.user-time-windows {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap
}
.user-time-window {
  display: flex;
  align-items: center;
  gap: 7px
}
.user-time-window .form-field {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin: 0
}
.user-digest-controls .form-field {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  margin: 0
}
.user-time-window input[type=time] {
  width: 68px;
  min-width: 68px;
  padding: 7px 4px;
  text-align: center;
  appearance: none
}
.user-digest-controls input[type=time] {
  width: 68px;
  min-width: 68px;
  padding: 7px 4px;
  text-align: center;
  appearance: none
}
.user-settings-editor input[type=time]::-webkit-calendar-picker-indicator {
  display: none
}
.user-settings-editor input[type=time]::-webkit-inner-spin-button {
  display: none
}
.user-time-divider {
  color: var(--ink-soft)
}
.user-timezone {
  display: flex;
  align-items: center;
  gap: 10px
}
.user-timezone select {
  width: 190px;
  max-width: 100%
}
.user-timezone output {
  white-space: nowrap
}
.user-digest-controls {
  display: flex;
  align-items: center;
  gap: 12px
}
.user-digest-controls select {
  width: 80px
}
.user-notification-preferences .user-preference-row {
  grid-template-columns: 175px minmax(0,1fr);
  gap: 10px
}
@media(max-width:700px) {
  .user-notification-preferences .user-preference-row {
    grid-template-columns: 1fr
  }
  .user-time-windows {
    flex-wrap: wrap
  }
  .user-timezone {
    flex-wrap: wrap
  }
  .user-digest-controls {
    flex-wrap: wrap
  }
  .user-timezone select {
    width: 180px
  }
}
.user-choice-group:not(.user-silent-days) .user-choice span {
  background: var(--rosso-chiaro);
  color: var(--rosso-scuro)
}
.user-digest-controls .user-choice span {
  background: var(--rosso-chiaro);
  color: var(--rosso-scuro)
}
.user-choice-group:not(.user-silent-days) .user-choice input:checked+span {
  background: var(--verde-chiaro)
}
.user-digest-controls .user-choice input:checked+span {
  background: var(--verde-chiaro)
}
.user-timezone select {
  width: 115px!important;
  flex: 0 0 115px
}
.bees-icon {
  display: block;
  width: 32px;
  height: 29px;
  flex: none
}
.contact-extra-section summary .bees-icon {
  width: 28px;
  height: 26px
}
.sidebar-user-footer {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
  margin-top: auto;
  min-width: 0
}
.sidebar-user-footer .profile {
  min-width: 0;
  flex: 1;
  margin: 0;
  padding-left: 5px;
  padding-right: 4px
}
.notification-trigger {
  position: relative;
  flex: none;
  border: 0;
  background: transparent;
  color: var(--verde-intermedio);
  padding: 6px;
  cursor: pointer
}
.notification-trigger.has-unread {
  color: var(--miele-chiaro)
}
.notification-count {
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 50%;
  min-width: 15px;
  height: 15px;
  display: grid;
  place-items: center;
  background: var(--miele-chiaro);
  color: var(--ink);
  font: 600 10px/1 Inter,sans-serif
}
.notification-popover {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 0;
  right: 0;
  border: 1px solid var(--bordi-chiari);
  border-radius: 8px;
  box-shadow: none;
  overflow: hidden;
  z-index: 40
}
.notification-popover-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid var(--bordi-chiari)
}
.notification-list {
  max-height: min(390px,60dvh);
  overflow-y: auto
}
.notification-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--bordi-chiari);
  background: transparent;
  padding: 12px;
  text-align: left;
  color: inherit;
  cursor: pointer
}
.notification-row>span:last-child {
  display: grid;
  gap: 5px;
  min-width: 0
}
.notification-row strong {
  font-size: var(--size-14)
}
.notification-row span {
  font-size: var(--size-14);
  font-weight: 400
}
.notification-row small {
  font-size: var(--size-14);
  font-weight: 400
}
.notification-row small {
  color: var(--ink-soft)
}
.notification-row.read {
  color: var(--ink-soft)
}
.notification-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--miele-chiaro);
  flex: none;
  margin-top: 6px
}
.notification-row.read .notification-dot {
  background: transparent
}
.notification-open-page {
  width: 100%;
  padding: 12px;
  border: 0;
  background: var(--card);
  color: var(--ink);
  text-align: center;
  cursor: pointer;
  font-weight: 600
}
.universal-scroll-y {
  scrollbar-width: none!important
}
.universal-scroll-x {
  scrollbar-width: none!important
}
.universal-scroll-y::-webkit-scrollbar {
  display: none!important
}
.universal-scroll-x::-webkit-scrollbar {
  display: none!important
}
.universal-scroll-y:not(html) {
  padding-right: 24px!important
}
.universal-scroll-x:not(html) {
  padding-bottom: 24px!important
}
.minimal-scroll.universal-scroll {
  position: fixed;
  z-index: 90;
  bottom: auto;
  margin: 0
}
.minimal-scroll.universal-scroll.vertical {
  bottom: auto;
  margin: 0
}
@media print {
  .universal-scroll {
    display: none!important
  }
}
.management-actions .management-save {
  background: var(--card);
  color: var(--ink)
}
.template-card {
  background: var(--card)
}
.template-card .rubric-category-heading {
  margin-bottom: 0
}
.rubric-tabs-bar>.checkbox-label {
  white-space: nowrap;
  margin-left: auto
}
.personal-dashboard-tools {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 16px
}
.personal-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
  gap: 22px
}
@media(max-width:760px) {
  .personal-dashboard-grid {
    grid-template-columns: 1fr
  }
  .rubric-tabs-bar>.checkbox-label {
    white-space: normal
  }
}
.sidebar {
  color-scheme: light;
  --paper: var(--carta);
  --card: var(--bianco);
  --ink: var(--verde-scuro);
  --ink-soft: var(--verde-intermedio);
  background: var(--verde-scuro);
  color: var(--bianco);
}
.sidebar .notification-trigger {
  color: var(--verde-intermedio)
}
.sidebar .notification-trigger.has-unread {
  color: var(--miele-chiaro)
}
.notification-popover {
  background: var(--bianco);
  color: var(--verde-scuro)
}
.button.primary {
  color: var(--verde-scuro)
}
.button.danger {
}
.pill {
  color: var(--verde-scuro)
}
.tag {
  color: var(--verde-scuro)
}
.rubric-pill {
  color: var(--verde-scuro)
}
.button.danger {
}
.tag.late {
  color: var(--rosso-scuro)
}
.minimal-scroll {
  --line: var(--verde-intermedio);
  color: var(--verde-intermedio)
}
.minimal-scroll.universal-scroll {
  --line: var(--verde-intermedio);
  color: var(--verde-intermedio)
}
.sidebar .brand strong {
  color: var(--bianco)
}
.color-custom {
  background: var(--bianco);
  color: var(--verde-scuro)
}
.user-choice-group:not(.user-silent-days) .user-choice input:checked+span {
  color: var(--verde-scuro)
}
.user-digest-controls .user-choice input:checked+span {
  color: var(--verde-scuro)
}
.color-palette .color-custom {
  background: var(--bianco)
}
.user-settings-editor .color-custom {
  background: var(--bianco)
}
.color-palette .color-custom>span {
  color: var(--verde-scuro)
}
.user-settings-editor .color-custom>span {
  color: var(--verde-scuro)
}
.workspace:hover {
  background: var(--sidebar-hover);
}
.workspace.active {
  background: var(--sidebar-soft-active);
}
.nav :is(button,a[data-route]):hover {
  background: var(--sidebar-hover);
}
.nav .active {
  background: var(--sidebar-soft-active);
}
.nav .active .counter {
  background: var(--sidebar-divider);
}
.profile:hover {
  background: var(--sidebar-soft-surface);
}
.workspace-home:hover {
  background: var(--sidebar-hover);
}
.workspace-home.active {
  background: var(--sidebar-soft-active);
}
.pill.active {
  background: var(--green-overlay);
}
button:disabled {
  color: var(--verde-chiaro);
  cursor: not-allowed
}
input:disabled {
  color: var(--verde-chiaro);
  cursor: not-allowed
}
select:disabled {
  color: var(--verde-chiaro);
  cursor: not-allowed
}
textarea:disabled {
  color: var(--verde-chiaro);
  cursor: not-allowed
}
.sidebar button:disabled {
  color: var(--verde-chiaro);
  cursor: not-allowed
}
.sidebar .workspace.utility:disabled {
  color: var(--verde-chiaro);
  cursor: not-allowed
}
.minimal-scroll button:disabled {
  color: var(--verde-chiaro)
}
.sidebar {
  --cream-soft: var(--verde-chiaro)
}
.sidebar .nav :is(button,a[data-route]):not(.active) {
  color: var(--verde-chiaro)
}
.sidebar .workspace:not(.active) {
  color: var(--verde-chiaro)
}
.sidebar .nav :is(button,a[data-route]).active {
  color: var(--bianco)
}
.sidebar .workspace.active {
  color: var(--bianco)
}
.sidebar .nav .counter {
  color: var(--verde-chiaro);
  background: var(--verde-intermedio);
  box-shadow: none
}
.sidebar .nav .active {
  background: var(--white-overlay)
}
.sidebar .workspace.active {
  background: var(--white-overlay)
}
.sidebar .nav .active .counter {
  color: var(--bianco);
  background: var(--verde-intermedio);
  box-shadow: inset 0 0 0 100px var(--white-overlay)
}
.rubric-tabs-bar .count {
  color: var(--verde-intermedio);
  background: var(--verde-chiaro)
}
.rubric-tabs-bar .tab.active .count {
  color: var(--verde-intermedio);
  background: var(--verde-chiaro)
}
.project-tabs {
  margin-bottom: 28px
}
.project-data-grid {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
  gap: 24px;
  align-items: start
}
.project-data-grid .info-list {
  margin-bottom: 22px
}
.project-data-grid .panel-head h2 {
  font-size: var(--size-17)
}
.project-note-blocks h2 {
  font-size: var(--size-17)
}
.project-deadlines {
  border-top: 3px solid var(--honey)
}
.project-note-blocks {
  margin-top: 32px
}
.project-note {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  margin-bottom: 12px
}
.project-note details {
  flex: 1;
  min-width: 0
}
.project-note summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  list-style: none;
  min-height: 30px
}
.project-note summary::-webkit-details-marker {
  display: none
}
.project-note summary .note-collapse .icon {
  transition: transform .15s
}
.project-note details[open] summary .note-collapse .icon {
  transform: rotate(180deg)
}
.project-note-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.7;
  margin-top: 12px;
  font-size: var(--size-14)
}
.project-note-text a {
  text-decoration: underline
}
/* Project values keep their original text and pill appearance until activated. */
.project-value {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  max-width: 100%;
  margin: -3px -5px;
  padding: 3px 5px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer
}
.project-value:hover { background: var(--paper); }
.project-value:focus-visible { outline: 2px solid var(--verde-intermedio); outline-offset: 2px; }
[data-project-value] { display: flex; align-items: center; gap: 8px; min-height: 24px; }
[data-project-value=clientId] .project-value,
[data-project-value=municipalityId] .project-value { font-weight: 600; }
.project-value-input { width: 100%; min-width: 0; min-height: 30px; padding: 3px 6px; margin: -4px -7px; font: inherit; }
.project-value-input[aria-invalid=true] { border-color: var(--danger, #a93636); }
.project-value { text-decoration: none; touch-action: manipulation; }
.project-value:is(span) { cursor: default; }
.project-value:is(span):hover { background: transparent; }
.inline-edit-help { margin: 0 0 18px; line-height: 1.5; }
.project-inline-status {
  margin-top: 16px;
  min-height: 18px;
  font-size: var(--size-12);
  color: var(--muted);
  line-height: 1.5
}
.project-inline-status.has-error {
  color: var(--danger, #a93636)
}
.project-save-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 6px
}
.project-note-placeholder {
  width: 100%;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 22px;
  color: var(--verde-scuro, #024442);
  background: var(--verde-chiaro, #D6E8DC);
  border: 1px dashed var(--verde-intermedio, #669999);
  text-align: left;
  cursor: pointer
}
.project-note-placeholder:hover {
  border-style: solid
}
.project-note-placeholder:focus-visible {
  outline: 2px solid var(--verde-scuro, #024442);
  outline-offset: 3px
}
.project-note-editor {
  overflow: visible
}
.project-note-editor.is-new {
  background: var(--verde-chiaro, #D6E8DC)
}
.project-note-editor [data-note-field] {
  display: block;
  width: 100%;
  background: transparent;
  border-color: transparent;
  padding: 8px 10px;
  color: var(--ink)
}
.project-note-editor [data-note-field=title] {
  font-weight: 650;
  font-size: var(--size-16);
  min-height: 30px;
  padding: 2px 5px;
  margin: -1px -6px
}
.project-note-editor [data-note-field=text] {
  min-height: 0;
  resize: none;
  font-size: var(--size-14);
  line-height: 1.7
}
.project-note-editor [data-note-field]:hover {
  border-color: var(--verde-chiaro, #D6E8DC)
}
.project-note-editor [data-note-field]:focus {
  background: var(--bianco, #fff)
}
.project-note-body {
  position: relative;
  margin-top: 12px
}
.project-note-editor-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px
}
@media(max-width:650px) {
  .project-value-input,
  .project-note-editor [data-note-field=text] {
    font-size: 16px
  }
  .project-note-placeholder {
    min-height: 92px;
    padding: 18px
  }
}
.project-note.is-done summary strong {
  text-decoration: line-through;
  color: var(--muted)
}
.note-check {
  flex: 0 0 21px;
  width: 21px;
  height: 21px;
  border: 1.5px solid var(--verde-intermedio);
  border-radius: 5px;
  background: transparent;
  margin-top: 5px;
  display: grid;
  place-items: center;
  cursor: pointer;
  color: var(--bianco)
}
.note-check[aria-pressed=true] {
  background: var(--verde-scuro);
  border-color: var(--verde-scuro)
}
.note-check .icon {
  width: 16px;
  height: 16px
}
.project-procedures {
  display: grid;
  gap: 28px
}
.procedure-task-list {
  border: 0;
  border-radius: 0;
  box-shadow: none
}
.procedure-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap
}
.procedure-events {
  padding: 14px 22px;
  border-top: 1px solid var(--line)
}
.procedure-events>summary {
  cursor: pointer;
  font-size: var(--size-13);
  color: var(--muted)
}
.procedure-events .phase-table {
  margin-top: 14px
}
.project-tabs .rubric-filter-popover {
  z-index: 15;
  min-width: 265px
}
.wf-panel {
  padding: 22px
}
.wf-panel>.panel-head {
  padding: 0 0 16px
}
.wf-panel>p {
  font-size: var(--size-13)
}
.wf-categories {
  display: grid;
  gap: 22px
}
.wf-phases {
  display: grid;
  gap: 14px;
  margin-top: 22px
}
.wf-phase {
  display: grid;
  grid-template-columns: 24px minmax(180px,1fr) 170px minmax(100px,.6fr) 36px;
  gap: 16px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line)
}
.wf-phase input:not([type=color]) {
  width: 100%;
  font: inherit;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--card);
  color: inherit
}
.wf-category-head input {
  width: 100%;
  font: inherit;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--card);
  color: inherit
}
.wf-type-fields input:not([type=color]) {
  width: 100%;
  font: inherit;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--card);
  color: inherit
}
.wf-code {
  display: block;
  font-size: var(--size-10);
  color: var(--muted);
  margin-top: 5px;
  letter-spacing: .025em
}
.wf-category-head {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between
}
.wf-category-head>div {
  min-width: 0;
  flex: 1;
  max-width: 550px
}
.wf-icons {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin: 20px 0
}
.wf-icons .active {
  background: var(--miele-chiaro);
  color: var(--verde-scuro);
  box-shadow: inset 0 0 0 1px var(--miele-chiaro)
}
.wf-types {
  display: grid;
  gap: 12px
}
.wf-type {
  border: 1px solid var(--line);
  border-radius: 9px
}
.wf-template {
  border: 1px solid var(--line);
  border-radius: 9px
}
.wf-type>summary {
  display: flex;
  align-items: center;
  gap: 12px;
  list-style: none;
  cursor: pointer;
  padding: 14px 16px
}
.wf-template>summary {
  display: flex;
  align-items: center;
  gap: 12px;
  list-style: none;
  cursor: pointer;
  padding: 14px 16px
}
.wf-type>summary::-webkit-details-marker {
  display: none
}
.wf-template>summary::-webkit-details-marker {
  display: none
}
.wf-type>summary>.icon {
  margin-left: auto;
  flex-shrink: 0
}
.wf-template>summary>.icon {
  margin-left: auto;
  flex-shrink: 0
}
.wf-type-body {
  padding: 0 16px 16px
}
.wf-template-body {
  padding: 0 16px 16px
}
.wf-type-fields {
  display: grid;
  grid-template-columns: minmax(160px,1fr) 170px 36px;
  align-items: center;
  gap: 18px;
  margin: 8px 0 20px
}
.wf-template {
  margin-top: 12px
}
.wf-template-task {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line)
}
.wf-template-task small {
  display: block;
  margin-top: 5px;
  font-weight: 400;
  color: var(--muted)
}
.wf-template-task .text-button {
  text-align: left
}
.wf-panel .rubric-add-type {
  margin-top: 17px
}
.wf-phase .space-grip {
  touch-action: none
}
.wf-phase .color-palette {
  max-width: 170px
}
.wf-type .color-palette {
  max-width: 170px
}
.project-procedures .procedure-title {
  min-width: 0;
  overflow-wrap: anywhere
}
@media(max-width:1000px) {
  .wf-phase {
    grid-template-columns: 24px minmax(120px,1fr) 150px 36px
  }
  .wf-phase [data-wf-preview] {
    display: none
  }
  .project-data-grid {
    grid-template-columns: 1fr
  }
  .wf-type-fields {
    grid-template-columns: minmax(140px,1fr) 150px 36px
  }
}
@media(max-width:650px) {
  .wf-panel {
    padding: 15px
  }
  .wf-phase {
    grid-template-columns: 22px minmax(100px,1fr) 32px;
    gap: 10px
  }
  .wf-phase .color-palette {
    grid-column: 2;
    grid-row: 2
  }
  .wf-phase>.danger {
    grid-column: 3;
    grid-row: 1
  }
  .wf-type-fields {
    grid-template-columns: minmax(0,1fr) 32px;
    gap: 12px
  }
  .wf-type-fields .color-palette {
    grid-column: 1;
    grid-row: 2
  }
  .wf-type-fields>.danger {
    grid-column: 2;
    grid-row: 1
  }
  .project-note {
    padding: 14px 12px;
    gap: 10px
  }
  .procedure-footer {
    flex-wrap: wrap;
    gap: 10px
  }
  .procedure>summary {
    gap: 10px
  }
  .procedure-meta {
    font-size: var(--size-11)
  }
  .wf-template>summary {
    flex-wrap: wrap
  }
  .wf-type>summary {
    flex-wrap: wrap
  }
}
body {
  font-family: var(--font-ui);
}
button {
  font-family: var(--font-ui);
}
input {
  font-family: var(--font-ui);
}
select {
  font-family: var(--font-ui);
}
textarea {
  font-family: var(--font-ui);
}
h1 {
  font-family: var(--font-ui);
}
h2 {
  font-family: var(--font-ui);
}
h3 {
  font-family: var(--font-ui);
}
h4 {
  font-family: var(--font-ui);
}
summary {
  font-family: var(--font-ui);
}
table {
  font-family: var(--font-ui);
}
/* 03 · PRESET CONDIVISI — HEADER, SOTTOTITOLI, PULSANTI, RICERCA, SCHEDE
   Usare HexaUI; le dimensioni e i colori provengono dalle variabili iniziali. */
.ui-page-header {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: start;
  gap: var(--ui-header-gap);
  min-height: var(--ui-header-height);
  margin: 0 0 24px;
  padding: 0;
}
.ui-page-heading {
  min-width: 0
}
.ui-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px
}
.ui-page-header .ui-page-title {
  margin: 0;
  padding: 0;
  font-family: var(--font-ui);
  font-size: var(--ui-title-size)!important;
  font-weight: var(--ui-title-weight);
  line-height: 1.2;
  letter-spacing: -.025em;
  color: var(--ink);
  overflow-wrap: anywhere;
}
.ui-page-header .ui-page-subtitle {
  margin: 10px 0 0;
  padding: 0;
  font-size: var(--ui-subtitle-size)!important;
  font-weight: var(--ui-subtitle-weight)!important;
  line-height: 1.5;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.ui-page-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  min-width: 0
}
.ui-page-actions > .button {
  width: var(--ui-action-width);
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--ui-control-height);
  padding: 9px 14px;
  border-radius: var(--ui-radius);
  font-family: var(--font-ui);
  font-size: var(--ui-control-size)!important;
  font-weight: var(--ui-label-weight);
  line-height: 1.4;
  letter-spacing: normal;
  text-transform: none;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--ink);
}
.button:is(.primary,.contact-update) {
  background: var(--honey);
  border-color: var(--honey);
  color: var(--verde-scuro)
}
.button:is(.primary,.contact-update):hover {
  background: var(--honey);
  border-color: var(--ink-soft)
}
.button.subtle {
  background: transparent;
  border-color: transparent
}
.button.subtle:hover {
  background: var(--card);
  border-color: var(--line)
}
.button.danger {
  color: var(--late)
}
.button.contact-delete {
  color: var(--late)
}
.button:disabled {
  opacity: .55;
  cursor: not-allowed
}
.button svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0
}
.icon-button {
  width: var(--ui-icon-size);
  height: var(--ui-icon-size);
  border-radius: var(--ui-radius);
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}
.icon-btn {
  width: var(--ui-icon-size);
  height: var(--ui-icon-size);
  border-radius: var(--ui-radius);
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}
.ui-page-search {
  width: var(--ui-action-width);
  max-width: min(340px,calc(100vw - 32px));
  height: var(--ui-control-height);
  min-height: var(--ui-control-height);
  margin: 0;
  padding: 0 12px;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: var(--ui-radius);
  background: var(--card);
  transition: width .18s ease;
}
.ui-page-search:focus-within {
  width: 340px;
  outline: 1px solid var(--ink-soft)
}
.ui-page-search input {
  font-family: var(--font-ui);
  font-size: var(--ui-control-size)!important;
  font-weight: 400;
  line-height: 1.4;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  min-width: 0;
  width: 100%
}
.ui-page-search input:focus {
  outline: 0
}
.ui-page-search svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px
}
.tabs .tab {
  font-family: var(--font-ui);
  font-size: var(--ui-control-size)!important;
  font-weight: var(--ui-label-weight);
  letter-spacing: normal;
  line-height: 1.4
}
.workspace-summary-label {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0
}
.workspace-symbol {
  width: 23px;
  height: 26px;
  flex: 0 0 23px;
  fill: none;
  stroke: var(--honey);
  stroke-width: 1.6;
  stroke-linejoin: round
}
.workspace-summary .workspace-symbol {
  color: var(--honey)
}
@media(max-width:760px) {
  :root {
    --ui-title-size: 30px
  }
  .ui-page-header {
    grid-template-columns: minmax(0,1fr);
    min-height: 0;
    gap: 20px;
    margin-bottom: 24px
  }
  .ui-page-actions {
    justify-self: end;
    max-width: 100%;
    width: var(--ui-action-width)
  }
  .ui-title-row {
    gap: 12px
  }
}
@media(prefers-reduced-motion:reduce) {
  .ui-page-search {
    transition: none
  }
}
.ui-page-header--project {
  --ui-subtitle-size: var(--ui-project-subtitle-size);
}
.ui-add-icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
}
.rubric-add-type {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* 04 · GESTIONALE — categorie e tipologie condivise Rubriche / Pratiche */
.settings-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start;margin-top:24px}
.settings-category{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-width:0}
.settings-category-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.settings-category-head>input{width:100%;min-width:0;border:0;background:transparent;padding:4px 0;font-family:var(--font-ui);font-weight:700;color:var(--ink)}
.settings-category-head>input:focus{outline:1px solid var(--ink-soft);outline-offset:4px;border-radius:4px}
.settings-types{display:flex;flex-direction:column;gap:10px}
.settings-category .settings-type-row{display:flex;align-items:center;gap:8px;min-width:0;min-height:34px}
.settings-type-row .settings-pill{font-family:var(--font-ui);font-size:var(--ui-control-size);font-weight:500;border:0;border-radius:20px;padding:7px 13px;max-width:calc(100% - 76px);min-width:0;line-height:1.4;box-sizing:border-box;cursor:text}
.settings-pill:hover{box-shadow:0 0 0 1px var(--ink-soft)}
.settings-pill:focus{outline:2px solid var(--ink-soft);outline-offset:1px}
.settings-delete,.settings-category-head>.icon-button,.settings-type-row>.icon-button{width:30px;height:30px;min-width:30px;flex:0 0 30px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:8px;padding:5px;cursor:pointer;color:var(--ink-soft)}
.settings-delete:hover,.settings-category-head>.icon-button:hover,.settings-type-row>.icon-button:hover{color:var(--late);background:var(--rosso-chiaro)}
.settings-delete svg{width:16px;height:16px}
.settings-category>.rubric-add-type{display:inline-flex;align-items:center;gap:8px;padding:8px 0;margin-top:14px;border:0;background:transparent;color:var(--ink-soft);font-weight:500;cursor:pointer}
.settings-types:empty+.rubric-add-type{margin-top:0}
.settings-picker{margin-left:auto;position:relative;flex:0 0 30px}
.settings-picker>summary,.settings-symbol>summary{width:30px;height:30px;display:grid;place-items:center;list-style:none;cursor:pointer;border:1px solid transparent;border-radius:8px;padding:4px}
.settings-picker>summary::-webkit-details-marker,.settings-symbol>summary::-webkit-details-marker{display:none}
.settings-picker>summary:hover,.settings-picker[open]>summary{border-color:var(--ink-soft)}
.settings-color-chip{width:20px;height:20px;border-radius:6px;border:1px solid var(--line)}
.settings-picker-panel,.settings-symbol-panel{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:188px;box-sizing:border-box;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px var(--green-overlay)}
.settings-picker-panel .color-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:none}
.settings-picker-panel .color-swatch{width:100%;height:36px;border-radius:6px;border:2px solid transparent}
.settings-picker-panel .color-swatch[aria-pressed=true]{border-color:var(--ink)}
.settings-picker-panel .color-custom{grid-column:1/-1;position:relative;width:100%;height:36px;margin-top:4px;border:1px solid var(--line);border-radius:6px;background:var(--card);display:grid;place-items:center;overflow:hidden;color:var(--ink);font-size:var(--ui-control-size)}
.settings-picker-panel .color-custom input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.settings-symbol{position:relative;flex:0 0 36px}
.settings-symbol>summary{width:36px;height:36px;border-color:var(--line);border-radius:8px}
.settings-symbol-panel{left:0;right:auto;width:222px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:10px}
.settings-symbol-panel .icon-button{width:34px;height:34px}
.settings-symbol-panel .icon-button.active{background:var(--honey);border-color:var(--ink)}
.settings-category .settings-templates{border:0;border-radius:0;background:transparent;margin:2px 0 0}
.settings-templates>summary{padding:6px 0;gap:8px;color:var(--ink-soft);font-size:var(--ui-control-size);justify-content:flex-start}
.settings-templates>.wf-type-body{padding:12px 0 6px;border-top:1px solid var(--line)}
.settings-practice-type{min-width:0}.settings-practice-type+.settings-practice-type{margin-top:4px}
.settings-category .wf-template-body{padding:12px;min-width:0}.settings-category .wf-template summary{flex-wrap:wrap}
@media(max-width:1050px){.settings-categories{gap:16px}.settings-category{padding:16px}}
@media(max-width:760px){.settings-categories{grid-template-columns:1fr}}

@supports(field-sizing:content){.settings-type-row .settings-pill{field-sizing:content;width:auto!important}}
.settings-picker-panel .color-custom>span{font-size:var(--ui-control-size);font-weight:500;line-height:1.4}
.settings-picker-panel .color-swatch[aria-pressed=true]{outline:0;box-shadow:none}
/* Riordino condiviso: categorie, fasi, sottofasi, tipologie e template. */
.settings-grip{display:grid;place-items:center;width:22px;min-width:22px;height:30px;padding:0;border:0;background:transparent;color:var(--ink-soft);cursor:grab;touch-action:none;flex:0 0 22px}
.settings-grip:active{cursor:grabbing}.settings-grip:focus-visible{outline:2px solid var(--ink-soft);border-radius:4px}
.settings-grip svg{width:16px;height:20px;fill:currentColor;stroke:none}
.settings-name-code{flex:1;min-width:0}.settings-name-code input{width:100%;border:0;padding:4px 0;background:transparent;font-weight:700;color:var(--ink)}
.settings-subphase>.wf-code{margin:3px 0 3px 30px;font-size:var(--size-11)}
.settings-type-row:has(.settings-grip) .settings-pill{max-width:calc(100% - 106px)}
.settings-category .wf-template-task{display:flex;gap:8px}.wf-template-task>.text-button{flex:1;min-width:0}
/* Anteprima del riordino; i dati cambiano solo al rilascio. */
.settings-drag-ghost{position:fixed!important;left:-10000px!important;top:0!important;z-index:1000;box-sizing:border-box;pointer-events:none;opacity:.82;background:var(--card);border:1px solid var(--ink-soft);border-radius:var(--radius-sm);box-shadow:0 10px 30px var(--green-overlay);overflow:hidden}
.settings-drag-source{opacity:.28;outline:2px dashed var(--ink-soft);outline-offset:2px;border-radius:var(--radius-sm)}
.settings-dragging,.settings-dragging .settings-grip{cursor:grabbing!important}
.settings-dragging [data-sort-row]{user-select:none}
.settings-drag-ghost .settings-type-row,.settings-type-row.settings-drag-ghost,.wf-template-task.settings-drag-ghost{display:flex;align-items:center;gap:8px;min-width:0;min-height:34px}

/* Shared links, read-only previews and note mentions. */
a[data-route]{color:inherit;text-decoration:none;cursor:pointer}
a[data-route]:focus-visible{outline:2px solid var(--accent,#024442);outline-offset:3px}
a.text-button[data-route],a.plain-text[data-route]{color:var(--accent,#024442)}
a.nav-button,a.contact-select,a.contact-related-link,a.linked-project{display:flex}
a.project{display:block;text-align:left}
a.tab{display:inline-flex;align-items:center}
a.brand{display:flex}
a.profile{display:flex}
.notification-mount{display:contents}
a.notification-row{display:flex;text-decoration:none;color:inherit}
/* 05 · SCHEDE IN SOVRAIMPRESSIONE — header, geometria e scorrimento condivisi.
   HexaUI.dialogHeader compone il markup; HexaDialogs gestisce apertura/chiusura.
   L'area oscurata esclude la sidebar. Scorre solo il corpo, con scrollbars.js. */
body:has(#app > .sidebar) { --ui-dialog-left: var(--ui-sidebar-width); }
.ui-dialog-open, .ui-dialog-open body { overflow: hidden; }
.ui-dialog-open .sidebar { z-index: 60; }
.ui-dialog-layer {
  position: fixed;
  inset: 0 0 0 var(--ui-dialog-left, 0px);
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--ui-dialog-gap);
  background: var(--backdrop);
  overscroll-behavior: contain;
}
.ui-dialog-layer[hidden] { display: none; }
dialog.ui-dialog {
  position: relative;
  inset: auto;
  margin: 0;
  max-width: 100%;
  max-height: 100%;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
}
dialog.ui-dialog[open], .ui-dialog > form {
  display: flex;
  flex-direction: column;
}
.ui-dialog > form {
  width: 100%;
  max-height: inherit;
  min-height: 0;
  overflow: hidden;
}
.ui-dialog .dialog-head, .ui-dialog .dialog-footer { flex: 0 0 auto; }
.ui-dialog .dialog-head { flex-wrap: wrap; }
.ui-dialog .dialog-head > h2 { min-width: 0; overflow-wrap: anywhere; }
.ui-dialog .dialog-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
}
.ui-dialog .ui-dialog-title {
  font-size: var(--ui-dialog-title-size);
  font-weight: var(--ui-label-weight);
  line-height: 1.4;
}
.ui-dialog-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.ui-dialog-exit { background: var(--card); border-color: var(--line); color: var(--ink); }
dialog.record-preview { width: var(--ui-dialog-preview-width); }
.record-preview .dialog-body { user-select: text; }
.record-preview .contact-detail { box-shadow: none; border: 0; }
.record-preview .ui-preview-title { font-size: var(--text-detail); margin: 0 0 16px; overflow-wrap: anywhere; }
@media (max-width: 980px) {
  body:has(#app > .sidebar) { --ui-dialog-left: 0px; }
}
@media (max-width: 600px) {
  :root { --ui-dialog-gap: 12px; }
}
.mention-tag{display:inline;color:#024442;background:#e4efea;border-radius:4px;padding:1px 3px;font-weight:600}
.form-field:has(textarea){position:relative}
.mention-options{position:absolute;top:100%;left:0;right:0;z-index:10;max-height:220px;overflow:auto;background:#fff;border:1px solid var(--line,#d9e4e1);box-shadow:0 8px 24px #163b3522;border-radius:10px;padding:6px}
.mention-options button{display:block;width:100%;border:0;text-align:left;border-radius:6px;padding:9px 12px;background:#fff;color:#203d3b;font:inherit;cursor:pointer}
.mention-options button[aria-selected=true],.mention-options button:hover{background:#e4efea}

/* 06 · NAVIGAZIONE COMPATTA E CHAT — un solo preset per studio e progetti. */
body.hexa-sidebar-compact { --ui-sidebar-width: var(--ui-sidebar-rail); }
.sidebar-brand-row { flex:0 0 auto; min-width:0; }
.sidebar-brand-row .brand { position:relative; width:calc(100% + 4px); min-width:0; height:50px; gap:11px; margin-left:-4px; padding:2px 28px 6px 0; }
.sidebar-collapse { border:0; border-radius:6px; background:transparent; color:var(--honey); cursor:pointer; }
.sidebar-collapse:hover { background:var(--sidebar-hover); }
.sidebar-collapse:focus-visible { outline:2px solid var(--honey); outline-offset:2px; }
.sidebar-chevron { position:absolute; right:7px; top:calc(50% - 2px); width:10px; height:19px; fill:var(--honey); stroke:none; transform:translateY(-50%) rotate(180deg); pointer-events:none; }
.sidebar-collapse[aria-expanded="false"] .sidebar-chevron { left:44px; right:auto; transform:translateY(-50%); }
.sidebar .workspace-chat-trigger { display:flex; align-items:center; gap:11px; width:100%; flex:none; margin-top:-12px; padding:8px 10px; border:0; border-radius:9px; background:transparent; color:var(--card); text-align:left; font:500 var(--size-13)/1.4 var(--font-ui); cursor:pointer; }
.workspace-chat-trigger .icon { flex:none; width:18px; height:18px; }
/* Le due larghezze condividono quote e asse delle icone, anche senza etichette. */
.sidebar .nav :is(button,a[data-route]) { height:44px; min-height:44px; padding-left:7px; }
.sidebar .nav-label { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sidebar .workspace-home { height:42px; padding-left:7px; }
.sidebar .workspace-chat-trigger { height:40px; padding-left:7px; }
.sidebar .workspace-summary { height:30px; min-height:30px; padding-left:4.5px; }
.sidebar .workspace-chat-trigger:hover { background:var(--sidebar-hover); }
.sidebar .workspace-chat-trigger[aria-pressed=true] { background:var(--sidebar-soft-active); color:var(--honey); }
.sidebar-user-footer { flex-direction:column; align-items:stretch; gap:2px; }
.sidebar-user-footer .notification-trigger { align-self:flex-start; width:42px; height:42px; margin-left:-5px; padding:5px; }
.sidebar-user-footer .profile { flex:none; height:51px; padding:8px 5px 8px 0; }
.notification-popover { position:fixed; left:12px; bottom:100px; right:auto; width: min(330px,calc(100vw - 24px)); z-index:80; }
.is-sidebar-compact .sidebar { padding:26px 6px; gap:20px; overflow:visible; }
.is-sidebar-compact .sidebar-brand-row { width:calc(100% + 6px); }
.is-sidebar-compact .sidebar-brand-row .brand { width:100%; margin-left:0; padding:2px 0 6px 6px; gap:0; }
.is-sidebar-compact .sidebar .brand-copy,
.is-sidebar-compact .sidebar .nav-label,
.is-sidebar-compact .sidebar .nav .counter,
.is-sidebar-compact .sidebar .workspace-home>span,
.is-sidebar-compact .sidebar .workspace-chat-trigger>span,
.is-sidebar-compact .sidebar .workspace-summary-label>span,
.is-sidebar-compact .sidebar .workspace-summary>.chevron,
.is-sidebar-compact .sidebar .profile>span:last-child { display:none; }
.is-sidebar-compact .sidebar .sidebar-main { width:100%; }
.is-sidebar-compact .sidebar .nav :is(button,a[data-route]),
.is-sidebar-compact .sidebar .workspace-home,
.is-sidebar-compact .sidebar .workspace-chat-trigger { width:44px; padding:10px 13px; margin-left:auto; margin-right:auto; justify-content:center; }
.is-sidebar-compact .sidebar .workspace-summary { padding:0; min-height:30px; justify-content:center; }
.is-sidebar-compact .sidebar .workspace-summary-label { gap:0; }
.is-sidebar-compact .sidebar .profile { width:52px; padding:8px 10px; align-self:center; }
.is-sidebar-compact .sidebar-user-footer .notification-trigger { align-self:center; margin-left:0; }
/* Il menu degli spazi è sempre fuori dal flusso e sopra la chat. */
.sidebar:has(#workspace-list:not([hidden])) { overflow:visible; z-index:80; }
.workspaces-toggle .workspaces { position:fixed; top:var(--ui-workspace-menu-top,96px); left:min(calc(var(--ui-sidebar-width) + 8px),calc(100vw - var(--ui-workspace-menu-width) - 8px)); width:var(--ui-workspace-menu-width); max-height:calc(100dvh - var(--ui-workspace-menu-top,96px) - 12px); margin:0; padding:12px 24px 12px 12px; background:var(--ink); border:1px solid var(--sidebar-divider); border-radius:var(--radius-sm); box-shadow:0 8px 24px var(--green-overlay); z-index:80; }
.has-workspace-chat { grid-template-columns:calc(var(--ui-sidebar-rail) + var(--ui-chat-width)) minmax(0,1fr); }
#workspace-chat { position:fixed; inset:0 auto 0 var(--ui-sidebar-rail); width:var(--ui-chat-width); height:100dvh; min-width:0; z-index:31; background:var(--card); }
#workspace-chat[hidden] { display:none; }
body.hexa-workspace-chat { --ui-dialog-left:calc(var(--ui-sidebar-rail) + var(--ui-chat-width)); }
body.hexa-workspace-chat:has(#app>.sidebar) { --ui-dialog-left:calc(var(--ui-sidebar-rail) + var(--ui-chat-width)); }
.ui-dialog-open #workspace-chat { z-index:60; }
.chat-panel { min-width:0; min-height:0; display:flex; flex-direction:column; height:100%; border:1px solid var(--line); border-radius:var(--radius); background:var(--card); color:var(--ink); overflow:hidden; }
.chat-panel--dock { border-radius:0; border-width:0 1px 0 0; }
.chat-header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; flex:none; padding:18px 14px; background:var(--paper); border-bottom:1px solid var(--line); }
.chat-header>div { min-width:0; }
.chat-header h2 { margin:0; font-size:var(--size-15); font-weight:var(--ui-label-weight); line-height:1.4; }
.chat-header p { margin:5px 0 0; color:var(--ink-soft); font-size:var(--size-11-5); overflow-wrap:anywhere; }
.chat-header .chat-exit { min-height:30px; height:30px; padding:4px 8px; font-size:var(--size-11-5); flex:none; background:var(--card); }
.chat-status { padding:10px 14px; font-size:var(--size-12-5); color:var(--late); background:var(--rosso-chiaro); flex:none; }
.chat-status[hidden] { display:none; }
.chat-history { flex:1 1 auto; min-height:0; overflow:auto; overscroll-behavior:contain; padding:18px 24px 22px 14px; }
.chat-older { display:block; margin:0 auto 22px; font-size:var(--size-12-5); }
.chat-messages { display:flex; flex-direction:column; gap:22px; }
.chat-empty { margin:0; padding:12px 0; font-size:var(--size-13); color:var(--ink-soft); line-height:1.6; }
.chat-message { min-width:0; font-size:var(--size-13); }
.chat-message header { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:8px; row-gap:2px; margin-bottom:5px; }
.chat-message header strong { font-weight:600; overflow-wrap:anywhere; }
.chat-message time { color:var(--ink-soft); font-size:var(--size-11); white-space:nowrap; }
.chat-message-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; user-select:text; }
.chat-record-link { display:inline; color:var(--ink); background:var(--verde-chiaro); border-radius:4px; padding:1px 3px; text-decoration:underline!important; text-underline-offset:2px; box-decoration-break:clone; }
.chat-compose { flex:none; margin:0 10px 12px; padding:10px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--card); }
.chat-input-wrap { position:relative; }
.chat-compose textarea { width:100%; display:block; min-height:68px; max-height:180px; resize:vertical; border:0; border-radius:3px; padding:2px; background:transparent; color:var(--ink); font:400 var(--size-13)/1.5 var(--font-ui); }
.chat-compose textarea::placeholder { color:var(--ink-soft); opacity:1; }
.chat-compose-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:10px; }
.chat-compose-actions>span { color:var(--ink-soft); font-size:var(--size-11); }
.chat-compose-actions .button { padding:5px 10px; height:32px; min-height:32px; margin-left:auto; font-size:var(--size-12-5); }
.chat-suggestions { position:absolute; bottom:calc(100% + 12px); left:-1px; right:-1px; max-height:260px; overflow:auto; z-index:6; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--card); box-shadow:0 6px 24px var(--green-overlay); padding:5px; }
.chat-suggestions[hidden] { display:none; }
.chat-suggestions button { display:block; width:100%; text-align:left; background:var(--card); border:0; border-radius:6px; padding:9px; color:var(--ink); cursor:pointer; font:400 var(--size-13)/1.4 var(--font-ui); overflow-wrap:anywhere; }
.chat-suggestions button strong { display:block; font-weight:500; }
.chat-suggestions button small { display:block; margin-top:3px; font-size:var(--size-11); color:var(--ink-soft); }
.chat-suggestions button[aria-selected=true],.chat-suggestions button:hover { background:var(--verde-chiaro); }
.chat-suggestions p { font-size:var(--size-12-5); margin:8px; }
.chat-drop-target .chat-compose { outline:2px dashed var(--ink-soft); background:var(--verde-chiaro); outline-offset:2px; }
.project-chat-mount { height:clamp(420px,calc(100dvh - 330px),860px); min-width:0; }
.project-chat-mount .chat-header { padding:18px 22px; }
.project-chat-mount .chat-history { padding:22px 28px; }
.project-chat-mount .chat-compose { margin:0 22px 22px; }
@media(max-width:980px) {
  .app.has-workspace-chat { grid-template-columns:var(--ui-sidebar-rail) minmax(0,1fr); }
  .has-workspace-chat>.content { grid-column:2; }
  .has-workspace-chat .sidebar { display:flex; width:var(--ui-sidebar-rail); z-index:50; }
  .has-workspace-chat #workspace-chat { width:calc(100vw - var(--ui-sidebar-rail)); z-index:49; }
  .has-workspace-chat .mobile-shade { display:none; }
  body.hexa-workspace-chat:has(#app>.sidebar) { --ui-dialog-left:var(--ui-sidebar-rail); }
  .notification-popover { max-width:calc(100vw - 24px); }
  .project-chat-mount { height:max(440px,calc(100dvh - 270px)); }
}
@media(max-width:600px) {
  .chat-compose textarea { font-size:16px; }
  .project-chat-mount .chat-history { padding:18px 24px 18px 14px; }
  .project-chat-mount .chat-compose { margin:0 10px 12px; }
  .project-chat-mount .chat-header { padding:16px 14px; }
}
@media(max-height:640px) {
  .is-sidebar-compact .sidebar { padding-top:16px; padding-bottom:16px; gap:12px; }
  .sidebar .nav :is(button,a[data-route]) { height:40px; min-height:40px; }
  .sidebar .sidebar-main { gap:12px; }
  .sidebar .workspace-chat-trigger { margin-top:-6px; }
  .chat-header { padding-top:12px; padding-bottom:12px; }
}
@media print { #workspace-chat,.chat-compose,.chat-older { display:none!important; } }

/* 07 · HEADER BIANCO FISSO — titolo, comandi e schede restano in alto.
   La barra della pagina parte sotto l'header; il corpo scorre al di sotto. */
html { scroll-padding-top:calc(var(--ui-page-top-height,180px) + 16px); }
.ui-page-top {
  position:sticky;
  top:0;
  z-index:20;
  flex:none;
  min-width:0;
  background:var(--ui-page-top-background);
  border-bottom:1px solid var(--line);
}
.ui-page-top-inner {
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:28px var(--ui-page-gutter) 0;
}
.ui-page-top .ui-page-header { margin:0; }
.ui-page-top--plain .ui-page-top-inner { padding-bottom:24px; }
.ui-header-controls { display:flex; align-items:flex-start; justify-content:flex-end; gap:12px; min-width:0; max-width:100%; }
.ui-header-tools { display:flex; flex-direction:column; align-items:flex-end; gap:10px; flex:none; }
.ui-header-tools>.icon-btn { height:var(--ui-control-height); }
.ui-page-navigation { margin-top:14px; }
.ui-page-navigation>.rubric-tabs-bar { align-items:center; min-height:44px; margin:0; }
.ui-page-navigation>.tabs-shell { margin:0; }
.ui-page-navigation .tabs { border-bottom:0; margin-bottom:0; }
.ui-page-navigation .tab { min-height:44px; padding-top:10px; padding-bottom:12px; }
.ui-page-navigation .rubric-filter-button { margin-bottom:0; }
.ui-page-navigation .order-control { margin-bottom:0; }
.ui-page-filters { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:8px 0 12px; }
.ui-page-filters :is(.toolbar,.personal-dashboard-tools) { margin:0; }
.content>.main { padding:24px var(--ui-page-gutter) 60px; }
.main:has(.project-chat-mount) { padding-bottom:24px; }
.project-chat-mount { height:max(360px,calc(100dvh - var(--ui-page-top-height,180px) - 48px)); }
@media(min-width:981px) {
  /* Recupera nei comandi i 18px prima occupati dalla barra della pagina. */
  .ui-header-controls { --ui-action-width:258px; max-width:calc(100% + 18px); margin-right:-18px; }
}
@media(max-width:980px) {
  :root { --ui-page-gutter:20px; }
}
@media(max-width:760px) {
  .ui-page-top-inner { padding-top:20px; }
  .ui-page-top .ui-page-header { gap:14px; }
  .ui-header-controls { justify-self:stretch; }
  .ui-header-controls .ui-page-actions { flex:1; max-width:calc(100% - 48px); }
  .ui-header-controls .ui-page-search { width:100%; max-width:100%; }
  .ui-page-navigation { margin-top:10px; }
}
@media print {
  html { scroll-padding-top:0; }
  .ui-page-top { position:static; border:0; background:transparent; }
  .ui-page-top-inner { padding:0; max-width:none; }
  .ui-header-tools,.ui-page-navigation { display:none!important; }
  .content>.main { padding:0; }
}

/* 08 · CHAT RIDIMENSIONABILE E COMANDI DELLA FINESTRA */
.chat-window-controls { display:flex; flex-direction:column; gap:6px; flex:none; align-items:stretch; }
.chat-size-controls { display:flex; gap:6px; }
.chat-size-controls .icon-button { width:28px; height:28px; padding:4px; background:var(--bianco); border:1px solid var(--line); border-radius:6px; }
.chat-size-controls .icon-button[aria-pressed="true"] { background:var(--verde-chiaro); border-color:var(--verde-intermedio); }
.chat-layout-icon { width:20px; height:20px; fill:none; stroke:var(--verde-intermedio); stroke-width:1.5; }
.chat-layout-icon .chat-layout-band { fill:var(--verde-scuro); stroke:none; }
.chat-resize-handle { position:absolute; z-index:32; top:0; bottom:0; right:-4px; width:8px; cursor:col-resize; touch-action:none; }
.chat-resize-handle::after { content:""; position:absolute; width:2px; top:0; bottom:0; left:3px; background:transparent; }
.chat-resize-handle:is(:hover,:focus-visible)::after,.hexa-chat-resizing .chat-resize-handle::after { background:var(--verde-intermedio); }
.chat-resize-handle:focus-visible { outline:1px solid var(--verde-intermedio); outline-offset:1px; }
.hexa-chat-resizing,.hexa-chat-resizing * { cursor:col-resize!important; user-select:none!important; }
.app.is-chat-full { grid-template-columns:var(--ui-sidebar-rail) minmax(0,1fr); }
.is-chat-full>.content { display:none; }
.is-chat-full #workspace-chat { width:calc(100vw - var(--ui-sidebar-rail)); }
.is-chat-full .chat-resize-handle { display:none; }
@media(max-width:980px) { .chat-resize-handle { display:none; } }
@media print { .chat-resize-handle { display:none!important; } }

/* 09 · UTENTE — NOTIFICHE ACCANTO AL NOME O SOPRA L'ESAGONO */
.sidebar-user-footer { flex-direction:row; align-items:center; gap:4px; }
.sidebar-user-footer .profile { flex:1; min-width:0; }
.sidebar-user-footer .profile>span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-user-footer .notification-mount { display:flex; align-items:center; justify-content:center; order:2; flex:none; }
.sidebar-user-footer .notification-trigger { margin:0; }
.is-sidebar-compact .sidebar-user-footer { flex-direction:column; align-items:stretch; gap:2px; }
.is-sidebar-compact .sidebar-user-footer .profile { flex:none; }
.is-sidebar-compact .sidebar-user-footer .notification-mount { order:0; }
.is-sidebar-compact .sidebar-user-footer .notification-trigger { margin-left:0; }
body.hexa-chat-full:has(#app>.sidebar) { --ui-dialog-left:var(--ui-sidebar-rail); }
.ui-dialog-open .is-chat-full #workspace-chat { z-index:31; }
.contact-detail.contact-drop-target { outline:2px solid var(--verde-intermedio); outline-offset:3px; background:var(--verde-chiaro); }

/* Note personali: gli stessi colori e controlli delle altre schede. */
.personal-notes-description { margin:0 0 18px; }
.personal-notes-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:20px; }
.personal-note-card { padding:22px; min-width:0; }
.personal-note-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.personal-note-heading h2 { margin:0; overflow-wrap:anywhere; }
.personal-note-heading .button { flex:none; }
.personal-note-preview { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; }
.personal-note-card>.small { margin-bottom:0; }
.personal-notes-empty { padding:24px; }
.personal-notes-more { margin-top:20px; }
.personal-note-editor .dialog-body { display:flex; flex-direction:column; gap:18px; }
.personal-note-editor textarea { min-height:240px; resize:vertical; }
.personal-note-editor .form-field { width:100%; }

/* Gestionale · identità condivisa dello spazio di lavoro */
.workspace-settings-panel { padding:28px; }
.workspace-settings-layout { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:32px; align-items:start; }
.workspace-settings-fields { min-width:0; }
.workspace-settings-fields h2 { margin:0 0 24px; }
.workspace-settings-fields>label { display:block; margin-bottom:8px; font-weight:600; }
.workspace-settings-fields>input { width:100%; }
.workspace-icon-fieldset { min-width:0; border:0; padding:0; margin:28px 0 0; }
.workspace-icon-fieldset legend { padding:0; margin-bottom:12px; font-weight:600; }
.workspace-icon-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.workspace-icon-option { position:relative; min-width:0; cursor:pointer; }
.workspace-icon-option>input { position:absolute; width:1px; height:1px; margin:0; opacity:0; }
.workspace-icon-option>span { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:84px; padding:12px 4px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--bianco); color:var(--ink); font-size:12px; }
.workspace-icon-option .icon { width:24px; height:24px; flex:none; }
.workspace-icon-option>input:checked+span { border-color:var(--ink); background:var(--verde-chiaro); box-shadow:inset 0 0 0 1px var(--ink); }
.workspace-icon-option:hover>span { border-color:var(--ink-soft); }
.workspace-icon-option>input:focus-visible+span { outline:2px solid var(--ink); outline-offset:3px; }
.workspace-settings-preview { display:flex; flex-direction:column; align-items:center; gap:16px; padding:24px 18px; border-radius:var(--radius-sm); background:var(--paper); text-align:center; }
.workspace-settings-preview h3 { font-size:12px; font-weight:600; margin:0; text-transform:uppercase; letter-spacing:.08em; }
.workspace-logo-preview { display:flex; align-items:center; justify-content:center; width:74px; height:84px; clip-path:var(--hex); background:var(--verde-chiaro); color:var(--ink); }
.workspace-logo-preview .icon { width:32px; height:32px; }
.workspace-settings-preview strong { max-width:100%; overflow-wrap:anywhere; }
.workspace-settings-preview p { margin:0; line-height:1.5; }
.workspace-settings-panel .form-error { margin:20px 0 0; }
.workspace-settings-panel .form-error:empty { display:none; }
.workspace.space-row .space-name { display:flex; align-items:center; gap:10px; min-width:0; }
.workspace.space-row .workspace-logo { width:20px; height:20px; flex:none; }
.workspace.space-row .space-name>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media(max-width:1150px) {
 .workspace-settings-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
 .workspace-settings-preview { flex-direction:row; flex-wrap:wrap; justify-content:flex-start; text-align:left; }
 .workspace-settings-preview h3 { width:100%; }
 .workspace-settings-preview p { flex-basis:100%; }
 .workspace-logo-preview { width:48px; height:55px; flex:none; }
 .workspace-settings-preview strong { flex:1; min-width:0; }
 .workspace-logo-preview .icon { width:24px; height:24px; }
}
@media(max-width:700px) {
 .workspace-settings-panel { padding:20px; }
 .workspace-icon-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:420px) {
 .workspace-icon-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* V57 · Spazio, utenti e calendario: componenti condivisi. */
.workspace-section{padding:24px;margin-top:20px;min-width:0}
.workspace-section>h2,.workspace-section-head h2{font-size:13px;letter-spacing:.07em;margin:0;color:var(--verde-scuro)}
.workspace-section h3{font-size:12px;margin:16px 0 10px}
.workspace-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.workspace-section .button{min-height:32px;padding:6px 10px;font-size:11px;white-space:nowrap}
.workspace-invitations{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.workspace-invitations>div{min-width:0}
.access-request{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--bordi-chiari);padding:10px 0;overflow-wrap:anywhere}
.access-request small,.users-table small,.group-choices small{display:block;font-size:11px;font-weight:400;color:var(--ink-soft);margin-top:3px}
.users-table-scroll{overflow-x:auto;max-width:100%;margin-top:14px}
.users-table{min-width:790px}
.users-table th{font-size:10px;white-space:nowrap;text-align:center}
.users-table th:first-child,.users-table th:last-child{text-align:left}
.users-table td{padding:10px 8px;vertical-align:middle}
.users-table td:first-child{min-width:170px}
.users-table td strong{font-size:12px}
.permission-cell{text-align:center;width:88px}
.permission-cell input,.group-choices input,.access-permissions input{width:17px;height:17px;min-height:0;accent-color:var(--verde-scuro);padding:0;margin:0;flex:none;cursor:pointer}
.user-actions{display:flex;gap:6px;flex-wrap:wrap}
.user-admin-label{font-size:9px;margin-left:7px;padding:3px 6px;background:var(--verde-chiaro);border-radius:3px}
.user-group-summary{max-width:360px;line-height:1.6}
.user-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.user-group-card{border:1px solid var(--bordi-chiari);border-radius:9px;padding:16px;background:var(--bianco)}
.user-group-head{display:flex;align-items:center;gap:7px}
.user-group-head input{min-width:0;font-weight:700;font-size:13px}
.user-group-members{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.group-choices{display:grid;gap:7px;margin:16px 0;max-height:48vh;overflow:auto}
.group-choices label{display:flex;align-items:center;gap:10px;padding:8px;border-bottom:1px solid var(--bordi-chiari)}
.group-choices [hidden]{display:none}
.access-permissions{display:flex;gap:20px;flex-wrap:wrap;margin:18px 0}
.access-permissions label{display:flex;gap:8px;align-items:center}
.workspace-editor{max-width:660px}
[data-calendar-form] fieldset{border:0;padding:0;margin:0;min-width:0}
.calendar-settings-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.office-week{margin:20px 0;display:grid;gap:8px}
.office-day{display:flex;gap:16px;align-items:center;padding:8px 0;border-bottom:1px solid var(--bordi-chiari);flex-wrap:wrap}
.office-day>strong{width:95px;font-size:12px}
.office-slot{display:flex;align-items:center;gap:7px}
.office-slot[hidden]{display:none}
.office-slot input{width:115px;min-width:0}
.recurring-list{display:grid;gap:14px}
.recurring-card{border:1px solid var(--bordi-chiari);padding:18px;border-radius:8px}
.recurring-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:12px;align-items:end}
.recurring-fields .form-field{min-width:0}
.recurring-fields input,.recurring-fields select{min-width:0;width:100%}
.recurring-fields .button{justify-self:start;align-self:end}
.calendar-holiday,.calendar-recurring{display:block;text-align:left;border-radius:4px;font-size:10px;padding:4px 5px;margin-top:3px;line-height:1.3;overflow:hidden;text-overflow:ellipsis}
.calendar-holiday{color:var(--rosso-scuro);background:var(--rosso-chiaro)}
.calendar-recurring{color:var(--verde-scuro);background:var(--verde-chiaro)}
.calendar-recurring.is-blocked{background:var(--carta)}
.calendar-office-detail{padding:16px 20px;border-bottom:1px solid var(--bordi-chiari);font-size:12px}
.calendar-office-detail p{margin:6px 0}
.calendar-holiday-status{font-size:12px;color:var(--ink-soft);margin:10px 0}
@media(max-width:1050px){.user-groups{grid-template-columns:1fr}.recurring-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.workspace-section{padding:16px}.workspace-invitations,.calendar-settings-fields{grid-template-columns:1fr;gap:16px}.user-group-head{flex-wrap:wrap}.user-group-head input{flex:1 1 100%}.office-day{gap:8px}.office-day>strong{width:100%}.office-slot input{width:108px}.recurring-fields{gap:8px}.access-request{align-items:flex-start;flex-wrap:wrap}.calendar-holiday,.calendar-recurring{font-size:8px;padding:2px;white-space:nowrap}.access-permissions{gap:14px}}

/* V59 · Shared search-first selectors and draggable project notes. */
.hexa-select { display:inline-flex; width:100%; min-width:0; position:relative; vertical-align:middle; }
select.hexa-select-source { position:absolute!important; opacity:0!important; width:1px!important; height:1px!important; min-height:0!important; padding:0!important; margin:0!important; border:0!important; pointer-events:none!important; clip-path:inset(50%); }
.hexa-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-width:0; min-height:38px; padding:8px 11px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--card); color:var(--ink); font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.hexa-select-trigger>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hexa-select-trigger>.icon { flex:none; width:16px; height:16px; }
.hexa-select-trigger:focus-visible { outline:2px solid var(--verde-intermedio); outline-offset:2px; }
.hexa-select-trigger:disabled { opacity:.65; cursor:default; }
.hexa-select-popup { position:fixed; z-index:1200; display:flex; flex-direction:column; overflow:hidden; padding:6px; border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:0 10px 30px var(--green-overlay); background:var(--card); color:var(--ink); }
.hexa-select-search { padding:4px 4px 9px; flex:none; border-bottom:1px solid var(--line); }
.hexa-select-search input { width:100%; min-height:38px; padding:8px 10px; font-size:14px; background:var(--paper); }
.hexa-select-options { overflow:auto; min-height:0; max-height:300px; padding-top:5px; overscroll-behavior:contain; }
.hexa-select-options [role=option] { width:100%; min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 10px; border:0; border-radius:5px; background:transparent; color:inherit; font:inherit; font-size:14px; text-align:left; overflow-wrap:anywhere; cursor:pointer; }
.hexa-select-options [role=option].is-highlighted,
.hexa-select-options [role=option]:hover { background:var(--verde-chiaro); }
.hexa-select-options [role=option]:disabled { opacity:.5; cursor:default; }
.hexa-select-options .pill,.hexa-select-options .rubric-pill { max-width:calc(100% - 22px); white-space:normal; }
.select-check { flex:none; font-weight:700; }
.select-no-results { margin:12px; font-size:14px; color:var(--muted); }
[data-option-search] { width:100%; margin-bottom:10px; min-height:36px; font-size:14px; }
[data-search-option][hidden] { display:none!important; }
.project-data-panel .info-list { margin-bottom:0; }
.project-inline-status:has(>span:empty) { display:none; }
.project-notes-grid { display:flex; flex-direction:column; gap:16px; padding:4px 0 16px; }
.project-note-row { position:relative; display:grid; grid-template-columns:minmax(0,1fr); gap:16px; align-items:start; }
.project-note-row.has-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.project-note-row>.project-note { min-width:0; margin-bottom:0; align-self:start; }
.project-note-row .project-note summary>strong { overflow-wrap:anywhere; min-width:0; }
.project-note-row .project-note .icon-button,
.project-note-row .project-note .note-grip { flex-shrink:0; }
.note-grip { margin-left:-8px; margin-right:-5px; margin-top:1px; touch-action:none; }
.note-layout-help { margin:-4px 0 16px; line-height:1.5; }
.note-drag-source { opacity:.28; }
.note-drag-ghost { opacity:.8; }
.note-drop-preview { position:absolute; pointer-events:none; z-index:5; display:flex; align-items:center; justify-content:center; color:var(--verde-scuro); font-size:12px; font-weight:600; border:2px dashed var(--verde-intermedio); border-radius:var(--radius-sm); background:rgba(214,232,220,.9); box-sizing:border-box; }
.note-drop-preview.at-left,.note-drop-preview.at-right { width:calc((100% - 16px)/2); top:0; bottom:0; min-height:70px; padding:10px; }
.note-drop-preview.at-left { left:0; }
.note-drop-preview.at-right { right:0; }
.note-drop-preview.at-before,.note-drop-preview.at-after { left:0; right:0; height:30px; }
.note-drop-preview.at-before { top:-17px; }
.note-drop-preview.at-after { bottom:-17px; }
@media(max-width:700px) {
 .project-note-row.has-two { grid-template-columns:minmax(0,1fr); }
 .project-value-input,.hexa-select-search input { font-size:16px; }
 .note-layout-help { font-size:11px; }
}
/* Copy controls reserve their space; hovering never moves the text or pills. */
.copyable-value { display:flex; align-items:flex-start; gap:8px; min-width:0; max-width:100%; }
.copyable-content { flex:1; min-width:0; overflow-wrap:anywhere; }
.value-copy { display:inline-flex; align-items:center; justify-content:center; flex:0 0 24px; width:24px; height:24px; margin:0; padding:4px; border:0; border-radius:5px; background:transparent; color:var(--ink-soft); cursor:pointer; opacity:0; pointer-events:none; transition:opacity .12s,background .12s; }
.value-copy .icon { width:16px; height:16px; transform:none; }
.copyable-value:hover>.value-copy,.copyable-value:focus-within>.value-copy,.value-copy:focus-visible,.value-copy.is-copied { opacity:1; pointer-events:auto; }
.value-copy:hover,.value-copy.is-copied { color:var(--verde-scuro); background:var(--verde-chiaro); }
.value-copy:focus-visible { outline:2px solid var(--verde-intermedio); outline-offset:2px; }
.clipboard-buffer { position:fixed; top:0; left:0; width:1px; height:1px; padding:0; border:0; opacity:0; }
[data-project-value]>.copyable-value { width:100%; align-items:center; }
.project-note-title { display:block; flex:1; min-width:0; }
.project-note-title>.copyable-value { align-items:center; }
.project-note-title strong { display:block; min-width:0; overflow-wrap:anywhere; }
[data-note-edit] { touch-action:manipulation; }
[data-note-edit=text] { cursor:text; }
[data-note-edit=text]:focus-visible { outline:none; box-shadow:inset 0 -1px var(--verde-chiaro); }
[data-note-body-slot]>.copyable-value>.value-copy { margin-top:12px; }
.project-note .note-collapse { flex:0 0 26px; width:26px; height:26px; padding:4px; }
.note-delete { opacity:0; pointer-events:none; }
.project-note:hover>.note-delete,.project-note:focus-within>.note-delete { opacity:1; pointer-events:auto; }
@media(hover:none) { .value-copy,.note-delete { opacity:.7; pointer-events:auto; } }
@media(prefers-reduced-motion:reduce) { .value-copy { transition:none; } }

/* One focus border for fields, shared with the graphic reference. No outer ring. */
:is(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset]),textarea,select):is(:focus,:focus-visible) {
  border:1px solid var(--verde-chiaro);
  outline:none;
  outline-offset:0;
  box-shadow:none;
}
:is(.search-field,.ui-page-search,.chat-compose):focus-within {
  border:1px solid var(--verde-chiaro);
  outline:none;
  box-shadow:none;
}
:is(.search-field,.ui-page-search) input:is(:focus,:focus-visible) { border:0; outline:none; box-shadow:none; }
.chat-compose textarea:is(:focus,:focus-visible) { border:0; outline:none; box-shadow:none; }

/* The note body keeps the same typography and spacing while writing. */
.project-note-editor textarea.note-fluid-input,
.project-note-editor textarea.note-fluid-input:is(:hover,:focus,:focus-visible) {
  display:block;
  width:100%;
  min-width:0;
  min-height:0;
  height:1.7em;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  outline:none;
  box-shadow:none;
  background:transparent;
  color:var(--ink);
  font-family:inherit;
  font-size:var(--size-14);
  font-weight:400;
  line-height:1.7;
  overflow:hidden;
  overflow-wrap:anywhere;
  resize:none;
}
.project-note .note-fluid-input::placeholder { color:var(--muted); opacity:1; }
.contact-preview .dialog-head { background:var(--paper); }

/* Leaflet 1.9.4 — BSD-2-Clause; vendor/leaflet-LICENSE.txt */
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(vendor/images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(vendor/images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(vendor/images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}

/* CHECKLIST CONDIVISA — HexaUI.checklistIcon(), stato aria-pressed. */
.ui-checklist,.project-note .note-check {
  display:grid;place-items:center;flex:0 0 26px;width:26px;height:30px;min-height:0;
  padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;
}
.ui-checklist:is(:hover,:active),.project-note .note-check[aria-pressed=true] { border:0;background:transparent; }
.ui-checklist .check-svg { width:22px;height:26px;display:block; }
.ui-checklist .check-hex,.ui-checklist:hover .check-hex { fill:transparent;stroke:var(--miele-chiaro);stroke-width:2;stroke-linejoin:round; }
.ui-checklist .check-fill { fill:var(--miele-chiaro);opacity:0; }
.ui-checklist[aria-pressed=true] .check-hex { fill:var(--bianco);stroke:var(--miele-chiaro); }
.ui-checklist[aria-pressed=true] .check-fill { opacity:1; }
.ui-checklist:disabled { cursor:default; }
.ui-checklist:focus-visible { outline:2px solid var(--verde-intermedio);outline-offset:3px;border-radius:4px; }

/* Note: trascinamento dalla card, colonna comandi, freccia senza cornice. */
.project-note[draggable=true] { cursor:grab; }
.project-note:focus-visible { outline:1px solid var(--verde-intermedio);outline-offset:3px; }
.project-note .note-actions { display:flex;flex-direction:column;align-items:center;gap:12px;flex:0 0 26px; }
.project-note .note-delete { position:static;width:26px;height:26px;min-height:0;margin:0;padding:4px;opacity:1;pointer-events:auto;background:transparent;border:0; }
.project-note .note-delete[hidden] { display:none!important; }
.project-note .note-collapse { border:0;border-radius:0;background:transparent;box-shadow:none;margin-right:-6px; }
.project-note .note-collapse:hover { background:transparent;color:var(--verde-scuro); }
.project-note .note-collapse:focus-visible { outline:1px solid var(--verde-intermedio);outline-offset:1px; }
.project-note .note-collapse .icon { width:18px;height:18px; }
.project-note .project-note-title strong { cursor:grab; }
.project-note .note-fluid-input,.project-note [data-note-field] { cursor:text; }
.project-note-editor-footer { justify-content:flex-end; }
.project-data-grid { align-items:start; }
.project-side-cards { display:flex;flex-direction:column;gap:18px;min-width:0; }
.project-side-cards>.panel { margin:0; }
.project-data-main { display:flex;flex-direction:column;gap:18px;min-width:0; }
.project-data-main>.panel { margin:0; }
.project-data-panel .project-property-pairs { grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;align-items:start; }
.project-property-pairs .info-item { min-width:0; }
.project-property-pairs [data-project-value] { min-width:0; }
.project-property-pairs .project-value,.project-property-pairs .copyable-value,.project-property-pairs .copyable-content { min-width:0;max-width:100%; }
@media(max-width:540px){.project-data-panel .project-property-pairs{grid-template-columns:minmax(0,1fr);gap:18px;}}
.project-location-panel .info-list { margin-bottom:18px; }
.project-mini-map { height:210px;isolation:isolate;z-index:0;border-radius:8px;border:1px solid var(--line);background:var(--verde-chiaro); }
.location-actions { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px; }
.project-location-picker { width:min(840px,calc(100vw - 32px)); }
.project-location-picker .dialog-body { padding:20px; }
.map-search { display:flex;gap:10px;margin-bottom:12px; }
.map-search input { flex:1;min-width:0; }
.map-results { max-height:170px;overflow:auto;margin-bottom:12px; }
.map-results:empty { display:none; }
.map-result { display:block;text-align:left;width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--card);color:var(--ink); }
.map-result:hover { background:var(--verde-chiaro); }
.map-picker-canvas { height:min(360px,44vh);min-height:220px;z-index:0;isolation:isolate;border:1px solid var(--line);border-radius:8px;background:var(--verde-chiaro); }
.map-picker-status { margin:10px 0;min-height:20px; }
.project-location-picker label[for=map-selected-address] { display:block;margin:12px 0 6px; }
#map-selected-address { width:100%; }
.map-picker-actions { display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:18px; }
.hexa-map-pin { background:none;border:0; }
.hexa-map-pin svg { display:block;width:24px;height:28px;fill:none;stroke:var(--miele-chiaro);stroke-width:1.5;stroke-linejoin:round;filter:none; }
.leaflet-container { font:12px/1.4 Arial,sans-serif; }
.leaflet-control-attribution a { color:var(--verde-scuro); }
.map-load-status { position:absolute;z-index:1000;bottom:24px;left:8px;right:8px;padding:6px 8px;border-radius:4px;background:var(--bianco);color:var(--ink);font-size:12px; }
@media(max-width:700px) { .project-mini-map { height:190px; }.map-search { flex-wrap:wrap; }.map-search input { flex-basis:65%; }.map-picker-actions { flex-wrap:wrap; } }

/* V64 · Documentazione. Note condivise con i progetti; annotazioni sui riferimenti. */
.documentation-layout{grid-template-columns:minmax(200px,260px) minmax(0,1fr);gap:24px;align-items:start}
.documentation-list .doc-list-title{display:block;width:100%;min-height:52px;padding:15px 18px;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--bianco);color:var(--ink);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.documentation-list .doc-list-title:hover{background:var(--verde-chiaro)}
.documentation-list .doc-list-title.active{background:var(--miele-chiaro)}
.documentation-detail,.doc-title-row,.doc-title-editor{min-width:0}
.documentation-heading{padding:20px 24px;margin-bottom:24px}
.doc-title-row{display:flex;align-items:start;gap:12px}
.doc-title-row>.icon-button{margin-left:auto;flex-shrink:0}
.doc-title{font-size:20px;font-weight:600;line-height:1.45;margin:0;overflow-wrap:anywhere}
.doc-title[data-doc-title-edit]{cursor:text}
.doc-title-editor{flex:1}
.doc-title-editor input{font-size:20px;font-weight:600;width:100%;border:1px solid var(--verde-chiaro);box-shadow:none;outline:0}
.doc-heading-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;flex-wrap:wrap}
.doc-classification,.doc-classification-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.doc-classification{gap:12px}
.doc-category-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.documentation-dialog{max-width:700px}
.documentation-dialog .ui-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--carta);padding:20px 24px}
.documentation-dialog .ui-dialog-title{margin:0;font-size:18px}
.documentation-dialog .dialog-body{display:grid;gap:14px}
.doc-classification-choice{padding:15px 0;border-bottom:1px solid var(--line)}
.doc-classification-choice>.rubric-check{font-weight:600}
.doc-type-choices{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 0 24px}
.doc-link-filters{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.doc-link-filters label{display:grid;gap:7px}
.doc-link-options{display:grid;max-height:360px;overflow:auto}
.doc-link-option{padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.doc-link-option span{flex:1;overflow-wrap:anywhere}
.doc-link-option small{font-size:10px;white-space:nowrap}
.doc-link-option[hidden]{display:none}
.documentation-project{display:grid;gap:20px;min-width:0}
.document-reference{padding:0;min-width:0;overflow:visible}
.document-reference>summary{display:flex;align-items:center;gap:12px;padding:20px 24px;cursor:pointer;list-style:none}
.document-reference>summary::-webkit-details-marker{display:none}
.document-reference>summary>strong{font-size:15px;font-weight:600;flex:1;overflow-wrap:anywhere}
.document-reference>summary>svg,.doc-reference-chevron{flex-shrink:0}
.doc-reference-chevron{display:flex}
.document-reference[open] .doc-reference-chevron{transform:rotate(180deg)}
.doc-reference-body{padding:0 24px 20px}
.doc-reference-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 0 16px;border-bottom:1px solid var(--line);margin-bottom:20px;flex-wrap:wrap}
.doc-reference-tools>a{white-space:nowrap}
.doc-read-notes{display:grid;gap:16px}
.doc-read-note{background:var(--carta);border-radius:12px;padding:18px 20px;min-width:0;align-self:start}
.doc-read-note h3{font-size:14px;line-height:1.5;margin:0 0 12px;font-weight:600;overflow-wrap:anywhere}
.doc-read-text{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}
.doc-read-text:focus-visible{outline:1px solid var(--verde-chiaro);outline-offset:4px}
.doc-highlight{color:inherit;padding:1px 0;border-radius:3px;cursor:pointer}
.doc-highlight:focus-visible{outline:1px solid var(--verde-intermedio);outline-offset:2px}
.color-honey{background:#F7CC68}.color-green{background:#D6E8DC}.color-blue{background:#D4E4F0}.color-pink{background:#F2DAD5}.color-purple{background:#E3DDF0}
.doc-reference-footer{display:flex;justify-content:flex-end;margin-top:16px}
.doc-orphan-notes{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}
.doc-orphan-notes>summary{font-size:12px;cursor:pointer}
.doc-orphan-quote{display:flex;gap:12px;width:100%;justify-content:space-between;text-align:left;padding:12px 0;border:0;background:none;color:var(--ink)}
.doc-orphan-quote mark{overflow-wrap:anywhere}.doc-orphan-quote span{font-size:11px;flex-shrink:0}
.doc-annotation-toolbar,.doc-comment-bubble{position:fixed;z-index:1500;background:var(--bianco);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #02444224}
.doc-annotation-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:9px;max-width:calc(100vw - 20px)}
.doc-annotation-toolbar [data-doc-error]:not(:empty){flex-basis:100%;max-width:340px;font-size:11px;color:var(--rosso-scuro)}
.doc-color{border:2px solid var(--bianco);border-radius:50%;width:26px;height:26px;min-width:26px;padding:0;cursor:pointer}
.doc-color:hover,.doc-color:focus-visible,.doc-color[aria-pressed=true]{outline:1px solid var(--verde-intermedio);outline-offset:1px}
.doc-annotation-toolbar .text-button{font-size:12px;margin-left:6px}
.doc-comment-bubble{width:360px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow:auto;padding:16px}
.doc-bubble-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:10px}
.doc-comment-bubble blockquote{margin:0 0 12px;padding:9px 12px;border:0;border-radius:5px;font-size:12px;line-height:1.6;max-height:90px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
.doc-bubble-colors{display:flex;gap:8px;margin-bottom:12px}
.doc-comments{max-height:220px;overflow:auto}
.doc-comment{padding:10px 0;border-bottom:1px solid var(--line)}
.doc-comment-meta{display:flex;align-items:center;gap:8px;font-size:11px}
.doc-comment-meta time{font-size:10px;margin-left:auto;color:var(--ink-soft)}
.doc-comment-meta .icon-button{width:24px;height:24px}
.doc-comment-meta .icon-button svg{width:13px;height:13px}
.doc-comment p{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}
.doc-comment-bubble textarea{margin-top:14px;width:100%;min-height:60px;border:1px solid var(--verde-chiaro);outline:0;box-shadow:none;background:var(--bianco);font-size:13px;resize:vertical}
.doc-comment-bubble textarea:focus,.documentation-dialog input:focus,.documentation-dialog select:focus{border-color:var(--verde-chiaro);outline:0;box-shadow:none}
.doc-comment-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.doc-comment-actions .text-button{font-size:10px}.doc-comment-actions .button{font-size:12px;padding:8px 12px}
@media(max-width:1050px){.documentation-detail .project-note-row.has-two{grid-template-columns:minmax(0,1fr)}}
@media(max-width:720px){.documentation-layout{grid-template-columns:minmax(0,1fr)}.documentation-list{max-height:220px!important;overflow:auto}.documentation-heading{padding:18px}.doc-link-filters{grid-template-columns:minmax(0,1fr)}.document-reference>summary{padding:18px}.doc-reference-body{padding:0 18px 18px}.doc-read-note{padding:16px}.doc-title{font-size:18px}}
/* V66 · Card attività e salvataggio fisso nell’header. */
.ui-header-tools{align-items:flex-start;flex:none;gap:8px}
.ui-header-tools-stack{display:flex;flex-direction:column;gap:8px;width:42px;flex:none}
.ui-header-tools-stack>.icon-btn{width:42px;height:42px;min-height:42px;position:relative;display:grid;place-items:center;margin:0}
.global-save-button svg{width:20px;height:20px;fill:none;stroke:currentColor}
.global-save-button[data-save-state=saved]{color:#398155}.global-save-button[data-save-state=pending]{color:#024442}.global-save-button[data-save-state=offline],.global-save-button[data-save-state=error]{color:#a65f00;background:#fff9eb}
.global-save-button .save-warning{position:absolute;width:13px;height:13px;right:2px;bottom:2px;background:#fff9eb;color:#c77700;stroke-width:1.7px}
.save-pending-dot{position:absolute;width:6px;height:6px;background:#F7CC68;border-radius:50%;right:4px;bottom:4px}
.save-spinner{animation:hexa-save-spin .8s linear infinite}@keyframes hexa-save-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.save-spinner{animation:none}}
.global-save-popover{position:fixed;z-index:2000;width:300px;max-width:calc(100vw - 24px);padding:18px;border:1px solid #d7e1d7;background:#fff;border-radius:10px;box-shadow:0 5px 22px #02444218;color:#024442;font-size:12px;line-height:1.6}
.global-save-popover p{margin:8px 0 14px;overflow-wrap:anywhere}.global-save-popover>div{display:flex;gap:14px;flex-wrap:wrap}.global-save-popover .text-button{font-size:12px}
.activity-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 20px;min-width:0}
.activity-group-switch{display:flex;border-bottom:1px solid #d8dfd8;flex-shrink:0}.activity-group-switch .tab{padding:8px 12px;font-size:12px}
.activity-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:1}.activity-filter{max-width:210px;min-width:140px}.activity-filter .hexa-select-trigger{min-height:32px;font-size:11px;background:transparent}
.activity-groups{display:grid;gap:26px;min-width:0}.activity-group{min-width:0}.activity-group .section-heading{margin-bottom:12px}.activity-group .section-heading h2{font-size:14px}.activity-group>.section-heading .text-button{display:flex;align-items:center;gap:6px;white-space:nowrap}.activity-group .section-title{min-width:0}
.activity-table-scroll{overflow-x:auto;overflow-y:hidden;padding:1px 1px 9px;min-width:0;max-width:100%}.activity-table{min-width:0;display:grid;gap:10px}
.activity-branch{background:#fff;border:1px solid #d7e1d7;border-radius:11px;overflow:hidden;min-width:0}
.activity-row.is-single{display:grid;grid-template-columns:30px 98px minmax(180px,2fr) minmax(120px,1.1fr) minmax(130px,1.1fr) 102px 102px minmax(115px,.9fr) 22px;grid-template-areas:"priority state name type contact actual deadline owner menu";column-gap:10px;align-items:center;min-height:66px;padding:10px 15px;font-size:12px;position:relative;background:#fff;cursor:pointer}
.activity-row.is-single:hover{background:#fcfdf9}.activity-row.is-single:focus-visible{outline:1px solid #afd4b5;outline-offset:-2px;border-radius:8px}
.activity-row.is-single>div{min-width:0}.activity-row .activity-state-slot,.activity-row .activity-priority-slot{display:flex;align-items:center;justify-content:flex-start}
.activity-value{font:inherit;color:inherit;min-width:0;max-width:100%;text-align:left;border:0;background:none;padding:0;line-height:20px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.activity-value:hover{color:#024442}.activity-value:focus-visible,.activity-priority:focus-visible,.activity-fold:focus-visible,.activity-menu:focus-visible{outline:1px solid #afd4b5;outline-offset:3px}
.activity-state{display:flex;align-items:center;justify-content:center;width:96px;height:26px;overflow:hidden;white-space:nowrap;font-size:10px;font-weight:600;padding:0 8px;line-height:24px;border-radius:999px;background:var(--carta);color:#605e52;border:1px solid transparent}
.activity-state.state-working{background:#F2DAD5;color:#922F26}.activity-state.state-review{background:#f6e5b6;color:#725414}.activity-state.state-ready{background:#d6e8dc;color:#346746}.activity-state.state-sent,.activity-state.state-waiting{background:#DCEBF2;color:#3C637C}.activity-state.state-obtained,.activity-state.state-done{background:#fff;color:#89938B;border-color:#E8ECE7}
.activity-priority{width:29px;height:29px;min-width:29px;padding:3px;border:1px solid currentColor;border-radius:5px;display:grid;place-items:center;background:#fff;cursor:pointer;flex:none}
.activity-priority svg,.priority-option svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.activity-priority.priority-0{background:#fff;border-color:currentColor}.priority-0{color:#4B9369}.priority-1{color:#FF9B00}.priority-2{color:#B23B2E}.activity-priority:disabled{opacity:1;cursor:default}
.priority-option{display:flex;gap:12px;align-items:center}.priority-option svg{flex:none}.priority-option>span{color:#024442}
.activity-name-slot{min-width:0}.activity-title-line{display:flex;align-items:center;gap:7px;min-width:0;line-height:20px}.activity-title-line>.activity-value{font-weight:600}
.activity-fold{width:14px;min-width:14px;height:22px;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer;color:#62796a}.activity-fold .icon{width:12px;height:12px}
.activity-type-slot{padding:0;font-size:11px;color:#738375;min-width:0;overflow:hidden;white-space:nowrap}.activity-type-slot .rubric-pill{font-size:11px!important;line-height:22px;min-height:22px;padding:1px 8px}
.activity-contact-slot{font-size:12px}.activity-owner-slot .rubric-pill{font-size:11px!important;min-height:22px;line-height:22px;padding:1px 8px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-dates-slot{display:contents}.activity-dates-slot>.activity-value{min-width:0;overflow:visible}
.activity-calendar{display:grid;gap:3px;color:#78a789;line-height:18px}.activity-calendar.is-deadline{color:#b23b2e}.activity-calendar>small{font-size:9px!important;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}.activity-calendar>span{display:flex;align-items:center;gap:6px}.activity-calendar .icon{width:20px;height:20px;flex:none;stroke-width:1.5}.activity-calendar time{font-size:11px;white-space:nowrap;color:#40835a}.activity-calendar.is-deadline time{color:#b23b2e}
.activity-date{display:flex;align-items:baseline;gap:7px;font-size:11px;white-space:nowrap;line-height:19px}.activity-date.is-actual{color:#398155}.activity-date.is-deadline{color:#b23b2e}
.activity-postit{display:grid;place-items:center;flex-shrink:0;width:17px;height:20px;padding:0;border:0;background:none;cursor:pointer}.activity-postit svg{width:16px;height:16px;stroke:none}
.activity-remaining{font-size:10px;color:#778477;flex-shrink:0;margin-left:2px}.activity-menu{width:24px;height:26px;border:0;background:none;cursor:pointer;color:#849083;padding:3px;opacity:0}.activity-row:hover .activity-menu,.activity-row:focus-within .activity-menu{opacity:1}.activity-menu .icon{width:16px;height:16px}
.activity-children{margin:0;padding:0;border:0}.activity-children>.activity-branch{border:0;border-radius:0;overflow:visible}.activity-children>.activity-branch>.activity-row{border-top:1px solid #e9ede5}
.activity-group-drop{height:8px;color:#829081;font-size:12px;text-align:center}.activity-group-drop[data-empty=true]{height:26px;display:grid;place-items:center;font-size:10px}.activity-group.is-empty .section-heading{margin-bottom:4px}.activity-group.is-empty .activity-table{min-width:0}.activity-group.is-empty .section-heading h2{color:#6f8174;font-size:12px}
.activity-drop-before:before,.activity-drop-after:after{content:'';position:absolute;left:0;right:0;height:3px;background:#afd4b5;z-index:1}.activity-drop-before:before{top:0}.activity-drop-after:after{bottom:0}.activity-drop-inside{box-shadow:inset 0 0 0 2px #afd4b5;background:#f0f7e9!important}.activity-drop-phase .activity-group-drop{height:42px;border:1px dashed #99bf9f;background:#edf4e8}.activity-dragging{opacity:.4}.activity-drag-preview{position:fixed!important;top:-1000px;left:0;background:#fff!important;box-shadow:0 4px 15px #02444222;border:1px solid #afd4b5;border-radius:9px;z-index:999999}
.activity-inline-input{min-width:55px;width:100%;max-width:320px;font:inherit;line-height:20px;padding:0 2px;border:0!important;border-bottom:1px solid #afd4b5!important;border-radius:0!important;outline:none!important;box-shadow:none!important;background:transparent!important}
.activity-dialog.ui-dialog{width:min(1040px,calc(100vw - 48px));max-width:1040px}.activity-dialog .dialog-body{display:grid;gap:20px;max-height:76vh;overflow:auto}.activity-dialog .activity-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px}.activity-detail-fields .info-item{display:block;min-width:0}.activity-detail-fields dt{font-size:10px;margin-bottom:4px}.activity-detail-fields dd{margin:0;display:flex;align-items:center;gap:12px;min-height:24px}.activity-detail-fields dd .activity-value{white-space:normal}.activity-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.activity-dialog .project-note-blocks{margin:0}.activity-dialog .panel{margin:0;min-width:0}.activity-dialog .form-field>input{display:block;width:100%;margin-top:8px}.activity-dialog .form-field[hidden]{display:none}
.wf-type-timing{display:flex;gap:20px;align-items:end;margin:12px 0 14px;flex-wrap:wrap}.wf-type-timing label{display:grid;gap:5px;font-size:11px;max-width:180px}.wf-type-timing input{width:130px}.wf-type-timing .hexa-select-trigger{min-height:30px;font-size:11px}
.activity-dashboard-row{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #d8dfd8}.activity-dashboard-row>div:first-child{display:flex;gap:8px;align-items:center}.activity-dashboard-row .small{font-size:10px;margin-top:4px}.activity-dashboard-row .activity-title-line>.activity-value{font-weight:600}.activity-dashboard-row:last-child{border-bottom:0}
@media(max-width:700px){.activity-dialog.ui-dialog{width:calc(100vw - 20px)}.activity-dialog .activity-detail-fields{grid-template-columns:1fr}.activity-dialog .dialog-body{max-height:79vh}.activity-menu{opacity:1}.activity-toolbar{gap:8px}.activity-filter{max-width:180px}}
@media(pointer:coarse){.activity-priority{width:32px;height:32px}.activity-row.is-single{min-height:72px}.activity-menu{opacity:1}}
@media print{.global-save-popover{display:none!important}}

.content:has(.activity-groups)>.main{max-width:none;width:100%}.content:has(.activity-groups) .ui-page-top-inner{max-width:none}

.global-save-mirror{position:fixed;z-index:1900;width:42px;height:42px;min-height:42px;display:grid;place-items:center;padding:10px;margin:0;background:#fff}

/* V67 — Compact activity cards respond to the actual available page width. */
.activity-groups{container:activities / inline-size}
.activity-table-scroll{overflow:visible}.activity-table{min-width:0!important}
.activity-priority-slot{grid-area:priority}.activity-state-slot{grid-area:state}.activity-name-slot{grid-area:name}.activity-type-slot{grid-area:type}.activity-contact-slot{grid-area:contact}.activity-owner-slot{grid-area:owner}.activity-menu{grid-area:menu}
.activity-dates-slot>.activity-value:first-child{grid-area:actual}.activity-dates-slot>.activity-value:last-child{grid-area:deadline}
.activity-table>.activity-branch.is-container{border-left:6px solid #79A58B}
.activity-children .activity-row.is-single{background:#F1F7EE}.activity-children .activity-row.is-single:hover{background:#EAF3E6}
.activity-contact-pill,.activity-type-pill{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:1px 9px;border-radius:999px;background:#EDF3E9;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;font-size:11px;color:#4A6656}
.activity-owner-slot .activity-contact-pill:has(.rubric-pill){padding:0;background:none}.activity-owner-slot .rubric-pill{border-radius:999px}.activity-type-slot .rubric-pill{border-radius:999px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-integrations{font-size:9px;line-height:18px;background:#F6E5B6;color:#725414;border-radius:999px;padding:0 6px;flex-shrink:0}
.activity-picker{position:fixed;z-index:2100;overflow:auto;background:#fff;border:1px solid #D6E3D6;border-radius:12px;padding:14px;box-shadow:0 10px 32px #02444222;color:var(--ink);font-size:12px}
.activity-priority-picker{display:flex;align-items:center;gap:6px;padding:8px}.activity-priority-picker .activity-priority{width:28px;min-width:28px;height:28px}.activity-priority-picker [aria-pressed=true]{box-shadow:0 0 0 2px #E2ECDC}
.activity-date-form{display:grid;gap:10px}.activity-date-form strong{font-size:12px;font-weight:600}.activity-date-form input,.activity-date-form select{width:100%;min-width:0;font:inherit;min-height:32px;border:1px solid #D6E3D6;border-radius:6px;padding:6px 8px;background:#fff}.activity-date-form input:focus{border:1px solid #AFD4B5;outline:0;box-shadow:none}
.activity-date-form input[readonly]{background:#F3F7EF;color:#6A7A6B}.activity-date-form label{display:grid;gap:5px;font-size:10px;color:#6F8174;text-transform:none}.activity-calendar-nav{display:flex;justify-content:space-between;align-items:center;text-transform:capitalize}.activity-calendar-nav button{border:0;background:none;font-size:23px;width:30px;height:30px;padding:0;cursor:pointer;color:#4A6656}.activity-weekdays,.activity-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:3px}.activity-weekdays{font-size:10px;color:#829081}.activity-calendar-days button{width:100%;aspect-ratio:1;min-height:28px;padding:0;border:0;border-radius:50%;background:none;color:#385447;font-size:11px;cursor:pointer}.activity-calendar-days button:hover{background:#EDF3E9}.activity-calendar-days button[aria-pressed=true]{background:#D6E8DC;color:#024442;font-weight:700}.activity-calendar-days button.is-today{box-shadow:inset 0 0 0 1px #AFD4B5}.activity-calendar-days button:disabled{opacity:.6;cursor:default;background:transparent}.activity-calendar-days button:disabled[aria-pressed=true]{background:#D6E8DC}
.activity-date-shortcuts,.activity-date-switch{display:flex;gap:6px}.activity-date-shortcuts button,.activity-date-switch button{flex:1;min-height:28px;border:0;background:#F1F6ED;border-radius:6px;font:inherit;font-size:10px;padding:5px;cursor:pointer;color:#4A6656}.activity-date-shortcuts button:last-child{background:var(--carta)}.activity-date-switch{border:1px solid #E3EADD;border-radius:8px;padding:3px}.activity-date-switch button{background:none}.activity-date-switch button[aria-pressed=true]{background:#D6E8DC;color:#024442}
.activity-term-inputs{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;margin-top:8px}.activity-term-inputs .hexa-select-trigger{min-height:32px;font-size:11px;padding:5px 8px}.activity-date-apply{justify-self:end;min-height:30px;font-size:11px;padding:6px 14px}.activity-picker-error:empty{display:none}.activity-picker-error{margin:0;color:#B23B2E;font-size:11px}
.ui-dialog-layer.is-side-peek-layer{justify-content:flex-end;padding:0;background:#0244420A}
.activity-dialog.ui-dialog.is-side-peek{width:min(760px,85%);max-width:760px;height:100%;max-height:100%;border-radius:14px 0 0 14px;box-shadow:-8px 0 32px #02444220;border-right:0;border-top:0;border-bottom:0}
.activity-dialog.is-side-peek>.activity-detail{display:flex;flex-direction:column;height:100%;min-height:0}.activity-dialog.is-side-peek .dialog-body{max-height:none;min-height:0;flex:1;align-content:start}.activity-dialog.is-side-peek .activity-detail-fields{gap:12px 22px}.activity-dialog .ui-dialog-actions .icon-button{width:28px;height:28px}
@container activities (max-width:1160px){
 .activity-row.is-single{grid-template-columns:98px minmax(140px,1.4fr) minmax(118px,1fr) 106px 20px;grid-template-areas:"priority name contact actual menu" "state type owner deadline menu";row-gap:6px;column-gap:10px;padding:11px 13px;min-height:88px}
 .activity-calendar{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.activity-calendar>small{width:100%;font-size:8px!important;line-height:9px}.activity-calendar>span{gap:5px}.activity-calendar .icon{width:17px;height:17px}.activity-calendar time{font-size:10px}
 .activity-menu{opacity:1}.activity-integrations{display:none}
}
@container activities (max-width:620px){
 .activity-row.is-single{grid-template-columns:30px 96px minmax(0,1fr) 20px;grid-template-areas:"priority state name menu" "contact contact type type" "owner owner dates dates";row-gap:10px;column-gap:8px;padding:12px 10px;min-height:130px}
 .activity-dates-slot{display:flex;grid-area:dates;gap:8px;justify-content:flex-start;min-width:0}.activity-dates-slot>.activity-value{grid-area:auto;flex:1;min-width:0}.activity-calendar{display:grid;gap:3px}.activity-calendar>small{width:auto}.activity-calendar>span{gap:3px}.activity-calendar .icon{width:15px;height:15px}.activity-calendar time{font-size:9px}.activity-title-line{gap:4px}.activity-title-line>.activity-value{font-size:11px}.activity-remaining{display:none}.activity-contact-pill,.activity-type-pill{font-size:10px;padding:1px 7px}.activity-type-slot .rubric-pill{font-size:10px!important}.activity-owner-slot .rubric-pill{font-size:10px!important}
}
@media(max-width:700px){.activity-dialog.ui-dialog.is-side-peek{width:calc(100% - 10px);max-width:none}.activity-dialog .activity-detail-fields{grid-template-columns:1fr}.activity-picker{max-width:calc(100vw - 20px)}}

.activity-type-slot .activity-value .rubric-pill,.activity-owner-slot .activity-value .rubric-pill{font-size:11px!important}
.activity-dialog .dialog-body{display:flex;flex-direction:column;align-items:stretch}
.activity-dialog .dialog-body>.panel,.activity-dialog .dialog-body>.project-note-blocks,.activity-dialog .dialog-body>.activity-detail-actions{flex:none}
@container activities (max-width:620px){.activity-type-slot .activity-value .rubric-pill,.activity-owner-slot .activity-value .rubric-pill{font-size:10px!important}}

.activity-priority.priority-0:disabled{color:#4B9369;background:#fff;border-color:currentColor}.activity-priority.priority-1:disabled{color:#FF9B00;background:#fff;border-color:currentColor}.activity-priority.priority-2:disabled{color:#B23B2E;background:#fff;border-color:currentColor}

/* V69 — Search across leaf names, or browse categories in adjacent panes. */
.nested-selector-setting{display:flex;align-items:center;gap:9px;margin:0 0 24px;font-size:12px;color:var(--ink-soft);text-transform:none}.nested-selector-setting input{width:15px;height:15px;min-height:0;margin:0;accent-color:var(--verde-intermedio)}
.hexa-select-columns{display:flex;padding-top:0;max-height:310px;overflow:hidden;align-items:stretch;min-height:0}.hexa-select-pane{flex:1 1 0;min-width:0;overflow:auto;padding:5px;overscroll-behavior:contain}.hexa-select-pane[hidden]{display:none}.hexa-select-pane+.hexa-select-pane{border-left:1px solid var(--line)}.hexa-select-pane [role=option]{gap:8px;align-items:center;min-height:34px;padding:7px 8px;font-size:12px}.hexa-select-pane .select-label{min-width:0;flex:1;overflow-wrap:anywhere}.hexa-select-pane .select-label small{display:block;color:var(--ink-soft);font-size:9px;margin-top:3px}.select-branch-arrow{margin-left:auto;color:var(--ink-soft);font-size:18px;padding:0 3px}.select-box{width:14px;height:14px;flex:none;border:1px solid #B7CEBC;border-radius:3px;font-size:11px;line-height:12px;text-align:center;color:#024442}.select-box.is-checked,.select-box.is-mixed{background:#D6E8DC}.select-multiple-actions{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:9px 8px 3px}.select-multiple-actions button,.select-back{border:0;background:none;cursor:pointer;font-size:11px;color:var(--verde-scuro);padding:5px 8px}.select-multiple-actions [data-select-apply]{background:var(--verde-chiaro);border-radius:5px}.hexa-select-pane .rubric-pill{font-size:11px!important;padding:2px 7px;line-height:19px;min-height:19px}.hexa-select-columns.is-mobile .hexa-select-pane{border:0;flex-basis:100%}
.activity-filter-icons{display:flex;gap:4px;margin-left:auto;flex:none}.activity-filter-icons .icon-button{width:30px;height:30px;padding:6px;border:0;background:none;border-radius:5px}.activity-filter-icons .icon-button.active{background:#D6E8DC;color:#024442}.project-tabs>.tabs{min-width:0;flex:1}.project-tabs:has(.activity-filter-icons){gap:12px}
.activity-macro{border:0!important;border-radius:0!important;background:none!important;min-width:0}.activity-macro>summary{display:flex;align-items:center;gap:8px;padding:7px 0 12px!important;border:0!important;background:none!important;cursor:pointer;list-style:none;color:#557C67;font-size:12px;font-weight:600;min-width:0}.activity-macro>summary::-webkit-details-marker{display:none}.activity-macro>summary:after{display:none!important}.activity-macro-arrow{display:grid;place-items:center;width:14px;flex:none;transition:transform .15s}.activity-macro-arrow .icon{width:12px;height:12px}.activity-macro[open]>.activity-macro-arrow,.activity-macro[open]>summary>.activity-macro-arrow{transform:rotate(90deg)}.activity-macro>summary>small{font-size:10px;font-weight:400;color:#8FA395}.activity-macro-line{height:1px;flex:1;background:#D6E8DC;margin-left:5px}.activity-macro-body{display:grid;gap:20px;padding-bottom:14px;min-width:0}.activity-groups{gap:15px}.activity-classification{display:grid;justify-items:start;gap:2px;max-width:100%;min-width:0}.activity-category-pill{font-size:9px;line-height:15px;padding:0 7px;border-radius:999px;background:#F1ECE1;color:#71816F;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.activity-classification .rubric-pill,.activity-classification .activity-type-pill{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:20px;line-height:20px;padding:0 7px;font-size:10px!important;max-width:100%}.wf-family{margin:0 0 32px}.wf-family>.section-heading{margin-bottom:14px}.wf-family>.section-heading h2{font-size:14px}.wf-family .settings-categories{margin-top:0}.wf-root-preset{font-size:11px;padding:7px 10px;min-height:32px;margin:6px 0 14px;display:flex;gap:8px;align-items:center}.wf-root-preset .icon{width:16px;height:16px}.wf-family .settings-templates>summary{font-size:12px}
@media(max-width:700px){.activity-macro>summary{font-size:11px}.activity-macro-body{gap:16px}.nested-selector-setting{font-size:11px}.wf-family .section-heading{flex-wrap:wrap}}

/* V70 · Shared rich notes. The note card remains the editing surface. */
.hexa-rich-wrap{position:relative;min-width:0;color:var(--ink);font-size:14px;line-height:1.7;cursor:text}
.hexa-rich-toolbar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;max-height:0;overflow:hidden;opacity:0;transition:opacity .12s;margin:0;cursor:default}
.hexa-rich-wrap:focus-within>.hexa-rich-toolbar{max-height:90px;overflow:visible;opacity:1;margin:0 0 10px}
.hexa-rich-toolbar button,.hexa-rich-menu button,.hexa-markdown-source button{font:inherit;font-size:11px;min-height:27px;min-width:27px;line-height:20px;padding:3px 7px;border:0;background:transparent;color:var(--ink);border-radius:5px;cursor:pointer}
.hexa-rich-toolbar button:hover,.hexa-rich-toolbar button[aria-pressed=true],.hexa-rich-menu button:hover,.hexa-rich-menu button[aria-selected=true]{background:var(--verde-chiaro)}
.hexa-rich-toolbar [data-rich-command=bold]{font-weight:700}.hexa-rich-toolbar [data-rich-command=italic]{font-style:italic}.hexa-rich-toolbar [data-rich-command=underline]{text-decoration:underline}.hexa-rich-toolbar [data-rich-command=strike]{text-decoration:line-through}.hexa-rich-table-actions{display:inline-flex;gap:2px;border-left:1px solid var(--line);padding-left:5px}.hexa-rich-table-actions[hidden]{display:none!important}
.hexa-note-prose,.hexa-note-prose:focus,.hexa-note-prose:focus-visible{min-height:26px;outline:none!important;border:0!important;box-shadow:none!important;background:transparent;padding:0!important;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;text-transform:none;color:var(--ink);font:inherit;line-height:1.7}
.hexa-note-prose>:first-child{margin-top:0!important}.hexa-note-prose>:last-child{margin-bottom:0!important}.hexa-note-prose p{margin:0 0 9px;min-height:1em;font-size:inherit;line-height:inherit}.hexa-note-prose h1,.hexa-note-prose h2,.hexa-note-prose h3{font-family:inherit;font-weight:650;line-height:1.3;letter-spacing:0;text-transform:none;color:var(--ink);margin:18px 0 8px}.hexa-note-prose h1{font-size:23px}.hexa-note-prose h2{font-size:19px}.hexa-note-prose h3{font-size:16px}
.hexa-note-prose ul,.hexa-note-prose ol{padding-left:24px;margin:7px 0 12px;list-style:revert}.hexa-note-prose li{padding-left:2px;margin:2px 0}.hexa-note-prose li p{margin:0}.hexa-note-prose blockquote{margin:12px 0;padding:3px 0 3px 14px;border-left:3px solid var(--miele-chiaro);color:var(--ink-soft);background:transparent}.hexa-note-prose blockquote p:last-child{margin:0}
.hexa-note-prose hr{margin:18px 0;border:0;border-top:1px solid var(--verde-chiaro)}.hexa-note-prose pre{white-space:pre-wrap;font:12px/1.65 monospace;padding:12px;border-radius:7px;background:var(--carta);overflow:auto;margin:12px 0}.hexa-note-prose code{font:12px/1.5 monospace;background:var(--carta);padding:1px 4px;border-radius:3px}.hexa-note-prose pre code{padding:0;background:none}.hexa-note-prose a{color:var(--verde-scuro);text-decoration:underline;cursor:pointer}.hexa-note-prose mark:not(.doc-highlight){background:var(--miele-chiaro);color:inherit;padding:0 1px;border-radius:2px}
.hexa-note-prose table{border-collapse:collapse;table-layout:fixed;width:100%;margin:12px 0;overflow:hidden;font-size:12px}.hexa-note-prose td,.hexa-note-prose th{position:relative;vertical-align:top;min-width:50px;padding:7px 9px;border:1px solid var(--bordi-chiari);text-transform:none;font-size:12px;line-height:1.5;color:var(--ink);font-weight:400}.hexa-note-prose th{background:var(--verde-chiaro);font-weight:600}.hexa-note-prose table p{margin:0}.hexa-note-prose .tableWrapper{overflow-x:auto;max-width:100%;margin:10px 0}.hexa-note-prose .tableWrapper table{margin:0}.hexa-note-prose .selectedCell:after{content:'';position:absolute;inset:0;background:#D6E8DC66;pointer-events:none}.hexa-note-prose .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:var(--verde-intermedio);pointer-events:none}
.hexa-note-prose details,.hexa-note-prose [data-type=details]{position:relative;border:0!important;background:transparent!important;border-radius:0!important;margin:12px 0;padding:0 0 0 20px;min-width:0}
.hexa-note-prose summary,.hexa-note-prose [data-type=details] summary{display:list-item;list-style:disclosure-closed!important;padding:0!important;border:0!important;background:none!important;font-size:inherit;font-weight:600;line-height:1.7;text-transform:none;color:var(--ink);cursor:pointer;min-height:23px}
.hexa-note-prose details[open]>summary{list-style:disclosure-open!important}.hexa-note-prose summary:after{display:none!important}.hexa-note-prose details>div,.hexa-note-prose [data-type=detailsContent]{padding:7px 0 0;min-width:0}.hexa-note-prose [data-type=details]>button{position:absolute;left:0;top:1px;min-height:22px;width:17px;padding:0;border:0;background:transparent;font-size:15px;color:var(--ink-soft);cursor:pointer}.hexa-note-prose [data-type=details]>button:before{content:'›';display:block}.hexa-note-prose [data-type=details].is-open>button:before{transform:rotate(90deg)}.hexa-note-prose [data-type=details] summary{list-style:none!important}.hexa-note-prose [data-type=detailsContent][hidden]{display:none!important}
.hexa-note-prose img{max-width:100%;height:auto;display:block;border-radius:6px;margin:10px 0}.hexa-note-embed{margin:14px 0;max-width:100%;min-width:0;white-space:normal}.hexa-note-embed iframe{width:100%;height:auto;aspect-ratio:16/9;border:1px solid var(--bordi-chiari);border-radius:7px;background:var(--carta)}.hexa-note-embed.is-pdf iframe{aspect-ratio:4/5;max-height:540px}.hexa-note-embed figcaption{font-size:11px;padding:5px 0;overflow-wrap:anywhere}.hexa-note-embed.is-link{background:var(--carta);border:1px solid var(--line);border-radius:7px;padding:10px}
.hexa-note-prose ul[data-type=taskList]{padding:0;list-style:none}.hexa-note-prose ul[data-type=taskList]>li{display:flex;align-items:flex-start;gap:8px;margin:5px 0;padding:0}.hexa-note-prose ul[data-type=taskList]>li>label{padding-top:3px;flex:none;font-size:inherit}.hexa-note-prose ul[data-type=taskList]>li>div{flex:1;min-width:0}.hexa-note-prose ul[data-type=taskList] input{appearance:none;width:17px;height:20px;min-height:0;padding:0;margin:0;background:var(--miele-chiaro);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border:0;cursor:pointer}.hexa-note-prose ul[data-type=taskList] input:before{content:'';display:block;position:absolute;inset:2px;background:var(--card);clip-path:inherit}.hexa-note-prose ul[data-type=taskList] input:checked:before{inset:4px;background:var(--miele-chiaro);box-shadow:0 0 0 2px #fff}.hexa-note-prose ul[data-type=taskList] input{position:relative}.hexa-note-prose ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;color:var(--ink-soft)}
.hexa-rich-menu{position:fixed;z-index:2400;max-width:calc(100vw - 16px);width:286px;max-height:330px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--card);box-shadow:0 8px 28px #02444220;font-size:12px;overflow:auto;color:var(--ink)}.hexa-rich-menu>input{width:100%;min-height:34px;font-size:12px;margin-bottom:7px;background:var(--paper)}.hexa-rich-menu [role=listbox]{max-height:230px;overflow:auto}.hexa-rich-menu [role=option]{display:block;min-height:32px;width:100%;text-align:left;font-size:12px;padding:6px 9px}.hexa-rich-menu p{font-size:11px;margin:8px}.hexa-rich-menu form label{font-size:11px;display:grid;gap:7px;text-transform:none;color:var(--ink-soft)}.hexa-rich-menu form input{width:100%;min-height:34px;font-size:12px}.hexa-rich-menu-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}
.hexa-markdown-source{margin-top:8px;cursor:default}.hexa-markdown-source>label{display:block;text-transform:none;font-size:11px}.hexa-markdown-source textarea{width:100%;min-height:220px;max-height:65vh;margin:8px 0;font:12px/1.7 monospace;padding:10px;border:1px solid var(--verde-chiaro);outline:0;box-shadow:none;border-radius:6px;white-space:pre;overflow:auto;resize:vertical}
.hexa-rich-error{font-size:11px;color:var(--rosso-scuro);margin:8px 0}.hexa-rich-error:empty{display:none}[data-rich-empty=true] .hexa-note-prose>p:only-child:before{content:attr(data-placeholder);color:var(--ink-soft)}
.doc-list-group{border:0!important;border-radius:0!important;background:none!important}.doc-list-group>summary{display:flex;align-items:center;gap:8px;font-size:11px;line-height:18px;color:var(--ink-soft);padding:14px 14px 7px!important;text-transform:none;border:0!important;list-style:none}.doc-list-group>summary:after{display:none!important}.doc-list-group>summary>span:nth-child(2){flex:1}.doc-list-group>summary>small{font-size:10px;font-weight:400}.doc-group-arrow{font-size:16px;transform:rotate(0)}.doc-list-group[open]>summary>.doc-group-arrow{transform:rotate(90deg)}.documentation-detail .is-reference-note .note-actions{padding-top:0}.doc-read-text.hexa-note-prose{font-size:14px;line-height:1.8}
.hexa-note-prose [data-type=taskList] label{user-select:none}
@media(max-width:700px){.hexa-rich-toolbar{gap:0}.hexa-rich-toolbar button{padding:3px 5px}.hexa-note-prose h1{font-size:21px}.hexa-note-prose h2{font-size:18px}.hexa-note-prose th,.hexa-note-prose td{padding:5px;min-width:45px}.hexa-markdown-source textarea{min-height:180px}}

.hexa-note-callout{margin:12px 0;padding:12px 14px;border-radius:7px;background:#F7CC6833;border-left:3px solid var(--miele-chiaro)}.hexa-note-callout p:last-child{margin-bottom:0}.hexa-note-prose ul[data-type=taskList]>li>label:not(:has(input)){position:relative;display:block;width:17px;height:20px;padding:0;margin-top:3px;background:var(--miele-chiaro);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.hexa-note-prose ul[data-type=taskList]>li>label:not(:has(input)):before{content:'';position:absolute;inset:2px;background:var(--card);clip-path:inherit}.hexa-note-prose ul[data-type=taskList]>li[data-checked=true]>label:not(:has(input)):before{inset:4px;background:var(--miele-chiaro);outline:2px solid #fff}

.hexa-note-read,.doc-read-text.hexa-note-prose{white-space:normal}.hexa-note-read p,.doc-read-text.hexa-note-prose p,.hexa-note-read summary,.doc-read-text.hexa-note-prose summary{white-space:pre-wrap}.personal-note-text .hexa-rich-wrap{margin-top:10px;text-transform:none}.personal-note-text [hidden]{display:none!important}
.hexa-note-prose h1{font-size:23px!important;font-weight:650!important}.hexa-note-prose h2{font-size:19px!important;font-weight:650!important}.hexa-note-prose h3{font-size:16px!important;font-weight:650!important;text-transform:none!important}
@media(max-width:700px){.hexa-note-prose h1{font-size:21px!important}.hexa-note-prose h2{font-size:18px!important}}

.hexa-rich-toolbar [data-rich-command=blocks]{font-size:17px;line-height:20px}[data-rich-empty=true] .hexa-note-prose>p:only-child:before{content:'Inizia a scrivere…';pointer-events:none}.hexa-note-prose ul[data-type=taskList] input:checked:before{inset:2px;background:#fff;box-shadow:none}.hexa-note-prose ul[data-type=taskList] input:checked:after,.hexa-note-prose ul[data-type=taskList]>li[data-checked=true]>label:not(:has(input)):after{content:'';position:absolute;inset:4px;background:var(--miele-chiaro);clip-path:inherit}.hexa-note-prose ul[data-type=taskList]>li[data-checked=true]>label:not(:has(input)):before{inset:2px;background:#fff;outline:0}

/* V71 · Markdown is a view toggle; input shortcuts leave standard Markdown unchanged. */
.hexa-rich-wrap.is-markdown>.hexa-rich-toolbar{max-height:90px;overflow:visible;opacity:1;margin:0 0 10px}
.hexa-rich-toolbar button:disabled{opacity:.3;cursor:default;background:transparent}
.hexa-rich-wrap>[data-rich-note][hidden]{display:none!important}
.hexa-note-prose [data-type=details] summary:has(>br:only-child):before{content:'Titolo toggle';color:var(--ink-soft);pointer-events:none;font-weight:400}

/* V72 · Activity actions, fixed dialog controls and visible completion counts. */
body:has(#activity-dialog[open]) [data-global-save]{visibility:hidden}
.global-save-button{transition:background .15s,color .15s,border-color .15s}
.activity-row.is-single{grid-template-columns:30px 122px minmax(170px,2fr) minmax(110px,1.1fr) minmax(120px,1.1fr) 100px 100px minmax(105px,.9fr) 112px;column-gap:9px}
.activity-row-actions{grid-area:menu;display:flex;align-items:center;justify-content:flex-end;gap:2px;min-width:0}
.activity-row-action{display:grid;place-items:center;width:26px;min-width:26px;height:28px;padding:4px;border:0;border-radius:5px;background:transparent;color:#718A7A;cursor:pointer}
.activity-row-action .icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.activity-row-action:hover{background:#DFEBDD;color:var(--verde-scuro)}.activity-row-action.danger:hover{background:#F2DAD5;color:#922F26}
.activity-row-action:focus-visible{outline:1px solid #AFD4B5;outline-offset:1px}.activity-row-action:disabled{opacity:.3;cursor:default}
.activity-state-slot,.activity-state-with-integrations{display:flex;align-items:center;gap:4px;min-width:0}.activity-state-slot>.activity-value{flex:none;overflow:visible}
.activity-integrations{display:inline-flex!important;align-items:center;justify-content:center;flex:none;width:20px;height:22px;padding:2px;background:#F6E5B6;border-radius:6px}
.activity-integrations .icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}
.activity-classification .is-empty{display:block;min-width:32px;width:32px}.activity-classification .activity-category-pill.is-empty{height:15px}.activity-classification .activity-type-pill.is-empty{height:20px}
.activity-dialog .ui-dialog-actions{flex-wrap:nowrap;gap:6px}
.activity-dialog .ui-dialog-actions>button{display:inline-flex;align-items:center;justify-content:center;width:64px;min-width:64px;height:38px;min-height:38px;padding:8px;border-radius:var(--ui-radius);position:relative}
.activity-dialog .ui-dialog-actions>button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.activity-dialog .ui-dialog-actions .global-save-button .save-warning{width:13px;height:13px}
@container activities (max-width:1280px){
 .activity-row.is-single{grid-template-columns:122px minmax(80px,1.4fr) minmax(85px,1fr) 100px 54px;grid-template-areas:"priority name contact actual menu" "state type owner deadline menu";row-gap:6px;column-gap:8px;padding:11px 13px;min-height:88px}
 .activity-row-actions{display:grid;grid-template-columns:26px 26px;gap:2px;justify-content:end}
 .activity-calendar{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.activity-calendar>small{width:100%;font-size:8px!important;line-height:9px}.activity-calendar>span{gap:5px}.activity-calendar .icon{width:17px;height:17px}.activity-calendar time{font-size:10px}
}
@container activities (max-width:620px){
 .activity-row.is-single{grid-template-columns:30px 122px minmax(0,1fr) 0;grid-template-areas:"priority state name name" "contact contact type type" "owner owner dates dates" "menu menu menu menu";row-gap:8px;column-gap:8px;padding:12px 10px;min-height:150px}
 .activity-row-actions{display:flex;gap:8px}.activity-row-action{width:30px;min-width:30px;height:30px}
 .activity-dates-slot{display:flex;grid-area:dates;gap:8px;min-width:0}.activity-dates-slot>.activity-value{grid-area:auto;flex:1;min-width:0}.activity-calendar{display:grid;gap:3px}.activity-calendar>small{width:auto}.activity-calendar>span{gap:3px}.activity-calendar .icon{width:15px;height:15px}.activity-calendar time{font-size:9px}
 .activity-remaining{display:inline;font-size:9px}
}
@media(max-width:420px){.activity-dialog .dialog-head{padding:14px 12px;gap:10px}.activity-dialog .ui-dialog-actions{gap:4px}.activity-dialog .ui-dialog-actions>button{width:54px;min-width:54px}.activity-dialog .dialog-head>h2{font-size:13px}}
@container activities (max-width:340px){.activity-dates-slot{flex-direction:column;align-items:flex-start;gap:7px}.activity-calendar{display:flex;flex-wrap:wrap;gap:2px}.activity-calendar>small{width:100%}}

/* V73 / 0.2.6.3 — calendari, limitatori rubrica e libreria template. */
.activity-date-form [data-term]{display:grid;gap:10px}
.activity-date-form [hidden]{display:none!important}
.activity-date-form .activity-term-inputs{margin-top:0}
.activity-date-shortcuts{flex-wrap:wrap}
.activity-date-shortcuts button[data-today]{flex:1 1 110px;white-space:nowrap;background:var(--verde-chiaro);color:var(--verde-scuro)}
.activity-date-shortcuts button[data-clear]{flex:1 1 100%}
.activity-state-confirm{max-width:440px;width:calc(100% - 32px);padding:0;border:1px solid var(--bordi-chiari);border-radius:12px;background:var(--bianco);color:var(--verde-scuro);box-shadow:0 12px 40px #02444222}
.activity-state-confirm::backdrop{background:#02444233}
.activity-state-confirm .dialog-body{padding:24px}
.activity-state-confirm .dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:0 24px 24px}
.wf-contact-limits{margin:12px 0 18px;border-top:1px solid var(--bordi-chiari);padding-top:12px}
.wf-contact-limits summary{cursor:pointer;color:var(--verde-intermedio);font-size:12px}
.wf-contact-limits fieldset{border:1px solid var(--bordi-chiari);border-radius:8px;margin:12px 0;padding:12px;display:grid;gap:8px}
.wf-contact-limits legend{padding:0 6px}
.wf-contact-limits legend label{display:flex;align-items:center;gap:8px;color:var(--verde-scuro)}
.wf-contact-limits input[type=checkbox]{accent-color:var(--verde-intermedio);width:14px;height:14px;min-height:14px}
.wf-contact-limits .rubric-check{font-size:12px}
.wf-type-timing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}
.wf-type-timing label{max-width:none;min-width:0}
.wf-type-timing input{width:100%;min-width:0}
@media(max-width:600px){.wf-type-timing{gap:10px}.wf-contact-limits fieldset{padding:10px}}

/* V74 / 0.2.6.4 — calendari compatti. Tutti gli stili restano nel foglio unico. */
.activity-date-footer,.activity-date-form .activity-date-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.activity-date-footer>button,.activity-date-form .activity-date-shortcuts>button[data-today]{width:100%;height:28px;min-height:28px;padding:5px;font-size:10px;line-height:16px;border-radius:6px;margin:0;box-sizing:border-box}
.activity-date-footer .activity-date-clear{background:var(--carta);border:1px solid var(--carta);color:var(--verde-scuro)}
.activity-compact-term{display:grid;grid-template-columns:auto 44px minmax(65px,1fr) 28px 28px;gap:5px;align-items:center}
.activity-compact-term>label{font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap}
.activity-compact-term>input{width:44px;min-width:0;min-height:28px;height:28px;padding:4px;font-size:11px;appearance:textfield;-moz-appearance:textfield}
.activity-compact-term>input::-webkit-inner-spin-button,.activity-compact-term>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.activity-unit-trigger{display:flex;align-items:center;justify-content:space-between;gap:2px;min-width:0;width:100%;height:28px;min-height:28px;padding:4px 5px;font:inherit;font-size:10px;line-height:16px;border:1px solid var(--bordi-chiari);border-radius:6px;background:var(--bianco);color:var(--verde-scuro)}
.activity-unit-trigger>svg{width:12px;height:12px;flex:none}
.activity-term-command{display:grid;place-items:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:5px;border:0;border-radius:6px;background:transparent;color:var(--verde-intermedio)}
.activity-term-command>svg{width:18px;height:18px}
.activity-term-command:hover{background:var(--verde-chiaro);color:var(--verde-scuro)}
.activity-term-command[data-auto][aria-pressed=false],.activity-term-command[data-auto][aria-pressed=false]:hover{background:transparent;color:var(--verde-scuro)}
.activity-term-command[data-auto][aria-pressed=false]>svg{opacity:.18}
.activity-term-command[data-auto][aria-pressed=true]{color:var(--verde-scuro)}
.activity-date-form input[name=date][data-mode=auto]{background:var(--bianco);color:var(--verde-scuro)}
.activity-unit-menu{position:fixed;z-index:2500;display:grid;padding:4px;background:var(--bianco);border:1px solid var(--bordi-chiari);border-radius:8px;box-shadow:0 8px 24px #02444222;color:var(--verde-scuro)}
.activity-unit-menu>button{display:block;min-height:29px;width:100%;padding:6px 9px;text-align:left;background:transparent;border:0;border-radius:5px;color:inherit;font:11px/17px Arial,sans-serif}
.activity-unit-menu>button:hover,.activity-unit-menu>button:focus-visible,.activity-unit-menu>button[aria-selected=true]{background:var(--verde-chiaro);outline:none}

/* V78 / 0.2.6.8 — Compact activity cards. This is the sole application stylesheet. */
.activity-groups{container:activities/inline-size;display:grid;gap:22px;min-width:0}
.activity-groups .activity-section{background:none;border:0;border-radius:0;box-shadow:none;padding:0;min-width:0}
.activity-groups .activity-section>summary.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;margin:0 0 6px;padding:0 0 9px;background:none;border:0;border-bottom:2px solid #024442;border-radius:0;min-width:0}
.activity-section>summary::-webkit-details-marker{display:none}.activity-groups .activity-section>summary:before,.activity-groups .activity-section>summary:after{display:none!important}
.activity-section>summary .section-title{display:flex;align-items:center;gap:8px;min-width:0}.activity-groups .activity-section>summary h2{font-size:14px;font-weight:600;line-height:20px;letter-spacing:0;white-space:normal;color:#024442}
.activity-section-arrow{display:grid;place-items:center;width:12px;flex:none;color:#526d5a;transition:transform .15s}.activity-section-arrow .icon{width:11px;height:11px}.activity-section[open]>summary .activity-section-arrow{transform:rotate(90deg)}
.activity-groups .activity-section:not([open])>summary{margin-bottom:0}.activity-groups .activity-section>summary .count{background:none;color:#53695b;font-size:11px;font-weight:400}.activity-groups .activity-section>summary .text-button{font-size:11px;color:#4f6258;flex:none}
.activity-groups .activity-table-scroll{overflow:visible;min-width:0;max-width:100%;padding:0}.activity-groups .activity-table{display:block;min-width:0!important;gap:0}
.activity-groups{--activity-columns:48px minmax(170px,2fr) minmax(115px,1.1fr) 112px 112px minmax(125px,1.1fr) minmax(96px,.8fr) 104px}
.activity-groups .activity-row.is-single,.activity-groups .activity-column-head{display:grid;grid-template-columns:var(--activity-columns);grid-template-areas:"state name type actual deadline contact owner menu";column-gap:8px;row-gap:0;align-items:center;min-width:0}
.activity-groups .activity-column-head{padding:7px 8px 8px;font-size:10.5px;line-height:14px;color:#4f6258;font-weight:500}
.activity-column-head .column-state{grid-area:state;text-align:center}.activity-column-head .column-name{grid-area:name}.activity-column-head .column-type{grid-area:type}.activity-column-head .column-actual{grid-area:actual;text-align:center}.activity-column-head .column-deadline{grid-area:deadline;text-align:center}.activity-column-head .column-contact{grid-area:contact}.activity-column-head .column-owner{grid-area:owner}.activity-column-head .column-menu{grid-area:menu;text-align:right;padding-right:5px}
.activity-groups .activity-table>.activity-branch,.activity-groups .activity-table>.activity-branch.is-container{margin:0 0 7px;background:#fff;border:1px solid #d7e1d5!important;border-radius:6px;box-shadow:none;overflow:hidden}
.activity-groups .activity-row.is-single{min-height:52px;padding:6px 8px;background:#fff;border:0;border-radius:0;box-shadow:none;color:#193f35;font-size:11.5px;line-height:18px}
.activity-groups .activity-row.is-single:hover{background:#fbfcf8}.activity-groups .activity-row.is-single:focus-visible{outline:2px solid #719879;outline-offset:-2px;border-radius:5px}
.activity-groups .activity-table>.is-container>.activity-row.is-single{border-bottom:1px solid #e4ebe0}
.activity-groups .activity-state-slot{grid-area:state;display:flex;align-items:center;justify-content:center;gap:0;min-width:0}.activity-groups .activity-state-slot>.activity-value{display:flex;align-items:center;justify-content:center;overflow:visible;width:100%;line-height:1}
.activity-groups .activity-state-slot>.activity-value:focus-visible{outline:2px solid #719879;outline-offset:2px;border-radius:5px}
.activity-state-tile{--state-surface:#eff2ed;--state-ink:#536451;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:38px;min-width:38px;height:38px;max-width:none;padding:3px 2px;border:0;border-radius:5px;background:var(--state-surface);color:var(--state-ink);line-height:1}
.activity-state-tile-working{--state-surface:#e4eff7;--state-ink:#2c6586}.activity-state-tile-ready{--state-surface:#e4f1e6;--state-ink:#346c42}.activity-state-tile-review{--state-surface:#eee6f5;--state-ink:#70508a}.activity-state-tile-waiting{--state-surface:#fbefdb;--state-ink:#8d5f18}.activity-state-tile-done{--state-surface:#e9eee8;--state-ink:#526b54}.activity-state-tile.has-open-integration{--state-surface:#f7e4df;--state-ink:#a03e31}
.activity-state-tile .activity-state-symbols{display:flex;align-items:center;justify-content:center;gap:2px;height:15px}.activity-state-main,.activity-state-priority{display:grid;place-items:center;flex:none}.activity-state-tile .activity-state-glyph{width:14px;height:14px;color:var(--state-ink);fill:currentColor;stroke:none}
.activity-state-tile .activity-state-label{font-size:8px;line-height:10px;font-weight:400;color:var(--state-ink);white-space:nowrap}.activity-state-priority svg{width:11px;height:11px;fill:currentColor;stroke:none}.activity-state-priority.priority-1{color:#956011}.activity-state-priority.priority-2{color:#a53e32}
.activity-state-glyph{width:17px;height:17px;fill:currentColor;stroke:none;color:#687d6d}.activity-glyph-working{color:#326c8f}.activity-glyph-ready{color:#39784e}.activity-glyph-review{color:#78558b}.activity-glyph-waiting{color:#99651a}.activity-glyph-done{color:#54765b}.activity-state-glyph.activity-glyph-integration{color:#b23b2e}
.activity-groups .activity-name-slot{grid-area:name;min-width:0}.activity-groups .activity-title-line{display:flex;align-items:center;gap:6px;line-height:18px;min-width:0}.activity-groups .activity-title-line>.activity-value{font-size:13px;line-height:18px;font-weight:500;color:#193f35}.activity-groups .is-container>.activity-row .activity-title-line>.activity-value{font-weight:650}
.activity-groups .activity-fold{width:12px;min-width:12px;height:20px;color:#526d5a}.activity-groups .activity-fold .icon{width:10px;height:10px}.activity-groups .activity-postit{width:15px;height:18px}.activity-groups .activity-postit svg{width:14px;height:14px}.activity-groups .activity-remaining{display:inline;font-size:10px;color:#53695b;flex:none}
.activity-groups .activity-type-slot{grid-area:type;min-width:0;overflow:hidden}.activity-classification-plain{display:flex;align-items:center;gap:5px;min-width:0;max-width:100%;line-height:18px}.activity-category-icon{display:grid;place-items:center;flex:none;color:#5e7565}.activity-category-icon .icon{height:13px;width:13px}.activity-typology-name{font-size:11.5px;color:#4f6258;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.activity-groups .activity-contact-slot{grid-area:contact}.activity-groups .activity-owner-slot{grid-area:owner}.activity-groups .activity-contact-slot,.activity-groups .activity-owner-slot{min-width:0;font-size:11.5px;color:#4f6258}
.activity-groups .activity-contact-pill,.activity-groups .activity-owner-slot .rubric-pill{background:none!important;color:#4f6258!important;border:0!important;border-radius:0!important;box-shadow:none!important;min-height:0!important;padding:0!important;line-height:18px!important;font-size:11.5px!important;font-weight:400;max-width:100%}
.activity-groups .activity-contact-slot .activity-value,.activity-groups .activity-owner-slot .activity-value{font-size:11.5px;color:#4f6258}.activity-groups .activity-owner-slot .activity-contact-pill{display:block}
.activity-groups .activity-dates-slot{display:contents!important;grid-area:auto;flex-direction:initial}.activity-groups .activity-dates-slot>.activity-value:first-child{grid-area:actual}.activity-groups .activity-dates-slot>.activity-value:last-child{grid-area:deadline}
.activity-groups .activity-dates-slot>.activity-value{display:block;width:100%;max-width:100%;overflow:visible;text-align:center}
.activity-groups .activity-calendar{display:grid;grid-template-rows:auto auto;justify-items:center;align-content:center;gap:2px;max-width:100%;line-height:15px;color:#397750}
.activity-groups .activity-calendar>small{display:block;width:100%;max-width:100%;font-size:10px!important;line-height:12px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;color:inherit}
.activity-groups .activity-calendar>span{display:flex;align-items:center;justify-content:center;gap:4px;line-height:15px}.activity-groups .activity-calendar .icon{width:12px;height:12px;stroke-width:1.6;flex:none}.activity-groups .activity-calendar time{font-size:11px;line-height:15px;color:inherit;white-space:nowrap;font-variant-numeric:tabular-nums}.activity-groups .activity-calendar.is-deadline{color:#a54135}
.activity-groups .activity-row-actions{grid-area:menu;display:flex;align-items:center;justify-content:flex-end;gap:1px;min-width:0}.activity-groups .activity-row-action{width:25px;min-width:25px;height:26px;padding:4px;background:none;color:#596e5f;border:0;border-radius:4px}.activity-groups .activity-row-action .icon{width:15px;height:15px}.activity-groups .activity-row-action:hover{background:#e9f0e5;color:#234b3b}.activity-groups .activity-row-action.danger:hover{background:#f8ece8;color:#a54135}
.activity-groups .activity-children{position:relative;display:grid;gap:6px;margin:5px 8px 8px 20px;padding:0 0 0 10px;border:0;background:none}.activity-groups .activity-children:before{content:'';position:absolute;left:0;top:0;bottom:25px;width:1px;background:#adc5b1;pointer-events:none}
.activity-groups .activity-children>.activity-branch{position:relative;background:#fff;border:1px solid #dce8d8!important;border-radius:5px;overflow:visible}.activity-groups .activity-children>.activity-branch:before{content:'';position:absolute;left:-10px;top:25px;width:9px;height:1px;background:#adc5b1}
.activity-groups .activity-children>.activity-branch>.activity-row.is-single{background:#fff;border:0!important;border-radius:5px;min-height:50px}.activity-groups .activity-children>.activity-branch>.activity-row.is-single:hover{background:#fbfcf8}.activity-groups .activity-children .activity-name-slot{padding-left:0}.activity-groups .activity-children .activity-name-slot:before{display:none}.activity-groups .activity-children .activity-title-line>.activity-value{font-size:13px;font-weight:400}.activity-groups .activity-group-drop{height:0}.activity-groups .activity-group-drop[data-empty=true]{height:26px;font-size:11px;color:#53695b}
.activity-picker.activity-state-picker{width:184px!important;padding:5px;border:1px solid #d7e1d5;border-radius:7px;box-shadow:0 6px 22px #02444215}.minimal-state-options{display:grid;gap:1px}.minimal-state-choice{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:27px;padding:3px 6px;border:0;border-radius:4px;background:none;cursor:pointer}.minimal-state-choice:hover,.minimal-state-choice:focus-visible{background:#f3f6ef}.menu-state-icon{display:grid;place-items:center;flex:none}.menu-state-icon .activity-state-glyph{width:15px;height:15px}.menu-state-label{font-size:11px;color:#344c41;flex:1;text-align:left}.minimal-selected{font-size:10px;color:#7d9e87;margin-left:auto}.minimal-priority-options{display:flex;gap:3px;border-top:1px solid #e5ece1;margin-top:4px;padding-top:5px}.minimal-priority-choice{display:grid;justify-items:center;gap:3px;flex:1;border:0;border-radius:4px;background:none;padding:4px 1px;cursor:pointer}.minimal-priority-choice svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.minimal-priority-choice small{font-size:8px;color:#4f6258;white-space:nowrap}.minimal-priority-choice.priority-0{color:#596e5f}.minimal-priority-choice.priority-1{color:#956011}.minimal-priority-choice.priority-2{color:#a53e32}.minimal-priority-choice[aria-pressed=true],.minimal-priority-choice:hover{background:#eef4e9}
@container activities (max-width:1000px){.activity-groups .activity-row.is-single,.activity-groups .activity-column-head{grid-template-columns:48px minmax(130px,1.4fr) minmax(110px,1fr) 108px 108px 104px;grid-template-areas:"state name name actual deadline menu" "state type contact owner owner menu";row-gap:4px}.activity-groups .activity-row.is-single,.activity-groups .activity-children>.activity-branch>.activity-row.is-single{min-height:66px}.activity-groups .activity-column-head{row-gap:2px;font-size:10px}.activity-groups .activity-children>.activity-branch:before{top:32px}.activity-groups .activity-children:before{bottom:32px}}
@container activities (max-width:700px){.activity-groups .activity-row.is-single,.activity-groups .activity-column-head{grid-template-columns:48px minmax(130px,1fr) 108px 104px;grid-template-areas:"state name name name" "state type actual deadline" ". contact owner menu";row-gap:4px;column-gap:8px}.activity-groups .activity-row.is-single,.activity-groups .activity-children>.activity-branch>.activity-row.is-single{min-height:86px}.activity-groups .activity-column-head{font-size:9.5px}.activity-groups .activity-children>.activity-branch:before{top:42px}.activity-groups .activity-children:before{bottom:42px}}
@container activities (max-width:450px){.activity-groups .activity-row.is-single,.activity-groups .activity-column-head{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"state name name" "state type type" ". actual deadline" ". contact owner" ". menu menu";row-gap:6px}.activity-groups .activity-row.is-single,.activity-groups .activity-children>.activity-branch>.activity-row.is-single{min-height:130px;padding:6px}.activity-groups .activity-title-line>.activity-value{white-space:normal;font-size:12px;line-height:17px}.activity-groups .activity-children .activity-title-line>.activity-value{font-size:12px}.activity-groups .activity-row-actions{justify-content:flex-start}.activity-groups .activity-children{margin-left:12px;margin-right:6px;padding-left:8px}.activity-groups .activity-children>.activity-branch:before{left:-8px;width:7px;top:30px}.activity-groups .activity-children:before{bottom:45px}.activity-groups .activity-calendar>small{font-size:9px!important}.activity-groups .activity-contact-pill{white-space:normal}.activity-groups .activity-column-head .column-menu{text-align:left}}

/* V79 / 0.2.6.9 — Fixed state pills, aligned properties, a single hierarchy card. */
.activity-groups{--activity-state-width:116px;--activity-tree-step:24px;--activity-columns:var(--activity-state-width) minmax(170px,2fr) minmax(115px,1.1fr) 112px 112px minmax(125px,1.1fr) minmax(96px,.8fr) 104px}
.activity-groups .activity-section>summary.section-heading{display:flex;align-items:center;gap:10px;border:0!important;padding:0;margin:0 0 10px;min-height:22px;background:none}.activity-groups .activity-section>summary .section-title{display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0}.activity-groups .activity-section>summary h2{font-size:14px;line-height:20px;white-space:normal}.activity-section-rule{display:block;flex:1;align-self:center;height:1px;background:#bfd5c4;min-width:24px}.activity-groups .activity-section:not([open])>summary{margin-bottom:0}
.activity-section-footer{padding:1px 8px 6px}.activity-groups .activity-section-add{display:inline-flex;align-items:center;gap:5px;padding:4px 0;border:0;background:none;font-size:11px;font-weight:400;line-height:18px;color:#536f5b;cursor:pointer}.activity-groups .activity-section-add .icon{width:12px;height:12px}.activity-groups .activity-section-add:hover{color:#024442;text-decoration:underline;text-underline-offset:3px}
.activity-groups .activity-column-head{display:none}.activity-groups .activity-row.is-single{grid-template-columns:var(--activity-columns);grid-template-areas:"state name type actual deadline contact owner menu";min-height:46px;padding:6px 8px;row-gap:0;column-gap:8px}.activity-groups .activity-state-slot{width:100%;justify-content:center;min-width:0}.activity-groups .activity-state-slot>.activity-value{width:100%;line-height:1;justify-content:center;overflow:visible}
.activity-state-tile{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;width:116px;min-width:116px;max-width:116px;height:26px;min-height:26px;max-height:26px;box-sizing:border-box;padding:0 8px;border:1px solid var(--state-border,transparent);border-radius:999px;background:var(--state-surface);color:var(--state-ink)}
.activity-state-tile.activity-state-tile-todo{--state-surface:#ecefeb;--state-ink:#545d56;--state-border:transparent}.activity-state-tile.activity-state-tile-working{--state-surface:#f2dad5;--state-ink:#a13e32;--state-border:transparent}.activity-state-tile.activity-state-tile-ready{--state-surface:#d6e8dc;--state-ink:#024442;--state-border:transparent}.activity-state-tile.activity-state-tile-waiting{--state-surface:#dcebf2;--state-ink:#3c637c;--state-border:transparent}.activity-state-tile.activity-state-tile-review{--state-surface:#eee3f5;--state-ink:#70508a;--state-border:transparent}.activity-state-tile.activity-state-tile-done{--state-surface:transparent;--state-ink:#6f8f77;--state-border:#b7cebc}
.activity-state-tile .activity-state-symbols{display:flex;align-items:center;justify-content:center;gap:3px;height:16px;flex:none}.activity-state-tile .activity-state-glyph{width:14px;height:14px;color:var(--state-ink);fill:currentColor;stroke:none}.activity-state-tile .activity-state-label{font-size:11px;font-weight:400;line-height:16px;color:var(--state-ink);white-space:nowrap}.activity-state-priority svg{width:11px;height:11px}.activity-state-glyph.activity-glyph-integration{color:#a13e32!important}.activity-glyph-todo{color:#545d56}.activity-glyph-working{color:#a13e32}.activity-glyph-ready{color:#024442}.activity-glyph-waiting{color:#3c637c}.activity-glyph-review{color:#70508a}.activity-glyph-done{color:#6f8f77}
.activity-groups .activity-table>.activity-branch,.activity-groups .activity-table>.activity-branch.is-container{border:1px solid #d7e1d5!important;border-radius:6px;background:#fff;overflow:hidden;margin:0 0 7px}.activity-groups .activity-table>.is-container>.activity-row.is-single{border:0!important}
/* Every depth keeps the same full-width grid; only the name is indented. */
.activity-groups .activity-children{position:relative;display:block;gap:0;margin:0!important;padding:0!important;width:auto;max-width:none;border:0;background:#eff6eb}.activity-groups .activity-children>.activity-branch{position:relative;display:block;box-sizing:border-box;margin:0!important;padding:0!important;width:auto;border:0!important;border-radius:0!important;background:none;overflow:visible}
.activity-groups .activity-children>.activity-branch:before{display:none}.activity-groups .activity-children>.activity-branch>.activity-row.is-single{box-sizing:border-box;grid-template-columns:var(--activity-columns);background:#eff6eb;border:0!important;border-top:1px solid #d9e5d6!important;border-radius:0;min-height:46px;padding:6px 8px}.activity-groups .activity-children>.activity-branch>.activity-row.is-single:hover{background:#e8f1e4}.activity-groups .activity-children .activity-children{margin:0!important;padding:0!important}
.activity-groups .activity-children:before{content:'';position:absolute;left:calc(var(--activity-state-width) + 22px + var(--activity-depth,0) * var(--activity-tree-step));top:0;bottom:23px;width:1px;background:#a7c1ab;z-index:1;pointer-events:none}.activity-groups .activity-children .activity-name-slot{position:relative;box-sizing:border-box;min-width:0;padding-left:calc(var(--activity-depth,1) * var(--activity-tree-step))}.activity-groups .activity-children .activity-name-slot:before{content:'';display:block;position:absolute;left:calc((var(--activity-depth,1) - 1) * var(--activity-tree-step) + 6px);top:50%;height:1px;width:13px;background:#a7c1ab;pointer-events:none}.activity-groups .activity-children .activity-title-line>.activity-value{font-size:13px;line-height:18px}
.activity-groups .activity-children .activity-type-slot,.activity-groups .activity-children .activity-dates-slot,.activity-groups .activity-children .activity-contact-slot,.activity-groups .activity-children .activity-owner-slot,.activity-groups .activity-children .activity-row-actions{padding-left:0;padding-right:0;margin-left:0;margin-right:0}
.activity-groups .activity-title-line>.activity-value{min-width:0}.activity-folder-counter{display:inline-flex;align-items:center;gap:4px;flex:none;width:auto;min-width:0;height:22px;padding:0;border:0;background:none;color:#487054;cursor:pointer;vertical-align:middle}.activity-folder-counter>svg{display:block;flex:none;width:18px;height:18px;fill:currentColor;stroke:none}.activity-folder-count{display:block;font-size:11px;font-weight:400;line-height:16px;color:inherit;white-space:nowrap;font-variant-numeric:tabular-nums;pointer-events:none}.activity-folder-counter:hover{color:#024442}.activity-folder-counter:focus-visible{outline:1px solid #719879;outline-offset:2px;border-radius:4px}
@container activities (max-width:1050px){.activity-groups .activity-row.is-single,.activity-groups .activity-children>.activity-branch>.activity-row.is-single{grid-template-columns:var(--activity-state-width) minmax(130px,1.4fr) minmax(110px,1fr) 108px 108px 104px;grid-template-areas:"state name name actual deadline menu" "state type contact owner owner menu";row-gap:4px;min-height:66px}.activity-groups .activity-children:before{bottom:33px}}
@container activities (max-width:780px){.activity-groups .activity-row.is-single,.activity-groups .activity-children>.activity-branch>.activity-row.is-single{grid-template-columns:var(--activity-state-width) minmax(130px,1fr) 108px 104px;grid-template-areas:"state name name name" "state type actual deadline" ". contact owner menu";row-gap:4px;column-gap:8px;min-height:86px}.activity-groups .activity-children:before{bottom:43px}}
@container activities (max-width:520px){.activity-groups .activity-row.is-single,.activity-groups .activity-children>.activity-branch>.activity-row.is-single{grid-template-columns:var(--activity-state-width) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"state name name" "state type type" ". actual deadline" ". contact owner" ". menu menu";column-gap:8px;row-gap:6px;min-height:130px;padding:6px 8px}.activity-groups .activity-children .activity-title-line>.activity-value{font-size:12px;white-space:normal;line-height:17px}.activity-groups .activity-children:before{bottom:45px}.activity-groups .activity-row-actions{justify-content:flex-start}}

/* Project activities: the same records in a compact two-line gallery. */
.activity-groups.is-gallery .activity-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.activity-groups.is-gallery .activity-table>.activity-branch{margin:0;min-width:0}
.activity-groups.is-gallery .activity-row.is-single,.activity-groups.is-gallery .activity-children>.activity-branch>.activity-row.is-single{grid-template-columns:116px minmax(0,1fr) 100px 104px;grid-template-areas:"state name actual menu" "type contact deadline owner";grid-template-rows:minmax(28px,auto) minmax(28px,auto);column-gap:8px;row-gap:5px;min-height:0;padding:8px 10px;align-items:center}
.activity-groups.is-gallery .activity-state-slot{justify-content:flex-start}
.activity-groups.is-gallery .activity-name-slot,.activity-groups.is-gallery .activity-type-slot,.activity-groups.is-gallery .activity-contact-slot,.activity-groups.is-gallery .activity-owner-slot{min-width:0;overflow:hidden}
.activity-groups.is-gallery .activity-title-line{gap:4px}.activity-groups.is-gallery .activity-title-line>.activity-value{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.activity-groups.is-gallery .activity-contact-slot>.activity-value,.activity-groups.is-gallery .activity-owner-slot>.activity-value{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.activity-groups.is-gallery .activity-contact-pill,.activity-groups.is-gallery .activity-owner-slot .rubric-pill{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.activity-groups.is-gallery .activity-row-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:1px;min-width:0}.activity-groups.is-gallery .activity-row-action{flex:none}
.activity-groups.is-gallery .activity-dates-slot>.activity-value{grid-area:auto}.activity-groups.is-gallery .activity-dates-slot>.activity-value:first-child{grid-area:actual}.activity-groups.is-gallery .activity-dates-slot>.activity-value:last-child{grid-area:deadline}
.activity-groups.is-gallery .activity-calendar{display:grid;grid-template-rows:auto auto;justify-items:center;gap:1px}.activity-groups.is-gallery .activity-calendar>small{font-size:9px!important;line-height:11px}.activity-groups.is-gallery .activity-calendar>span{display:flex;align-items:center;justify-content:center;gap:3px}.activity-groups.is-gallery .activity-calendar time{font-size:11px;line-height:15px}
.activity-groups.is-gallery .activity-children:before{display:none}.activity-groups.is-gallery .activity-children>.activity-branch:before{content:'';display:block;position:absolute;left:calc(140px + (var(--activity-depth,1) - 1) * var(--activity-tree-step));top:0;bottom:0;width:1px;height:auto;background:#a7c1ab;z-index:1;pointer-events:none}.activity-groups.is-gallery .activity-children>.activity-branch:last-child:before{bottom:calc(100% - 22px)}.activity-groups.is-gallery .activity-children .activity-name-slot{overflow:visible}.activity-groups.is-gallery .activity-children .activity-title-line>.activity-value{font-size:12px;line-height:18px}
.activity-groups.is-gallery .activity-group-drop{grid-column:1/-1}.activity-groups.is-gallery .activity-group-drop:not([data-empty=true]){height:0;margin-top:-10px}
.activity-layout-toggle:focus-visible{outline:1px solid #719879;outline-offset:2px}
.activity-groups.is-gallery .activity-date-unavailable{cursor:default}
@container activities (max-width:1050px){.activity-groups.is-gallery .activity-table{grid-template-columns:minmax(0,1fr)}}
@container activities (max-width:520px){.activity-groups.is-gallery .activity-row.is-single,.activity-groups.is-gallery .activity-children>.activity-branch>.activity-row.is-single{grid-template-columns:116px minmax(0,1fr) 100px;grid-template-areas:"state name name" "type contact contact" "actual deadline owner" "menu menu menu";grid-template-rows:auto;row-gap:6px;padding:8px}.activity-groups.is-gallery .activity-row-actions{justify-content:flex-end}.activity-groups.is-gallery .activity-children>.activity-branch:before{left:calc(138px + (var(--activity-depth,1) - 1) * var(--activity-tree-step))}.activity-groups.is-gallery .activity-children>.activity-branch:last-child:before{bottom:calc(100% - 21px)}}
