.employee-badge-dialog-body{display:flex;flex-direction:row;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;border:1px solid var(--color-border);border-radius:var(--radius-lg,8px);background-color:var(--color-surface);width:100%;max-width:380px;margin:0 auto}.employee-badge-company{display:flex;flex-direction:row;align-items:center;gap:.5rem}.employee-badge-company-logo{max-height:32px;max-width:140px;-o-object-fit:contain;object-fit:contain}.employee-badge-company-name{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.employee-badge-photo{-o-object-fit:cover;object-fit:cover}.employee-badge-photo,.employee-badge-photo-placeholder{width:96px;height:96px;border-radius:50%;border:2px solid var(--color-border);flex-shrink:0}.employee-badge-photo-placeholder{background-color:var(--color-surface-hover);display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:var(--color-text-secondary)}.employee-badge-info{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;text-align:left;min-width:0}.employee-badge-name{font-size:1.2rem;font-weight:700;color:var(--color-text-primary);overflow-wrap:anywhere}.employee-badge-hire{font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media print{@page{margin:1.5cm 1.8cm}body{background:white!important;color:black!important;font-size:10pt}.no-print,[data-noprint]{display:none!important}.p-card{box-shadow:none!important}body.print-scheda *{visibility:hidden!important}body.print-scheda .employee-print-scheda,body.print-scheda .employee-print-scheda *{visibility:visible!important}body.print-scheda .dashboard-content,body.print-scheda .dashboard-main,body.print-scheda .dashboard-shell,body.print-scheda .employee-detail-wrapper{position:static!important;overflow:visible!important;height:auto!important;max-height:none!important}body.print-scheda .employee-print-scheda{display:block!important;position:absolute!important;top:0;left:0;right:0}body.print-scheda .customer-print-scheda,body.print-scheda .customer-print-scheda *{visibility:visible!important}body.print-scheda .customer-detail-wrapper{position:static!important;overflow:visible!important;height:auto!important;max-height:none!important}body.print-scheda .customer-print-scheda{display:block!important;position:absolute!important;top:0;left:0;right:0}body.print-shopping-list *{visibility:hidden!important}body.print-shopping-list .shopping-list-print,body.print-shopping-list .shopping-list-print *{visibility:visible!important}body.print-shopping-list .dashboard-content,body.print-shopping-list .dashboard-main,body.print-shopping-list .dashboard-shell{position:static!important;overflow:visible!important;height:auto!important;max-height:none!important}body.print-shopping-list .shopping-list-print{display:block!important;position:absolute!important;top:0;left:0;right:0}body.print-badge *{visibility:hidden!important}body.print-badge .employee-badge-print,body.print-badge .employee-badge-print *{visibility:visible!important}body.print-badge .p-dialog,body.print-badge .p-dialog-mask{position:static!important;inset:auto!important;transform:none!important;background:transparent!important;box-shadow:none!important;width:auto!important;max-height:none!important}body.print-badge .p-dialog-footer,body.print-badge .p-dialog-header{display:none!important}body.print-badge .employee-badge-print{position:absolute!important;top:0;left:0;right:0;display:flex!important;flex-direction:row;align-items:center;justify-content:center;gap:.8cm;page:badge}@page badge{size:landscape;margin:1.2cm}}.customer-print-scheda,.employee-print-scheda,.shopping-list-print{display:none}@media print{.employee-print-header{border-bottom:2px solid #1a1a1a;padding-bottom:.5cm;margin-bottom:.5cm}.employee-print-title{font-size:16pt;font-weight:700;margin:0;color:#1a1a1a}.employee-print-subtitle{font-size:11pt;color:#444;margin:.2cm 0 0}.employee-print-section{margin-bottom:.6cm;page-break-inside:avoid}.employee-print-section-title{font-size:11pt;font-weight:600;color:#1a1a1a;border-bottom:1px solid #ccc;padding-bottom:.15cm;margin-bottom:.3cm}.employee-print-grid{display:grid;grid-template-columns:1fr 1fr;gap:.2cm .6cm}.employee-print-field{display:flex;flex-direction:column;gap:.05cm}.employee-print-label{font-size:7.5pt;color:#888;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.employee-print-value{font-size:9.5pt;color:#1a1a1a}.employee-print-footer{font-size:7pt;color:#999;text-align:right;margin-top:.8cm;border-top:1px solid #ddd;padding-top:.2cm}.customer-print-header{border-bottom:2px solid #1a1a1a;padding-bottom:.5cm;margin-bottom:.5cm}.customer-print-title{font-size:16pt;font-weight:700;margin:0;color:#1a1a1a}.customer-print-subtitle{font-size:11pt;color:#444;margin:.2cm 0 0}.customer-print-section{margin-bottom:.6cm;page-break-inside:avoid}.customer-print-section-title{font-size:11pt;font-weight:600;color:#1a1a1a;border-bottom:1px solid #ccc;padding-bottom:.15cm;margin-bottom:.3cm}.customer-print-grid{display:grid;grid-template-columns:1fr 1fr;gap:.2cm .6cm}.customer-print-field{display:flex;flex-direction:column;gap:.05cm}.customer-print-label{font-size:7.5pt;color:#888;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.customer-print-value{font-size:9.5pt;color:#1a1a1a}.customer-print-footer{font-size:7pt;color:#999;text-align:right;margin-top:.8cm;border-top:1px solid #ddd;padding-top:.2cm}.employee-badge-print{page-break-inside:avoid}.employee-badge-company{display:flex;flex-direction:row;align-items:center;gap:.3cm}.employee-badge-company-logo{max-height:1.2cm;max-width:5cm;-o-object-fit:contain;object-fit:contain}.employee-badge-company-name{font-size:11pt;font-weight:700;color:#1a1a1a}.employee-badge-photo{-o-object-fit:cover;object-fit:cover}.employee-badge-photo,.employee-badge-photo-placeholder{width:3cm;height:3cm;border-radius:50%;border:1px solid #ccc;flex-shrink:0}.employee-badge-photo-placeholder{background:#f5f5f5;display:flex;align-items:center;justify-content:center}.employee-badge-info{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:.15cm}.employee-badge-name{font-size:14pt;font-weight:700;color:#1a1a1a}.employee-badge-hire{font-size:10pt;color:#333}.shopping-list-print-header{border-bottom:2px solid #1a1a1a;padding-bottom:.4cm;margin-bottom:.5cm}.shopping-list-print-title{font-size:16pt;font-weight:700;margin:0;color:#1a1a1a}.shopping-list-print-subtitle{font-size:10pt;color:#444;margin:.15cm 0 0}.shopping-list-print-group{margin-bottom:.7cm;page-break-inside:avoid}.shopping-list-print-group-title{display:flex;justify-content:space-between;gap:.5cm;font-size:11pt;font-weight:600;color:#1a1a1a;border-bottom:1px solid #ccc;padding-bottom:.15cm;margin-bottom:.2cm}.shopping-list-print-table{width:100%;border-collapse:collapse;font-size:9pt}.shopping-list-print-table th{text-align:left;font-size:7.5pt;color:#666;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #999;padding:.1cm .15cm}.shopping-list-print-table td{border-bottom:1px solid #ddd;padding:.12cm .15cm;vertical-align:top;color:#1a1a1a}.shopping-list-print-table .num{text-align:right;white-space:nowrap}.shopping-list-print-footer{font-size:7pt;color:#999;text-align:right;margin-top:.6cm;border-top:1px solid #ddd;padding-top:.2cm}}.assignment-receipt-print,.dpi-register-print{display:none}@media print{body.print-dpi-receipt *{visibility:hidden!important}body.print-dpi-receipt .assignment-receipt-print,body.print-dpi-receipt .assignment-receipt-print *{visibility:visible!important}body.print-dpi-receipt .dashboard-content,body.print-dpi-receipt .dashboard-main,body.print-dpi-receipt .dashboard-shell{position:static!important;overflow:visible!important;height:auto!important;max-height:none!important}body.print-dpi-receipt .assignment-receipt-print{display:block!important;position:absolute!important;top:0;left:0;right:0}body.print-dpi-register *{visibility:hidden!important}body.print-dpi-register .dpi-register-print,body.print-dpi-register .dpi-register-print *{visibility:visible!important}body.print-dpi-register .dashboard-content,body.print-dpi-register .dashboard-main,body.print-dpi-register .dashboard-shell{position:static!important;overflow:visible!important;height:auto!important;max-height:none!important}body.print-dpi-register .dpi-register-print{display:block!important;position:absolute!important;top:0;left:0;right:0;page:dpi-register}@page dpi-register{size:landscape;margin:1.2cm}.assignment-receipt-header{border-bottom:2px solid #1a1a1a;padding-bottom:.4cm;margin-bottom:.5cm}.assignment-receipt-title{font-size:16pt;font-weight:700;margin:0;color:#1a1a1a}.assignment-receipt-subtitle{font-size:10pt;color:#444;margin:.15cm 0 0}.assignment-receipt-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:.3cm;margin:0 0 .6cm}.assignment-receipt-meta dt{font-size:7.5pt;color:#666;text-transform:uppercase;letter-spacing:.03em}.assignment-receipt-meta dd{margin:.05cm 0 0;font-size:10pt;color:#1a1a1a}.assignment-receipt-table,.dpi-register-print-table{width:100%;border-collapse:collapse;font-size:9pt}.assignment-receipt-table th,.dpi-register-print-table th{text-align:left;font-size:7.5pt;color:#666;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #999;padding:.1cm .15cm}.assignment-receipt-table td,.dpi-register-print-table td{border-bottom:1px solid #ddd;padding:.14cm .15cm;vertical-align:top;color:#1a1a1a}.assignment-receipt-table .num,.dpi-register-print-table .num{text-align:right;white-space:nowrap}.assignment-receipt-declaration{margin:.8cm 0 1.4cm;font-size:9.5pt;line-height:1.4;color:#1a1a1a}.assignment-receipt-signature{display:grid;grid-template-columns:1fr 1fr;gap:1.2cm}.assignment-receipt-signature-label{display:block;font-size:8pt;color:#666}.assignment-receipt-signature-line{display:block;height:1.4cm;border-bottom:1px solid #1a1a1a}.assignment-receipt-footer,.dpi-register-print-footer{font-size:7pt;color:#999;text-align:right;margin-top:.8cm;border-top:1px solid #ddd;padding-top:.2cm}.dpi-register-print-header{border-bottom:2px solid #1a1a1a;padding-bottom:.4cm;margin-bottom:.5cm}.dpi-register-print-title{font-size:16pt;font-weight:700;margin:0;color:#1a1a1a}.dpi-register-print-subtitle{font-size:10pt;color:#444;margin:.15cm 0 0}.dpi-register-print-table{font-size:8pt}.dpi-register-print-table tr{page-break-inside:avoid}.dpi-register-print-note{font-size:8pt;color:#444;margin-top:.3cm}}.calendar-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);flex:0 0 auto}.calendar-toolbar__title{margin:0 auto 0 0;min-width:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-toolbar__nav{display:inline-flex;align-items:center;gap:var(--spacing-2xs)}.calendar-apple .fc{--fc-page-bg-color:var(--color-surface);--fc-neutral-bg-color:var(--color-surface-sunken);--fc-neutral-text-color:var(--color-text-secondary);--fc-more-link-bg-color:var(--color-surface-hover);--fc-more-link-text-color:var(--color-text-primary);--fc-highlight-color:var(--accent-soft-bg);--fc-border-color:color-mix(in srgb,var(--color-border) 65%,transparent);--fc-today-bg-color:transparent;--fc-now-indicator-color:var(--color-error);--fc-event-bg-color:var(--accent-soft-bg);--fc-event-border-color:var(--color-primary);--fc-event-text-color:var(--color-text-primary)}.calendar-apple .fc .fc-scrollgrid{border:0}.calendar-apple .fc .fc-scrollgrid-section>td,.calendar-apple .fc .fc-scrollgrid-section>th{border-right:0}.calendar-apple .fc th.fc-col-header-cell{border-left:0;border-right:0;padding:var(--spacing-xs) 0}.calendar-apple .fc .fc-col-header-cell-cushion{text-decoration:none;color:inherit}.calendar-apple .fc .fc-day-head{display:inline-flex;flex-direction:column;align-items:center;gap:var(--spacing-2xs)}.calendar-apple .fc .fc-dow{text-transform:uppercase;letter-spacing:.04em;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.calendar-apple .fc .fc-dnum{display:inline-flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;border-radius:var(--radius-full);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.calendar-apple .fc .fc-daygrid-day-top{flex-direction:row;padding:var(--spacing-2xs) var(--spacing-xs) 0}.calendar-apple .fc .fc-daygrid-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:1.625rem;height:1.625rem;padding:0 var(--spacing-2xs);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-decoration:none}.calendar-apple .fc .fc-day-other .fc-daygrid-day-number{color:var(--color-text-tertiary)}.calendar-apple .fc .fc-day-other{background:transparent}.calendar-apple .fc .fc-col-header-cell.fc-day-today .fc-dnum,.calendar-apple .fc .fc-day-today .fc-daygrid-day-number{background:var(--color-error);color:var(--color-on-accent);font-weight:var(--font-weight-semibold)}.calendar-apple .fc .fc-col-header-cell.fc-day-today .fc-dow{color:var(--color-error)}.calendar-apple .fc .fc-timegrid-axis-cushion,.calendar-apple .fc .fc-timegrid-slot-label-cushion{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.calendar-apple .fc .fc-timegrid-slot-minor{border-top-style:none}.calendar-apple .fc .fc-timegrid-divider{padding:0;border-bottom-width:1px}.calendar-apple .fc .fc-timegrid-now-indicator-line{border-width:2px 0 0}.calendar-apple .fc .fc-timegrid-now-indicator-arrow{width:.625rem;height:.625rem;margin-top:-.3125rem;border:0;border-radius:var(--radius-full);background:var(--fc-now-indicator-color)}.calendar-apple .fc .fc-daygrid-block-event,.calendar-apple .fc .fc-timegrid-event{border-width:0 0 0 3px;border-radius:var(--radius-sm);box-shadow:none}.calendar-apple .fc .fc-timegrid-event .fc-event-main{padding:var(--spacing-2xs) var(--spacing-xs)}.calendar-apple .fc .fc-event-title{font-weight:var(--font-weight-semibold)}.calendar-apple .fc .fc-event-time{font-weight:var(--font-weight-normal);opacity:.85}.calendar-apple .fc .fc-daygrid-dot-event{border-radius:var(--radius-sm)}.calendar-apple .fc .fc-daygrid-dot-event:hover{background:var(--color-surface-hover)}.calendar-apple .fc .fc-daygrid-more-link{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.agenda-view{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0}.agenda-strip{display:flex;align-items:center;gap:var(--spacing-2xs);min-width:0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border-light)}.agenda-strip__nav{flex:0 0 auto}.agenda-strip__scroller{display:flex;flex:1 1 auto;min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.agenda-strip__scroller::-webkit-scrollbar{display:none}.agenda-strip__week{display:flex;flex:0 0 100%;scroll-snap-align:start}.agenda-strip__day{flex:1 1 0;min-width:0;min-height:var(--touch-target-min);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2xs);padding:var(--spacing-2xs) 0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);font:inherit;cursor:pointer}.agenda-strip__day:hover .agenda-strip__num{background:var(--color-surface-hover)}.agenda-strip__day:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.agenda-strip__dow{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.agenda-strip__num{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-full);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);transition:background-color var(--duration-fast) var(--ease-standard)}.agenda-strip__day.is-today .agenda-strip__dow,.agenda-strip__day.is-today .agenda-strip__num{color:var(--color-error)}.agenda-strip__day.is-selected .agenda-strip__num{background:var(--color-text-primary);color:var(--color-surface);font-weight:var(--font-weight-semibold)}.agenda-strip__day.is-selected.is-today .agenda-strip__num{background:var(--color-error);color:var(--color-on-accent)}.agenda-strip__dot{width:.3125rem;height:.3125rem;border-radius:var(--radius-full);background:var(--color-text-tertiary)}.agenda-strip__dot.is-empty{visibility:hidden}.agenda-day__title{margin:0 0 var(--spacing-sm);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.agenda-day__title:first-letter{text-transform:uppercase}.agenda-day__empty{align-items:flex-start;padding:var(--spacing-lg) 0}.agenda-day__empty,.agenda-day__list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.agenda-day__list{list-style:none;margin:0;padding:0}.agenda-row{width:100%;min-height:var(--touch-target-min);display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:0;border-left:3px solid var(--ev-color,var(--color-primary));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ev-color,var(--color-primary)) 12%,var(--color-surface));color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}@supports not (background:color-mix(in srgb,red 10%,white)){.agenda-row{background:var(--accent-soft-bg)}}.agenda-row:hover{filter:brightness(.97)}.agenda-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.agenda-row__time{flex:0 0 6.5rem;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.agenda-row__body{display:flex;flex-direction:column;gap:var(--spacing-2xs);min-width:0}.agenda-row__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.agenda-row__subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-row.fc-event-cancelled{opacity:.6;border-left-color:var(--color-border-strong);background:var(--color-surface-sunken)}.agenda-row.fc-event-cancelled .agenda-row__title{text-decoration:line-through}.agenda-row.fc-event-completed{opacity:.6}.agenda-row.fc-event-awaiting{border-left-style:dashed}.agenda-row.fc-event-blocked{border-left-color:var(--color-warning)}@media (max-width:639.98px){.agenda-strip{margin-inline:calc(-1 * var(--spacing-md))}
  /* !important: la regola globale `.p-button-icon-only` impone
     `display: inline-flex !important` ai pulsanti solo-icona. */.agenda-strip .p-button.agenda-strip__nav{display:none!important}.agenda-row{flex-direction:column;gap:var(--spacing-2xs)}.agenda-row__time{flex:0 0 auto}.calendar-toolbar__title{font-size:var(--font-size-lg)}}@media (prefers-reduced-motion:reduce){.agenda-strip__num{transition:none}}.fc .fc-event.fc-event-external{background:var(--color-surface-sunken);border-left-style:dashed;border:1px dashed var(--color-border-strong);opacity:.8;cursor:default}.fc .fc-event.fc-event-external,.fc .fc-event.fc-event-external .fc-event-time,.fc .fc-event.fc-event-external .fc-event-title{color:var(--color-text-secondary)}.agenda-row.agenda-row--external{border-left:3px dashed var(--color-border-strong);background:var(--color-surface-sunken);opacity:.8;cursor:default}.agenda-row.agenda-row--external:hover{filter:none}@media (max-width:639.98px){.calendar-toolbar__external{min-height:var(--touch-target-min)}}.fc .fc-equipment-icon{flex:none;margin-right:var(--spacing-2xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.fc .fc-daygrid-dot-event .fc-equipment-icon{margin-left:var(--spacing-2xs);margin-right:var(--spacing-xs)}.fc .fc-equipment-icon--conflict{color:var(--color-error)}.fc .fc-event-assignees{overflow:hidden;font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);white-space:nowrap;text-overflow:ellipsis;opacity:.85}.fc .fc-daygrid-dot-event:has(.fc-event-assignees){flex-wrap:wrap}.fc .fc-daygrid-dot-event:has(.fc-event-assignees) .fc-event-title{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis}.fc .fc-daygrid-dot-event .fc-event-assignees{flex:1 0 100%;min-width:0;padding-left:var(--spacing-md)}.agenda-row__equipment{margin-right:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.agenda-row__equipment--conflict{color:var(--color-error)}@media (max-width:639.98px){.calendar-equipment-filter{width:100%}.calendar-equipment-filter .p-dropdown{flex:1}}.equipment-icon{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.booking-day-row--conflict{background:var(--error-soft-bg);border-left:3px solid var(--color-error)}.booking-conflict-label{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-error);font-weight:var(--font-weight-semibold)}.booking-redacted{color:var(--color-text-secondary);font-style:italic}.quote-line-equipment{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.equipment-unit-gone{text-decoration:line-through;color:var(--color-text-secondary)}.equipment-unit-gone-reason{color:var(--color-error);font-size:var(--font-size-xs)}