.iprint-wrap{--ip-black:#111827;--ip-muted:#6b7280;--ip-card:#fff;--ip-border:#e5e7eb;--ip-yellow:#ffcc00;--ip-red:#dc2626;--ip-green:#16a34a;--ip-blue:#2563eb;--ip-orange:#f59e0b}.iprint-wrap h1{font-weight:800;color:var(--ip-black);margin-bottom:18px}.iprint-actions,.iprint-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 18px}.iprint-green{background:#16a34a!important;border-color:#15803d!important;color:#fff!important}.iprint-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.iprint-kpis.finance{grid-template-columns:repeat(4,minmax(0,1fr))}.iprint-kpi{background:#fff;border:1px solid var(--ip-border);border-radius:16px;padding:18px;box-shadow:0 10px 24px rgba(15,23,42,.06);border-top:4px solid var(--ip-blue)}.iprint-kpi span{display:block;color:var(--ip-muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.iprint-kpi strong{display:block;font-size:25px;line-height:1.1;margin-top:8px;color:var(--ip-black)}.iprint-kpi.warning{border-top-color:var(--ip-orange)}.iprint-kpi.danger{border-top-color:var(--ip-red)}.iprint-kpi.success{border-top-color:var(--ip-green)}.iprint-grid{display:grid;gap:18px;margin-top:18px}.iprint-grid.two{grid-template-columns:1fr 1fr}.iprint-card,.iprint-form-card,.iprint-calendar-card{background:#fff;border:1px solid var(--ip-border);border-radius:18px;padding:20px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.iprint-card h2{margin-top:0;font-weight:800}.iprint-table th{font-weight:800}.iprint-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#e5e7eb;color:#111827;white-space:nowrap}.iprint-badge.paid{background:#dcfce7;color:#166534}.iprint-badge.todo{background:#dbeafe;color:#1d4ed8}.iprint-badge.partial{background:#ede9fe;color:#6d28d9}.iprint-badge.late{background:#fee2e2;color:#b91c1c}.iprint-badge.postponed,.iprint-badge.installment,.iprint-badge.warning{background:#fef3c7;color:#92400e}.iprint-badge.income{background:#dcfce7;color:#166534}.iprint-badge.cancelled{background:#f3f4f6;color:#6b7280}.muted{color:#6b7280}.iprint-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 15px}.iprint-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.iprint-form-card label,.iprint-mini-form label,.iprint-modal label{display:block;font-weight:700;margin-bottom:10px}.iprint-form-card input,.iprint-form-card select,.iprint-form-card textarea,.iprint-mini-form input,.iprint-mini-form textarea,.iprint-modal input,.iprint-modal select,.iprint-modal textarea{width:100%;max-width:100%;border-radius:10px;border:1px solid #d1d5db;padding:7px 10px}.iprint-mini-form label{margin-bottom:12px}.iprint-calendar-card{padding:14px}.iprint-legend{background:#fff;border:1px solid var(--ip-border);padding:12px 14px;border-radius:14px;margin:10px 0 15px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;font-weight:700}.iprint-legend span{width:14px;height:14px;border-radius:4px;display:inline-block;margin-right:-10px}.iprint-legend .out{background:#ef4444}.iprint-legend .in{background:#22c55e}.iprint-legend .paid{background:#2563eb}.fc .fc-toolbar-title{font-size:22px;font-weight:900}.fc-event{border:0!important;border-radius:8px!important;padding:2px 5px!important;font-weight:700}.fc-event.iprint-event-out{background:#ef4444!important;color:#fff!important}.fc-event.iprint-event-in{background:#22c55e!important;color:#fff!important}.fc-event.iprint-event-paid{background:#2563eb!important;color:#fff!important}.fc-event.iprint-event-late{background:#b91c1c!important}.fc-daygrid-day{background:#fff}.iprint-modal{display:none;position:fixed;inset:0;background:rgba(17,24,39,.62);z-index:99999;align-items:center;justify-content:center;padding:20px}.iprint-modal.is-open{display:flex}.iprint-modal-box{background:#fff;border-radius:20px;max-width:760px;width:100%;padding:24px;position:relative;box-shadow:0 30px 70px rgba(0,0,0,.28)}.iprint-modal-close{position:absolute;top:12px;right:14px;border:0;background:#f3f4f6;border-radius:50%;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer}.iprint-modal-actions{display:flex;gap:10px;align-items:center;margin-top:12px}.notice.inline{margin:14px 0;padding:10px 12px}ol{padding-left:22px}ol li{margin-bottom:8px}@media(max-width:1180px){.iprint-kpis,.iprint-kpis.finance{grid-template-columns:repeat(2,minmax(0,1fr))}.iprint-grid.two{grid-template-columns:1fr}}@media(max-width:760px){.iprint-kpis,.iprint-kpis.finance,.iprint-form-grid{grid-template-columns:1fr}.iprint-card,.iprint-form-card{padding:14px}.iprint-table{font-size:12px}}
.iprint-company-legend{background:#fff;border:1px solid var(--ip-border);padding:12px 14px;border-radius:14px;margin:0 0 15px;display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap;font-weight:700}.iprint-company-key{display:inline-flex;align-items:center;gap:7px;color:#111827}.iprint-company-key i,.iprint-color-dot{display:inline-block;width:16px;height:16px;border-radius:999px;border:2px solid rgba(15,23,42,.16);vertical-align:middle}.fc-event{overflow:hidden}.fc-event.iprint-event-out,.fc-event.iprint-event-in,.fc-event.iprint-event-paid,.fc-event.iprint-event-late{background-clip:padding-box!important}.fc-event-title{white-space:normal!important;line-height:1.2}
.iprint-color-form{display:flex;align-items:center;gap:8px}.iprint-color-form input[type=color]{width:42px;height:32px;padding:0;border:0;background:transparent;cursor:pointer}

/* v1.2.4 - Calendario: il colore principale dell'evento identifica l'azienda.
   La barra laterale identifica il tipo movimento: rosso uscita, verde entrata, blu pagato/incassato. */
.fc-event.iprint-event-out,
.fc-event.iprint-event-in,
.fc-event.iprint-event-paid,
.fc-event.iprint-event-late{
  background:var(--iprint-company-event-color, inherit)!important;
}
.fc-event-title,
.fc-event-main{
  color:inherit!important;
}

/* v1.2.5 - Stampa / PDF calendario mensile */
.iprint-print-controls{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto;background:#fff;border:1px solid var(--ip-border);border-radius:14px;padding:8px 10px}.iprint-print-controls label{font-weight:800;margin:0}.iprint-print-controls select{min-width:92px;border-radius:8px}.iprint-pdf-exporting .iprint-calendar-card{background:#fff!important}.iprint-pdf-exporting .fc{background:#fff!important}.iprint-pdf-exporting .fc-toolbar,.iprint-pdf-exporting .fc-col-header,.iprint-pdf-exporting .fc-scrollgrid,.iprint-pdf-exporting .fc-daygrid-day{background:#fff!important}.iprint-pdf-exporting .fc-event{box-shadow:none!important}.iprint-print-title{display:none}.iprint-print-title h2{margin:0 0 6px;font-size:24px}.iprint-print-title p{margin:0 0 12px;color:#475569;font-weight:700}
@media print{body.iprint-print-mode #adminmenumain,body.iprint-print-mode #wpadminbar,body.iprint-print-mode .notice,body.iprint-print-mode .iprint-toolbar,body.iprint-print-mode .iprint-modal,body.iprint-print-mode .update-nag{display:none!important}body.iprint-print-mode #wpcontent,body.iprint-print-mode #wpbody-content{margin:0!important;padding:0!important}body.iprint-print-mode .wrap.iprint-wrap{margin:0!important;padding:10mm!important;max-width:none!important}body.iprint-print-mode h1{display:none!important}body.iprint-print-mode .iprint-print-title{display:block!important}body.iprint-print-mode .iprint-calendar-card{box-shadow:none!important;border:0!important;padding:0!important;background:#fff!important}body.iprint-print-mode .iprint-legend,body.iprint-print-mode .iprint-company-legend{break-inside:avoid;box-shadow:none!important}body.iprint-print-mode .fc .fc-toolbar{margin-bottom:8px!important}body.iprint-print-mode .fc-toolbar-chunk:first-child,body.iprint-print-mode .fc-toolbar-chunk:last-child{display:none!important}body.iprint-print-mode .fc .fc-toolbar-title{font-size:24px!important}body.iprint-print-mode .fc-event{font-size:10px!important;line-height:1.15!important;break-inside:avoid}body.iprint-print-mode.iprint-print-a4.iprint-print-landscape{size:A4 landscape}body.iprint-print-mode.iprint-print-a4.iprint-print-portrait{size:A4 portrait}body.iprint-print-mode.iprint-print-a3.iprint-print-landscape{size:A3 landscape}body.iprint-print-mode.iprint-print-a3.iprint-print-portrait{size:A3 portrait}}
@page{margin:8mm}
@media(max-width:900px){.iprint-print-controls{width:100%;margin-left:0}.iprint-print-controls .button{flex:1;text-align:center}}

/* v1.3.0 - Pagamenti parziali e storico movimenti */
.iprint-kpi.paid{border-top-color:var(--ip-blue)}
.iprint-payment-box{margin:18px 0}.iprint-payment-summary{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 16px}.iprint-payment-summary span{background:#f8fafc;border:1px solid var(--ip-border);border-radius:999px;padding:8px 12px;font-weight:700}.iprint-payment-form{background:#f9fafb;border:1px solid var(--ip-border);border-radius:16px;padding:14px;margin:12px 0 18px}.iprint-payment-form label{display:block;font-weight:700;margin-bottom:10px}.iprint-payment-form input,.iprint-payment-form textarea{width:100%;max-width:100%;border-radius:10px;border:1px solid #d1d5db;padding:7px 10px}

/* v1.3.2 - Frontend operativo */
.iprint-frontend-wrap{max-width:1380px;margin:24px auto;padding:0 18px;box-sizing:border-box}.iprint-frontend-wrap .button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:10px;padding:8px 12px;text-decoration:none;font-weight:800;cursor:pointer}.iprint-frontend-wrap .button-primary{background:#2563eb!important;border-color:#1d4ed8!important;color:#fff!important}.iprint-frontend-wrap .notice.inline{background:#fff7ed;border-left:4px solid #f97316;border-radius:10px}.iprint-frontend-wrap select,.iprint-frontend-wrap input,.iprint-frontend-wrap textarea{font-size:15px}.iprint-frontend-wrap .fc{font-size:14px}.iprint-frontend-wrap .iprint-toolbar{justify-content:flex-start}.iprint-frontend-wrap #iprint-calendar-company{min-width:220px}

/* v1.3.3 - Fix popup frontend con header fisso del sito
   Il popup deve stare sopra la barra custom e deve essere scrollabile su schermi piccoli. */
.iprint-modal{
  z-index:2147483000!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:112px 18px 28px!important;
  box-sizing:border-box!important;
}

.iprint-modal.is-open{
  display:flex!important;
}

.iprint-modal-box{
  max-height:calc(100vh - 140px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}

.iprint-modal-close{
  position:sticky!important;
  top:0!important;
  float:right!important;
  z-index:3!important;
}

.iprint-modal-box h2{
  margin-top:0!important;
  padding-right:48px!important;
}

@media(max-width:760px){
  .iprint-modal{
    padding:88px 12px 18px!important;
  }
  .iprint-modal-box{
    max-height:calc(100vh - 106px)!important;
    border-radius:16px!important;
    padding:18px!important;
  }
}

@media(max-height:720px){
  .iprint-modal{
    padding-top:88px!important;
  }
  .iprint-modal-box{
    max-height:calc(100vh - 106px)!important;
  }
}

/* v1.3.4 - Fix visibilità campi frontend/modale
   Alcuni temi/snippet globali possono rendere invisibili valori digitati o selezionati.
   Forziamo colore, sfondo, caret e opzioni su tutti i campi del plugin. */
.iprint-wrap input,
.iprint-wrap select,
.iprint-wrap textarea,
.iprint-modal input,
.iprint-modal select,
.iprint-modal textarea,
.iprint-frontend-wrap input,
.iprint-frontend-wrap select,
.iprint-frontend-wrap textarea {
  background-color:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  caret-color:#0f172a!important;
  opacity:1!important;
  visibility:visible!important;
  font-weight:700!important;
  text-shadow:none!important;
  box-shadow:none!important;
  box-sizing:border-box!important;
}

.iprint-wrap input:focus,
.iprint-wrap select:focus,
.iprint-wrap textarea:focus,
.iprint-modal input:focus,
.iprint-modal select:focus,
.iprint-modal textarea:focus,
.iprint-frontend-wrap input:focus,
.iprint-frontend-wrap select:focus,
.iprint-frontend-wrap textarea:focus {
  background-color:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border-color:#ffcc00!important;
  outline:2px solid rgba(255,204,0,.22)!important;
  outline-offset:1px!important;
}

.iprint-wrap input::placeholder,
.iprint-wrap textarea::placeholder,
.iprint-modal input::placeholder,
.iprint-modal textarea::placeholder,
.iprint-frontend-wrap input::placeholder,
.iprint-frontend-wrap textarea::placeholder {
  color:#94a3b8!important;
  -webkit-text-fill-color:#94a3b8!important;
  opacity:1!important;
}

.iprint-wrap select option,
.iprint-modal select option,
.iprint-frontend-wrap select option {
  background:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  font-weight:700!important;
}

/* Fix specifico importi: accetta virgola italiana senza svuotare il campo. */
#dl-amount {
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}

#dl-amount::-webkit-outer-spin-button,
#dl-amount::-webkit-inner-spin-button {
  -webkit-appearance:none!important;
  margin:0!important;
}

/* Evita interferenze con animazioni/transition del tema sui campi della modale. */
.iprint-modal input,
.iprint-modal select,
.iprint-modal textarea {
  transition:border-color .18s ease, outline-color .18s ease!important;
  transform:none!important;
}

/* v1.3.5 - Frontend: nuove scadenze, archivio pagate e controlli calendario */
.iprint-toggle-paid{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:38px!important;
  padding:0 12px!important;
  border:1px solid var(--ip-border)!important;
  border-radius:999px!important;
  background:#ffffff!important;
  color:#111827!important;
  font-weight:800!important;
  margin:0!important;
  white-space:nowrap!important;
}
.iprint-toggle-paid input{
  width:auto!important;
  margin:0!important;
}
.iprint-occurrence-info{
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
  color:#92400e!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  font-weight:800!important;
  margin:0 0 14px!important;
}
.iprint-modal-help{
  margin:10px 0 0!important;
  font-size:13px!important;
}
.iprint-paid-archive{
  margin-top:18px!important;
}
.iprint-paid-archive .iprint-card{
  padding:18px!important;
}
.iprint-paid-archive h2{
  margin:0 0 10px!important;
  font-size:20px!important;
  font-weight:900!important;
  color:#111827!important;
}
.iprint-archive-table-wrap{
  overflow-x:auto!important;
}
.iprint-archive-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  border:1px solid var(--ip-border)!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.iprint-archive-table th,
.iprint-archive-table td{
  padding:10px 12px!important;
  border-bottom:1px solid var(--ip-border)!important;
  text-align:left!important;
  font-size:13px!important;
  color:#111827!important;
}
.iprint-archive-table th{
  background:#f8fafc!important;
  font-weight:900!important;
}
.iprint-archive-table tr:last-child td{
  border-bottom:0!important;
}
#dl-paid-amount{
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
#dl-paid-amount::-webkit-outer-spin-button,
#dl-paid-amount::-webkit-inner-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}
@media(max-width:760px){
  .iprint-toggle-paid{width:100%!important;justify-content:center!important;border-radius:14px!important;}
  #iprint-new-deadline-button{width:100%!important;}
}
