.admin-workspace{flex:1;min-width:0;background:#f7f8fa;padding:34px 42px 64px;overflow:auto;color:#111}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.admin-topbar h1{font-size:34px;margin:4px 0}.admin-topbar p{margin:0;color:#657083}.admin-identity{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dde2e8;border-radius:16px;padding:10px 14px}.admin-identity>span,.admin-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#172033;color:#fff;font-weight:800}.admin-identity small,.admin-user-row small{display:block;color:#748092;margin-top:4px}.admin-tabs{display:flex;gap:8px;border-bottom:1px solid #dfe4e9;margin-bottom:26px}.admin-tabs button{border:0;background:transparent;padding:14px 18px;font-weight:800;color:#6b7280;border-bottom:3px solid transparent}.admin-tabs button.active{color:#e30613;border-color:#e30613}.admin-content{max-width:1380px}.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.admin-section-head h2{font-size:28px;margin:4px 0 8px}.admin-section-head p{margin:0;color:#697587}.admin-primary,.admin-save{border:0;border-radius:12px;background:#e30613;color:#fff;padding:14px 20px;font-weight:800;cursor:pointer}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.admin-stats article{background:#fff;border:1px solid #e0e4e9;border-top:4px solid #06a6cc;border-radius:15px;padding:18px}.admin-stats strong{display:block;font-size:28px}.admin-stats span{color:#6b7280}.admin-user-list{background:#fff;border:1px solid #dfe4e9;border-radius:16px;overflow:hidden}.admin-user-row{display:grid;grid-template-columns:52px minmax(220px,1fr) 180px 110px 24px;align-items:center;width:100%;gap:14px;border:0;border-bottom:1px solid #edf0f3;background:#fff;padding:14px 18px;text-align:left;cursor:pointer}.admin-user-row:hover{background:#f8fafb}.admin-role{font-weight:700}.admin-status{justify-self:start;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.admin-status.active{background:#e5f7ef;color:#087a4a}.admin-status.inactive{background:#f4e9ea;color:#9c1c25}.admin-chevron{font-size:25px}.admin-editor{margin-top:22px;background:#fff;border:1px solid #dfe4e9;border-radius:18px;padding:24px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.admin-form-grid label{display:grid;gap:7px;font-weight:750}.admin-form-grid input,.admin-form-grid select{border:1px solid #cfd6de;border-radius:11px;padding:12px;background:#fff}.admin-active{align-content:center;grid-template-columns:auto 1fr!important;justify-content:start}.admin-active input{width:18px}.admin-permission-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 12px}.admin-permission-head small{display:block;color:#768193;margin-top:5px}.admin-select-role,.admin-cancel{border:1px solid #d4dae1;background:#fff;border-radius:10px;padding:10px 13px;font-weight:750}.admin-permissions{border:1px solid #e0e5ea;border-radius:14px;overflow:hidden}.admin-permission-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px 150px;gap:10px;padding:12px 16px;border-bottom:1px solid #edf0f3}.admin-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.admin-form-message{font-weight:700;color:#087a4a}.admin-form-message.error{color:#c21420}.admin-role-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-role-cards article,.admin-integration-notice{background:#fff;border:1px solid #dfe4e9;border-radius:16px;padding:22px}.admin-role-cards span{color:#e30613}.admin-role-cards h3{font-size:20px;margin:16px 0 8px}.admin-role-cards p,.admin-integration-notice p{color:#6b7280;line-height:1.5}.admin-integration-notice{border-left:5px solid #e30613}.admin-nav-item{margin-top:12px;border-top:1px solid rgba(255,255,255,.12)!important;padding-top:18px!important}@media(max-width:900px){.admin-workspace{padding:24px 18px}.admin-topbar,.admin-section-head{align-items:stretch;flex-direction:column}.admin-stats,.admin-role-cards,.admin-form-grid{grid-template-columns:1fr}.admin-user-row{grid-template-columns:44px 1fr 24px}.admin-user-row .admin-role,.admin-user-row .admin-status{grid-column:2}.admin-permission-row{grid-template-columns:1fr 110px 110px}}

/* =========================================================
   MANUTENZIONE - ELENCO MODULI
   ========================================================= */

.maintenance-list {
  margin-top: 26px;
  max-width: 1280px;
  background: #fff;
  border: 1px solid #dbe2ea;
  border-radius: 18px;
  overflow: hidden;
}

.maintenance-row {
  min-height: 128px;
  display: flex;
  align-items: center;
  gap: 28px;
  padding: 24px 30px;
  cursor: pointer;
  background: #fff;
  transition:
    background .15s ease,
    box-shadow .15s ease;
}

.maintenance-row + .maintenance-row {
  border-top: 1px solid #e1e6ec;
}

.maintenance-row:hover {
  background: #fafbfc;
}

.maintenance-icon {
  width: 70px;
  height: 70px;
  flex: 0 0 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dbe2ea;
  border-radius: 12px;
  color: #ef0715;
  font-size: 32px;
  font-weight: 700;
  background: #fff;
}

.maintenance-info {
  flex: 1;
  min-width: 0;
}

.maintenance-info h3 {
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.2;
  color: #101828;
}

.maintenance-info p {
  margin: 0;
  font-size: 17px;
  line-height: 1.5;
  color: #667085;
}

.maintenance-open {
  flex: 0 0 auto;
  min-width: 116px;
  height: 48px;
  padding: 0 20px;
  border: 1px solid #ef0715;
  border-radius: 10px;
  background: #fff;
  color: #ef0715;
  font: inherit;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
}

.maintenance-open span {
  margin-left: 12px;
  font-size: 24px;
  line-height: 0;
  vertical-align: -2px;
}

.maintenance-row:hover .maintenance-open {
  background: #ef0715;
  color: #fff;
}

@media (max-width: 800px) {
  .maintenance-row {
    gap: 16px;
    padding: 20px;
  }

  .maintenance-icon {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
    font-size: 25px;
  }

  .maintenance-open {
    min-width: auto;
  }
}

/* === PESS ANAGRAFICHE WORKSPACE === */
.pess-subjects-workspace {
  padding: 32px 36px 48px;
  background: #f6f8fb;
  min-height: 100vh;
}

.pess-subjects-topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 26px;
}

.pess-subjects-topbar h1 {
  margin: 4px 0 8px;
  font-size: 38px;
  line-height: 1.1;
  color: #101828;
}

.pess-subjects-topbar .subhead {
  margin: 0;
  color: #667085;
  font-size: 17px;
}

.pess-subjects-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pess-subjects-actions button {
  width: auto;
  min-width: 150px;
}

.pess-subjects-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.pess-subjects-kpis article {
  background: #fff;
  border: 1px solid #dde3ea;
  border-radius: 16px;
  padding: 20px 22px;
  box-shadow: 0 8px 24px rgba(16, 24, 40, .04);
}

.pess-subjects-kpis strong {
  display: block;
  font-size: 30px;
  line-height: 1;
  color: #101828;
  margin-bottom: 8px;
}

.pess-subjects-kpis span {
  color: #667085;
  font-size: 14px;
  font-weight: 600;
}

.pess-subjects-panel {
  background: #fff;
  border: 1px solid #dde3ea;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(16, 24, 40, .04);
}

.pess-subjects-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 220px 220px auto;
  align-items: end;
  gap: 14px;
  padding: 20px;
  border-bottom: 1px solid #e4e8ee;
}

.pess-subjects-toolbar label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: #475467;
  font-size: 13px;
  font-weight: 700;
}

.pess-subjects-toolbar input,
.pess-subjects-toolbar select {
  width: 100%;
  height: 46px;
  border: 1px solid #cfd7e2;
  border-radius: 10px;
  background: #fff;
  padding: 0 13px;
  font: inherit;
  color: #101828;
  outline: none;
}

.pess-subjects-toolbar input:focus,
.pess-subjects-toolbar select:focus {
  border-color: #ef0715;
  box-shadow: 0 0 0 3px rgba(239, 7, 21, .08);
}

.pess-subjects-count {
  align-self: center;
  justify-self: end;
  color: #667085;
  font-weight: 700;
  white-space: nowrap;
}

.pess-subjects-table-wrap {
  width: 100%;
  overflow: auto;
}

.pess-subjects-table {
  width: 100%;
  min-width: 1050px;
  border-collapse: collapse;
  table-layout: auto;
}

.pess-subjects-table th {
  padding: 14px 18px;
  text-align: left;
  background: #f8fafc;
  color: #475467;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-bottom: 1px solid #e4e8ee;
  white-space: nowrap;
}

.pess-subjects-table td {
  padding: 14px 18px;
  border-bottom: 1px solid #edf0f4;
  color: #344054;
  font-size: 14px;
  vertical-align: middle;
}

.pess-subjects-table tbody tr:hover {
  background: #fafbfc;
}

.pess-subjects-table td:first-child {
  min-width: 290px;
}

.pess-subjects-table td strong {
  display: block;
  color: #101828;
  font-size: 14px;
  margin-bottom: 4px;
}

.pess-subjects-table td small {
  display: block;
  color: #667085;
  font-size: 12px;
  font-weight: 400;
}

.pess-subject-status {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  background: #f2f4f7;
  color: #475467;
}

.pess-subject-status.active {
  background: #eaf8f0;
  color: #087a45;
}

.pess-subject-status.inactive {
  background: #fef0f0;
  color: #b42318;
}

.pess-subject-status.pending {
  background: #fff6e5;
  color: #9a6700;
}

.pess-subjects-loading,
.pess-subjects-empty,
.pess-subjects-error {
  padding: 42px 24px;
  text-align: center;
  color: #667085;
}

.pess-subjects-error {
  color: #b42318;
}

@media (max-width: 1050px) {
  .pess-subjects-workspace {
    padding: 24px;
  }

  .pess-subjects-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pess-subjects-toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .pess-subjects-count {
    justify-self: start;
  }
}

@media (max-width: 700px) {
  .pess-subjects-topbar {
    flex-direction: column;
  }

  .pess-subjects-actions {
    width: 100%;
  }

  .pess-subjects-actions button {
    flex: 1;
  }

  .pess-subjects-kpis,
  .pess-subjects-toolbar {
    grid-template-columns: 1fr;
  }
}


/* === PESS PEOPLE CONTACTS === */
.people-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}

.people-head h3{
  margin:0 0 5px;
}

.people-head p{
  margin:0;
  color:#667085;
}

.people-summary{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:18px;
}

.people-summary span{
  padding:8px 12px;
  border:1px solid #e4e7ec;
  border-radius:10px;
  background:#f8fafc;
  color:#667085;
  font-size:12px;
}

.people-summary strong{
  color:#101828;
  margin-right:4px;
}

.pess-primary-person{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 15px;
  margin-bottom:14px;
  border:1px solid #f1c3c7;
  border-radius:12px;
  background:#fff8f8;
}

.pess-primary-person > span{
  color:#d70b17;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.pess-primary-person small{
  color:#667085;
}

.pess-people-list{
  display:grid;
  gap:10px;
}

.pess-person-card{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:14px;
  border:1px solid #e4e7ec;
  border-radius:14px;
  background:#fff;
}

.pess-person-main{
  min-width:0;
  display:grid;
  gap:3px;
}

.pess-person-main > span,
.pess-person-main > small{
  color:#667085;
}

.pess-person-title{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}

.pess-person-primary{
  padding:3px 7px;
  border-radius:999px;
  background:#fee4e2;
  color:#b42318;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}

.pess-person-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:5px;
}

.pess-person-badges em{
  padding:3px 7px;
  border-radius:999px;
  background:#f2f4f7;
  color:#475467;
  font-size:10px;
  font-style:normal;
}

.pess-people-empty{
  display:grid;
  gap:4px;
  padding:28px;
  border:1px dashed #d0d5dd;
  border-radius:14px;
  text-align:center;
  color:#667085;
}

.pess-people-empty strong{
  color:#101828;
}

.person-editor-slot:not(:empty){
  margin-top:18px;
}

.pess-person-form{
  padding:20px;
  border:1px solid #d0d5dd;
  border-radius:16px;
  background:#f9fafb;
}

.pess-person-form-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:18px;
}

.pess-person-form-head h3{
  margin:0;
}

.pess-person-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.pess-person-grid label{
  display:grid;
  gap:6px;
  color:#344054;
  font-size:12px;
  font-weight:700;
}

.pess-person-grid input,
.pess-person-grid select{
  width:100%;
  padding:10px 11px;
  border:1px solid #d0d5dd;
  border-radius:9px;
  background:#fff;
  color:#101828;
  font:inherit;
}

.pess-person-checks{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.pess-person-checks label{
  display:flex;
  align-items:center;
  gap:9px;
  color:#344054;
  font-size:13px;
}

.pess-person-message{
  min-height:18px;
  margin:12px 0 0;
  color:#b42318;
  font-size:12px;
  font-weight:700;
}

.pess-person-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:12px;
}

@media(max-width:760px){
  .people-head{
    align-items:stretch;
    flex-direction:column;
  }

  .pess-person-grid{
    grid-template-columns:1fr;
  }

  .pess-person-card{
    grid-template-columns:40px minmax(0,1fr);
  }

  .pess-person-card > button{
    grid-column:1/-1;
  }
}

/* === PESS ANAGRAFICHE - AMMINISTRAZIONE RISERVATA === */

.private-admin-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}

.private-admin-head h3{
  margin:0 0 6px;
}

.private-admin-head p:last-child{
  margin:0;
  color:#667085;
  line-height:1.5;
}

.private-admin-badge{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  background:#101828;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.private-admin-identifiers{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}

.private-admin-identifiers > div{
  padding:13px 15px;
  border:1px solid #e4e7ec;
  border-radius:12px;
  background:#f9fafb;
}

.private-admin-identifiers span,
.private-admin-metrics span,
.private-admin-payment-grid span{
  display:block;
  margin-bottom:5px;
  color:#667085;
  font-size:11px;
  font-weight:700;
}

.private-admin-identifiers strong{
  color:#101828;
  font-size:13px;
}

.private-admin-section{
  margin-top:16px;
  padding:18px;
  border:1px solid #e4e7ec;
  border-radius:16px;
  background:#fff;
}

.private-admin-section-head{
  margin-bottom:14px;
}

.private-admin-section-head span{
  color:#d70b17;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.private-admin-section-head h4{
  margin:3px 0 0;
  font-size:17px;
}

.private-admin-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.private-admin-metrics article{
  padding:14px;
  border:1px solid #eaecf0;
  border-radius:12px;
  background:#f9fafb;
}

.private-admin-metrics strong{
  display:block;
  color:#101828;
  font-size:18px;
}

.private-admin-metrics small{
  display:block;
  margin-top:5px;
  color:#98a2b3;
}

.private-admin-metrics .admin-attention{
  border-color:#fedf89;
  background:#fffaeb;
}

.private-admin-metrics .admin-danger{
  border-color:#fecdca;
  background:#fef3f2;
}

.private-admin-aging{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.private-admin-aging > div{
  padding:11px;
  border-radius:10px;
  background:#f2f4f7;
}

.private-admin-aging span{
  display:block;
  color:#667085;
  font-size:10px;
}

.private-admin-aging strong{
  display:block;
  margin-top:4px;
  color:#101828;
  font-size:13px;
}

.private-admin-payment-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.private-admin-payment-grid > div{
  padding:13px;
  border-bottom:1px solid #eaecf0;
}

.private-admin-payment-grid strong{
  color:#101828;
  font-size:16px;
}

.admin-danger-text strong{
  color:#b42318;
}

.private-admin-period{
  margin:14px 0 0;
  padding-top:12px;
  border-top:1px solid #eaecf0;
  color:#667085;
  font-size:11px;
}

.private-admin-commercial{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
}

.private-admin-commercial > div{
  display:flex;
  justify-content:space-between;
  gap:15px;
  padding:10px 0;
  border-bottom:1px solid #eaecf0;
}

.private-admin-commercial dt{
  color:#667085;
}

.private-admin-commercial dd{
  margin:0;
  text-align:right;
  color:#101828;
  font-weight:700;
}

.private-admin-note{
  display:grid;
  gap:4px;
  margin-top:16px;
  padding:13px 15px;
  border-radius:12px;
  background:#f2f4f7;
  color:#667085;
  font-size:11px;
}

.private-admin-note strong{
  color:#344054;
}

@media(max-width:850px){
  .private-admin-identifiers,
  .private-admin-commercial{
    grid-template-columns:1fr;
  }

  .private-admin-metrics,
  .private-admin-payment-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .private-admin-aging{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){
  .private-admin-metrics,
  .private-admin-payment-grid,
  .private-admin-aging{
    grid-template-columns:1fr;
  }
}


/* === PESS FINANCIAL PRIVATE V156 === */
.financial-private{display:grid;gap:16px;min-width:0}
.financial-private.fullscreen{position:fixed;z-index:12000;inset:0;overflow:auto;background:#f6f7f9;padding:28px 34px}
.financial-lock{text-align:center;padding:42px 28px;border:1px solid #e4e7ec;border-radius:18px;background:#fff}
.financial-lock-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:#101828;color:#fff;font-size:16px}
.financial-lock h3{margin:4px 0 10px;font-size:23px}.financial-lock>p:not(.eyebrow){max-width:720px;margin:0 auto 18px;color:#667085;line-height:1.55}
.financial-access-note{display:grid;gap:3px;max-width:620px;margin:0 auto 18px;padding:12px 14px;border-radius:12px;background:#f2f4f7;color:#667085;font-size:11px}.financial-access-note strong{color:#344054}
.financial-private-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:14px;border-bottom:1px solid #e4e7ec}.financial-private-head h3{margin:0 0 5px;font-size:22px}.financial-private-head p{margin:0;color:#667085}
.financial-private-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.financial-private-actions button,.financial-detail-filters button{cursor:pointer;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828;padding:9px 11px;font-size:11px;font-weight:800}.financial-private-actions button:hover,.financial-detail-filters button:hover{border-color:#e30613;color:#e30613}.financial-private-actions .fullscreen-button{background:#101828;color:#fff;border-color:#101828}
.financial-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.financial-summary article{min-width:0;padding:14px;border:1px solid #e4e7ec;border-radius:13px;background:#fff}.financial-summary span,.customer-revenue-kpis span,.customer-revenue-year span{display:block;color:#667085;font-size:10px;font-weight:800}.financial-summary strong{display:block;margin-top:5px;color:#101828;font-size:17px}.financial-summary small{display:block;margin-top:5px;color:#98a2b3;font-size:9px;line-height:1.35}.financial-summary article.danger{border-color:#fda29b;background:#fff6f5}.financial-summary article.warning{border-color:#fedf89;background:#fffcf5}
.customer-revenue-panel{padding:17px;border:1px solid #e4e7ec;border-radius:15px;background:#fff}.customer-revenue-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.customer-revenue-heading h4{margin:2px 0 0}.customer-revenue-heading small{color:#667085}.customer-revenue-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.customer-revenue-kpis article{padding:13px;border-radius:11px;background:#f8fafc}.customer-revenue-kpis strong{display:block;margin-top:5px;font-size:18px}.customer-revenue-kpis small{color:#98a2b3}.customer-revenue-year{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:10px;padding:12px 13px;border-top:1px solid #eaecf0}.customer-revenue-year strong{font-size:18px}.customer-revenue-year small{display:block;margin-top:3px;color:#98a2b3}
.financial-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.financial-card{padding:16px;border:1px solid #e4e7ec;border-radius:15px;background:#fff}.financial-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:13px}.financial-card-title span{color:#e30613;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.financial-card-title h4{margin:3px 0 0;font-size:16px}.financial-card-title>b{font-size:12px}
.maturity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.maturity-list>div{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;background:#f8fafc;font-size:10px}.maturity-list>div.danger{background:#fff1f0;color:#b42318}.financial-reconcile-warning{margin:10px 0 0;color:#b54708;font-size:10px}
.payment-score-wrap{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center}.payment-score{display:grid;place-items:center;align-content:center;aspect-ratio:1;border-radius:50%;background:#f2f4f7}.payment-score strong{font-size:24px}.payment-score span{font-size:10px;font-weight:800}.payment-score.good{background:#ecfdf3;color:#027a48}.payment-score.ok{background:#f0f9ff;color:#026aa2}.payment-score.warn{background:#fffaeb;color:#b54708}.payment-score.bad{background:#fef3f2;color:#b42318}.payment-score-data{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}.payment-score-data div{padding:8px;border-bottom:1px solid #eaecf0}.payment-score-data dt{color:#667085;font-size:9px}.payment-score-data dd{margin:3px 0 0;font-weight:800}.closed-payment-delays{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.closed-payment-delays div{padding:9px;border-radius:9px;background:#f8fafc}.closed-payment-delays span{display:block;color:#667085;font-size:9px}.closed-payment-delays strong{display:block;margin-top:3px;font-size:11px}
.commercial-profile-list{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:0}.commercial-profile-list div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #eaecf0}.commercial-profile-list dt{color:#667085}.commercial-profile-list dd{margin:0;text-align:right;font-weight:800}.contract-discounts-detail{margin-top:12px}.contract-discounts-detail summary{cursor:pointer;color:#e30613;font-weight:800}.contract-discounts-detail p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:8px 0;border-bottom:1px solid #eaecf0;font-size:10px}
.financial-detail-card{overflow:hidden}.financial-detail-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.financial-detail-filters button.active{background:#111;color:#fff;border-color:#111}.financial-detail-table{border:1px solid #e5dede;border-radius:10px;overflow:auto}.financial-detail-table>div{display:grid;grid-template-columns:140px 1.15fr 105px 120px 130px 1.4fr;align-items:center;gap:14px;min-width:980px;padding:11px 13px;border-top:1px solid #eee8e8;font-size:9px}.financial-detail-table>div:first-child{border-top:0}.financial-detail-table>div.head{background:#f3f1f1;color:#4f4747;text-transform:uppercase;letter-spacing:.04em;font-size:8px;font-weight:850}.financial-detail-table strong,.financial-detail-table small{display:block}.financial-detail-table small{margin-top:3px;color:#6b6262;font-size:8px;line-height:1.35}.financial-status{display:inline-block;padding:4px 7px;border-radius:999px;background:#f2f4f7;color:#344054;font-size:8px}.empty-state{padding:24px;text-align:center;color:#667085}.empty-state strong{display:block;color:#101828;margin-bottom:4px}.financial-footnote{margin:0;color:#667085;font-size:9px;line-height:1.5}
.primary-compact{cursor:pointer;border:0;border-radius:9px;background:#e30613;color:#fff;padding:10px 14px;font-weight:900}
@media(max-width:1100px){.financial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.financial-grid{grid-template-columns:1fr}}
@media(max-width:700px){.financial-private.fullscreen{padding:16px}.financial-private-head,.customer-revenue-heading{flex-direction:column}.financial-private-actions{justify-content:flex-start}.financial-summary,.customer-revenue-kpis,.commercial-profile-list{grid-template-columns:1fr}.payment-score-wrap{grid-template-columns:1fr}.payment-score{width:130px;margin:auto}.maturity-list{grid-template-columns:1fr}}


/* === PESS FINANCIAL PRIVATE V156 FIX1 === */
.payment-score-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;align-items:center}
.payment-gauge{display:grid;justify-items:center;gap:3px}
.payment-gauge svg{display:block;width:180px;max-width:100%;height:auto;overflow:visible}
.payment-gauge path{fill:none;stroke-width:12;stroke-linecap:round}
.payment-gauge .gauge-track{stroke:#eaecf0}
.payment-gauge .gauge-red{stroke:#d92d20}
.payment-gauge .gauge-amber{stroke:#f79009}
.payment-gauge .gauge-green{stroke:#12b76a}
.payment-gauge .gauge-needle{stroke:#101828;stroke-width:3;stroke-linecap:round}
.payment-gauge .gauge-hub{fill:#101828}
.payment-gauge .gauge-value{fill:#101828;font-size:15px;font-weight:900;text-anchor:middle}
.payment-gauge>strong{font-size:15px}.payment-gauge>small{color:#667085;text-align:center;font-size:9px}
.payment-gauge.green>strong{color:#027a48}.payment-gauge.amber>strong{color:#b54708}.payment-gauge.red>strong{color:#b42318}
.payment-kpis-six{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.payment-kpis-six>div{min-width:0;padding:10px;border:1px solid #eaecf0;border-radius:10px;background:#f9fafb}
.payment-kpis-six span{display:block;color:#667085;font-size:9px}.payment-kpis-six strong{display:block;margin-top:4px;font-size:13px;overflow-wrap:anywhere}
.payment-kpis-six .negative,.closed-payment-delays .negative{color:#b42318}
.closed-payment-delays{grid-template-columns:repeat(3,minmax(0,1fr))}
.closed-payment-delays>p{grid-column:1/-1;margin:0;padding:10px 12px;border-radius:9px;background:#f9fafb;color:#667085;font-size:9px;line-height:1.45}
.contract-discounts-detail{margin-top:14px;border-top:1px solid #eaecf0;padding-top:12px}
.contract-discounts-detail summary{display:inline-flex;cursor:pointer;padding:8px 11px;border:1px solid #e30613;border-radius:8px;color:#e30613;background:#fff;font-size:10px;font-weight:900;list-style:none}
.contract-discounts-detail summary::-webkit-details-marker{display:none}
.contract-discount-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 8px;padding:10px 12px;border-radius:9px;background:#f8fafc;font-size:10px}
.contract-discount-summary span{color:#667085}
.contract-discount-table{border:1px solid #e4e7ec;border-radius:10px;overflow:auto}
.contract-discount-table>div{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(170px,1fr) 150px;gap:14px;align-items:center;min-width:720px;padding:10px 12px;border-top:1px solid #eaecf0;font-size:10px}
.contract-discount-table>div:first-child{border-top:0}
.contract-discount-table>div.head{background:#f2f4f7;color:#667085;text-transform:uppercase;letter-spacing:.04em;font-size:8px;font-weight:900}
.contract-discount-table strong,.contract-discount-table small{display:block}
.contract-discount-table small{margin-top:3px;color:#98a2b3;font-size:8px}
.contract-discount-table .ordinary,.contract-discount-table .special{display:inline-flex;justify-self:start;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:800}
.contract-discount-table .ordinary{background:#ecfdf3;color:#027a48}
.contract-discount-table .special{background:#fff6ed;color:#b93815}
@media(max-width:760px){.payment-score-layout{grid-template-columns:1fr}.payment-kpis-six{grid-template-columns:repeat(2,minmax(0,1fr))}.closed-payment-delays{grid-template-columns:1fr}.contract-discount-summary{align-items:flex-start;flex-direction:column}}


/* === PESS ANAGRAFICHE LEGACY V157 === */
.pess-subjects-workspace{padding:30px 32px 46px!important;background:#f8f5f5!important}
.legacy-subjects-topbar{margin:0 0 24px!important}
.legacy-subjects-topbar h1{margin:4px 0 5px!important;font-size:36px!important;font-weight:500!important;letter-spacing:-.025em}
.legacy-subjects-topbar .subhead{font-size:14px!important;color:#111!important}

.legacy-subjects-module{display:grid!important;grid-template-columns:minmax(560px,1.55fr) minmax(390px,.95fr)!important;gap:18px!important;align-items:start!important}
.legacy-directory-panel,.legacy-detail-panel{min-height:660px;background:#fff!important;border:1px solid #eadede!important;border-radius:16px!important;box-shadow:0 8px 24px rgba(57,23,23,.04)!important}
.legacy-directory-panel{overflow:hidden!important;padding:0 16px 16px!important}

.legacy-module-toolbar{display:grid!important;grid-template-columns:minmax(260px,1fr) auto auto!important;gap:10px!important;align-items:center!important;padding:16px 0 14px!important;border-bottom:0!important}
.legacy-search-box{min-height:44px;display:flex!important;align-items:center!important;gap:8px!important;padding:0 12px!important;border:1px solid #e6dcdc!important;border-radius:9px!important;background:#fff!important}
.legacy-search-box span{font-size:18px;color:#111}
.legacy-search-box input{width:100%;border:0!important;outline:0!important;background:transparent!important;font-size:12px!important;color:#111!important}

.legacy-action-button,.legacy-module-toolbar .primary-compact{min-height:44px;border-radius:9px!important;padding:0 14px!important;font-size:10px!important;font-weight:800!important;white-space:nowrap}
.legacy-action-button{border:1px solid #d9d0d0!important;background:#fff!important;color:#111!important}

.legacy-directory-filters{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important;padding:0 0 14px!important;border-bottom:1px solid #eadede!important}
.legacy-directory-filters button{border:1px solid #e4dada!important;color:#5f5656!important;cursor:pointer;background:#fff!important;border-radius:7px!important;padding:6px 9px!important;font-size:9px!important;font-weight:750!important}
.legacy-directory-filters button.active{color:#e30613!important;background:#fff6f6!important;border-color:#f0b8bd!important}
.legacy-directory-filters .unassigned-filter{margin-left:auto!important}
.legacy-directory-filters .inactive-filter.active{color:#fff!important;background:#8f1b24!important;border-color:#8f1b24!important}
.legacy-directory-filters .pess-subjects-count{margin-left:4px!important;color:#514a4a!important;font-size:9px!important;font-weight:500!important}

.legacy-company-head,.legacy-company-row{display:grid!important;grid-template-columns:minmax(280px,1.6fr) minmax(120px,.7fr) minmax(150px,.8fr) minmax(125px,.7fr)!important;gap:10px!important}
.legacy-company-head{padding:7px 12px!important;border-bottom:1px solid #eadede!important;color:#111!important;font-size:8px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.pess-subjects-table-wrap{overflow:visible!important}.legacy-company-list{width:100%}
.legacy-company-row{width:100%;min-height:65px;align-items:center;border:0;border-bottom:1px solid #eadede;background:#fff;padding:10px 12px;text-align:left;color:#111;cursor:pointer}
.legacy-company-row:hover{background:#fffafa}.legacy-company-row.selected{background:#f4f8fc!important;box-shadow:inset 3px 0 0 #e30613}
.legacy-company-row .company-name{display:flex;align-items:center;gap:11px;min-width:0}
.legacy-company-row .company-name i{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:8px;background:#fff0f1;color:#e30613;font-size:10px;font-style:normal;font-weight:900}
.legacy-company-row .company-name b{min-width:0;font-size:11px;line-height:1.25;overflow:hidden;text-overflow:ellipsis}
.legacy-company-row .company-name small{display:block;margin-top:5px;color:#2e2929;font-size:8px;font-weight:500}
.legacy-company-row>span{font-size:10px}
.legacy-company-row .level-chip{display:inline-flex;min-height:24px;align-items:center;padding:4px 7px;border-radius:7px;background:#fff0f1;color:#e30613;font-size:8px;font-style:normal;font-weight:800}
.legacy-company-row .status-active,.legacy-company-row .status-muted{font-size:9px!important;font-weight:800!important}.legacy-company-row .status-active{color:#087a45}.legacy-company-row .status-muted{color:#111}

.legacy-detail-panel{padding:16px!important}
.legacy-detail-panel .company-hero{padding-bottom:18px!important;border-bottom:1px solid #eadede!important}
.legacy-detail-panel .company-avatar{border-radius:12px!important;background:linear-gradient(135deg,#281011,#e30613)!important}
.legacy-detail-panel .record-tabs{border-bottom:1px solid #eadede!important;gap:2px!important;margin:14px 0 16px!important}
.legacy-detail-panel .record-tabs button{flex:1 1 0;min-width:0;padding:9px 5px!important;color:#605858!important;font-size:8px!important;font-weight:800!important}
.legacy-detail-panel .record-tabs button.active{color:#e30613!important;border-bottom-color:#e30613!important}
.legacy-detail-panel .detail-score{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.legacy-detail-panel .detail-score>div{background:#f7f8fa!important;border-radius:10px!important}

@media(max-width:1180px){.legacy-subjects-module{grid-template-columns:1fr!important}}
@media(max-width:760px){
  .legacy-module-toolbar{grid-template-columns:1fr 1fr!important}
  .legacy-search-box{grid-column:1/-1}
  .legacy-company-head{display:none!important}
  .legacy-company-row{grid-template-columns:1fr!important;gap:6px!important}
  .legacy-directory-filters .unassigned-filter{margin-left:0!important}
}

/* === PESS ANAGRAFICHE - MAPPA CLIENTE STORICA === */

.company-location-map{
  position:relative;
  width:100%;
  height:250px;
  min-height:250px;
  margin-top:14px;
  overflow:hidden;
  border:1px solid #d6dee7;
  border-radius:15px;
  background:#eef2f5;
  z-index:1;
}

.company-location-map .leaflet-pane,
.company-location-map .leaflet-control{
  z-index:auto;
}

.company-location-map .leaflet-control-zoom{
  z-index:500;
}

.company-location-map .leaflet-control-attribution{
  z-index:500;
  font-size:8px;
}

.company-location-map .real-map-marker{
  position:relative;
  display:block;
  width:18px;
  height:18px;
  border-radius:50% 50% 50% 0;
  background:#e30613;
  border:2px solid #fff;
  box-shadow:0 2px 7px rgba(0,0,0,.3);
  transform:rotate(-45deg);
}

.company-location-map .real-map-marker i{
  position:absolute;
  width:5px;
  height:5px;
  left:50%;
  top:50%;
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
}

.company-map-load-error{
  height:100%;
  display:grid;
  place-content:center;
  gap:6px;
  padding:20px;
  text-align:center;
  color:#667085;
}

.company-map-load-error strong{
  color:#101828;
}

@media(max-width:700px){
  .company-location-map{
    height:210px;
    min-height:210px;
  }
}


/* === PESS COMPANY EDITOR VERIFY V157 === */
.pess-company-editor .company-verify-panel{
  grid-column:1/-1;
  margin-top:2px;
  padding:14px;
  border:1px solid #a7ded2;
  border-radius:12px;
  background:#effbf8;
}

.pess-company-editor .verify-status-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-bottom:11px;
  border-bottom:1px solid #c8e9e1;
  font-size:10px;
}

.pess-company-editor .verify-status-row strong{color:#087a45}
.pess-company-editor .verify-status-row span{color:#475467;font-size:8px}

.pess-company-editor .verify-columns{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}

.pess-company-editor .verify-columns section{
  min-width:0;
  padding:11px;
  border:1px solid #d9e5e2;
  border-radius:10px;
  background:#fff;
}

.pess-company-editor .verify-columns section>span{
  display:block;
  margin-bottom:9px;
  font-size:8px;
  font-weight:900;
  letter-spacing:.07em;
}

.pess-company-editor .verify-columns dl{display:grid;gap:7px;margin:0}
.pess-company-editor .verify-columns dl>div{padding:8px;border-radius:8px;background:#f8fafb}
.pess-company-editor .verify-columns dt{color:#667085;font-size:7px}
.pess-company-editor .verify-columns dd{margin:3px 0 0;font-size:9px;font-weight:800;overflow-wrap:anywhere}

.pess-company-editor .verify-columns button{
  margin-top:10px;
  border:0;
  border-radius:8px;
  padding:8px 10px;
  background:#069447;
  color:#fff;
  cursor:pointer;
  font-size:8px;
  font-weight:900;
}

.pess-company-editor .verify-columns .unavailable-source{background:#fffafa}
.pess-company-editor .verify-footnote{margin:10px 0 0;color:#667085;font-size:7px;text-align:right}
.pess-company-editor .verify-error{display:grid;gap:4px}
.pess-company-editor .verify-error strong{color:#b42318}
.pess-company-editor .verify-error span{color:#667085;font-size:9px}

.pess-company-editor .address-results.wide{
  grid-column:1/-1;
  display:grid;
  gap:6px;
  padding:10px;
  border:1px solid #b9d8f2;
  border-radius:10px;
  background:#f7fbff;
}

.pess-company-editor .address-results.wide[hidden]{display:none!important}
.pess-company-editor .address-results.wide>small{color:#475467;font-size:8px}

.pess-company-editor .address-results.wide>button{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:3px 12px;
  width:100%;
  padding:9px 10px;
  border:0;
  border-radius:8px;
  background:#fff;
  color:#101828;
  text-align:left;
  cursor:pointer;
}

.pess-company-editor .address-results.wide>button:hover{background:#eef6ff}
.pess-company-editor .address-results.wide>button strong{font-size:9px}
.pess-company-editor .address-results.wide>button span{grid-column:1;color:#475467;font-size:8px}

.pess-company-editor .address-match{
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  border-radius:999px;
  padding:4px 7px;
  font-size:7px;
  font-style:normal;
  font-weight:900;
}

.pess-company-editor .address-match.good{background:#ecfdf3;color:#027a48}
.pess-company-editor .address-match.partial{background:#fffaeb;color:#b54708}
.pess-company-editor .address-match.weak{background:#fff1f3;color:#c01048}

.pess-company-editor .company-manual-location{
  border:1px solid #e4e7ec;
  border-radius:12px;
  padding:14px;
  background:#fbfcfd;
}

.pess-company-editor .location-chip{
  display:inline-flex;
  padding:5px 8px;
  border-radius:999px;
  background:#f2f4f7;
  color:#475467;
  font-size:7px;
  font-weight:900;
}

.pess-company-editor .location-chip.verified{background:#ecfdf3;color:#027a48}

.pess-company-editor .google-location-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.pess-company-editor .google-location-actions p{margin:0;color:#667085;font-size:8px}
.pess-company-editor .google-location-actions p.ok{color:#027a48}
.pess-company-editor .google-location-actions p.error{color:#b42318}

@media(max-width:900px){
  .pess-company-editor .verify-columns{grid-template-columns:1fr}
  .pess-company-editor .verify-status-row,
  .pess-company-editor .google-location-actions{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* === PESS VERIFY PANEL LEGACY LAYOUT V157 === */

/*
 * Ripristina una lettura orizzontale e compatta del pannello P.IVA.
 * Intervento solo CSS: nessuna modifica alla logica di verifica.
 */
.pess-company-editor .company-verify-panel{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  padding:14px!important;
  border:1px solid #9fd8cc!important;
  border-radius:12px!important;
  background:#effbf8!important;
}

.pess-company-editor .company-verify-panel[hidden]{
  display:none!important;
}

.pess-company-editor .verify-status-row{
  display:flex!important;
  width:100%!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:18px!important;
  padding:0 0 12px!important;
  margin:0 0 12px!important;
  border-bottom:1px solid #c5e4dd!important;
}

.pess-company-editor .verify-status-row strong{
  display:block!important;
  color:#087a45!important;
  font-size:10px!important;
  line-height:1.35!important;
}

.pess-company-editor .verify-status-row span{
  display:block!important;
  color:#475467!important;
  font-size:8px!important;
  text-align:right!important;
}

.pess-company-editor .verify-columns{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
}

.pess-company-editor .verify-columns section{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}

.pess-company-editor .verify-columns section + section{
  padding-top:12px!important;
  border-top:1px solid #c5e4dd!important;
}

.pess-company-editor .verify-columns section>span{
  display:block!important;
  margin:0 0 9px!important;
  color:#111827!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}

.pess-company-editor .verify-columns dl{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0!important;
}

.pess-company-editor .verify-columns dl>div{
  display:block!important;
  min-width:0!important;
  padding:10px!important;
  border:0!important;
  border-radius:9px!important;
  background:#fff!important;
}

.pess-company-editor .verify-columns dt{
  display:block!important;
  margin:0 0 4px!important;
  color:#667085!important;
  font-size:7px!important;
  line-height:1.25!important;
}

.pess-company-editor .verify-columns dd{
  display:block!important;
  margin:0!important;
  color:#101828!important;
  font-size:9px!important;
  font-weight:800!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

.pess-company-editor .verify-columns button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:118px!important;
  margin:10px 0 0 auto!important;
  padding:9px 13px!important;
  border:0!important;
  border-radius:8px!important;
  background:#079447!important;
  color:#fff!important;
  font-size:8px!important;
  font-weight:900!important;
  cursor:pointer!important;
}

.pess-company-editor .verify-columns .verified-source,
.pess-company-editor .verify-columns .unavailable-source{
  background:transparent!important;
}

.pess-company-editor .verify-columns .verified-source dl>div{
  background:#fff!important;
}

.pess-company-editor .verify-footnote{
  display:block!important;
  width:100%!important;
  margin:12px 0 0!important;
  padding-top:9px!important;
  border-top:1px solid #c5e4dd!important;
  color:#667085!important;
  font-size:7px!important;
  line-height:1.4!important;
  text-align:right!important;
}

/* Zucchetti e VIES: due blocchi affiancati quando c'è spazio */
@media(min-width:1050px){
  .pess-company-editor .verify-columns{
    grid-template-columns:1fr 1fr!important;
  }

  .pess-company-editor .verify-columns section:first-child{
    grid-column:1/-1!important;
  }

  .pess-company-editor .verify-columns section:nth-child(2),
  .pess-company-editor .verify-columns section:nth-child(3){
    padding-top:0!important;
    border-top:0!important;
  }

  .pess-company-editor .verify-columns section:nth-child(2){
    padding-right:6px!important;
  }

  .pess-company-editor .verify-columns section:nth-child(3){
    padding-left:6px!important;
    border-left:1px solid #c5e4dd!important;
  }
}

@media(max-width:700px){
  .pess-company-editor .verify-status-row{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:4px!important;
  }

  .pess-company-editor .verify-status-row span{
    text-align:left!important;
  }

  .pess-company-editor .verify-columns dl{
    grid-template-columns:1fr!important;
  }

  .pess-company-editor .verify-columns button{
    margin-left:0!important;
  }
}


/* === PESS ADMIN RISERVATA LEGACY DESKTOP FIX V157 === */

/*
 * Allineamento del layout Amministrazione riservata al vecchio CRM.
 * Solo CSS: non altera caricamento dati, filtri, PDF o pulsanti.
 */

.legacy-detail-panel .financial-private{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}

.legacy-detail-panel .financial-private-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:start!important;
  margin:0 0 20px!important;
  padding:0 0 18px!important;
  border-bottom:1px solid #eadede!important;
}

.legacy-detail-panel .financial-private-head>div:first-child{
  min-width:0!important;
}

.legacy-detail-panel .financial-private-head h3{
  margin:3px 0 5px!important;
  font-size:28px!important;
  line-height:1.08!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
}

.legacy-detail-panel .financial-private-head p{
  max-width:520px!important;
  margin:0!important;
  color:#667085!important;
  font-size:12px!important;
  line-height:1.45!important;
}

.legacy-detail-panel .financial-private-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  width:auto!important;
  min-width:0!important;
}

.legacy-detail-panel .financial-private-actions button{
  min-height:38px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding:0 14px!important;
  border-radius:9px!important;
  font-size:10px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}

/* KPI principali: come nel vecchio CRM, cinque card orizzontali leggibili */
.legacy-detail-panel .financial-summary{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  margin:0 0 16px!important;
}

.legacy-detail-panel .financial-summary>div{
  min-width:0!important;
  min-height:130px!important;
  padding:16px 14px!important;
  border-radius:13px!important;
}

.legacy-detail-panel .financial-summary span{
  display:block!important;
  min-height:34px!important;
  font-size:9px!important;
  line-height:1.35!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.legacy-detail-panel .financial-summary strong{
  display:block!important;
  margin-top:8px!important;
  font-size:19px!important;
  line-height:1.05!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.legacy-detail-panel .financial-summary small{
  display:block!important;
  margin-top:9px!important;
  font-size:8px!important;
  line-height:1.35!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Giro d'affari */
.legacy-detail-panel .customer-revenue-panel,
.legacy-detail-panel .financial-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  overflow:visible!important;
}

.legacy-detail-panel .customer-revenue-kpis{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}

.legacy-detail-panel .customer-revenue-kpis>div{
  min-width:0!important;
}

.legacy-detail-panel .customer-revenue-kpis strong{
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/*
 * Vecchio CRM: Scadenziario e Comportamento di pagamento
 * NON devono stare compressi in due colonne nel pannello destro.
 * Li riportiamo uno sotto l'altro a tutta larghezza.
 */
.legacy-detail-panel .financial-lower-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  width:100%!important;
}

.legacy-detail-panel .financial-lower-grid>*{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}

/* Scadenziario storico: 7 fasce orizzontali */
.legacy-detail-panel .financial-aging-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:7px!important;
  width:100%!important;
}

.legacy-detail-panel .financial-aging-grid>div{
  min-width:0!important;
  padding:11px 9px!important;
}

.legacy-detail-panel .financial-aging-grid span{
  display:block!important;
  font-size:8px!important;
  line-height:1.25!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.legacy-detail-panel .financial-aging-grid strong{
  display:block!important;
  margin-top:5px!important;
  font-size:12px!important;
  line-height:1.15!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Affidabilità: gauge a sinistra + 6 KPI 3x2 a destra */
.legacy-detail-panel .payment-score-layout{
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  width:100%!important;
}

.legacy-detail-panel .payment-gauge{
  width:220px!important;
  min-width:220px!important;
  max-width:220px!important;
  justify-self:start!important;
}

.legacy-detail-panel .payment-gauge svg{
  display:block!important;
  width:190px!important;
  height:auto!important;
  margin:0 auto!important;
  overflow:visible!important;
}

.legacy-detail-panel .payment-gauge>small{
  display:block!important;
  max-width:190px!important;
  margin:4px auto 0!important;
  font-size:8px!important;
  line-height:1.35!important;
  text-align:center!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.legacy-detail-panel .payment-kpis-six{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
}

.legacy-detail-panel .payment-kpis-six>div{
  min-width:0!important;
  min-height:78px!important;
  padding:11px!important;
}

.legacy-detail-panel .payment-kpis-six span{
  display:block!important;
  font-size:8px!important;
  line-height:1.3!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}

.legacy-detail-panel .payment-kpis-six strong{
  display:block!important;
  margin-top:6px!important;
  font-size:14px!important;
  line-height:1.1!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}

.legacy-detail-panel .closed-payment-delays{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
  margin-top:12px!important;
}

.legacy-detail-panel .closed-payment-delays>div{
  min-width:0!important;
  padding:11px!important;
}

.legacy-detail-panel .closed-payment-delays span,
.legacy-detail-panel .closed-payment-delays strong{
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}

.legacy-detail-panel .closed-payment-delays>p{
  grid-column:1/-1!important;
  width:100%!important;
}

/* Condizioni commerciali */
.legacy-detail-panel .commercial-profile-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 28px!important;
}

.legacy-detail-panel .commercial-profile-list>div{
  min-width:0!important;
}

.legacy-detail-panel .commercial-profile-list dt,
.legacy-detail-panel .commercial-profile-list dd{
  overflow-wrap:normal!important;
  word-break:normal!important;
}

.legacy-detail-panel .contract-discounts-detail{
  width:100%!important;
  max-width:none!important;
}

.legacy-detail-panel .contract-discount-table{
  width:100%!important;
  max-width:none!important;
}

/* Movimenti */
.legacy-detail-panel .financial-detail-card{
  width:100%!important;
  min-width:0!important;
}

.legacy-detail-panel .financial-detail-table{
  width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
}

/*
 * Schermo intero: usa la larghezza desktop reale del vecchio CRM.
 */
.financial-private.is-fullscreen,
.financial-private.fullscreen,
body .financial-private[data-fullscreen="true"]{
  max-width:1180px!important;
  margin:0 auto!important;
}

/* Su pannello Anagrafiche stretto evitiamo qualsiasi colonna verticale illeggibile */
@media(max-width:1350px){
  .legacy-detail-panel .financial-summary{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

  .legacy-detail-panel .financial-summary>div:nth-child(4),
  .legacy-detail-panel .financial-summary>div:nth-child(5){
    min-height:105px!important;
  }

  .legacy-detail-panel .financial-aging-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  .legacy-detail-panel .payment-score-layout{
    grid-template-columns:190px minmax(0,1fr)!important;
  }

  .legacy-detail-panel .payment-gauge{
    width:190px!important;
    min-width:190px!important;
    max-width:190px!important;
  }

  .legacy-detail-panel .payment-gauge svg{
    width:165px!important;
  }
}

@media(max-width:1050px){
  .legacy-detail-panel .financial-private-head{
    grid-template-columns:1fr!important;
  }

  .legacy-detail-panel .financial-private-actions{
    justify-content:flex-start!important;
  }

  .legacy-detail-panel .financial-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .legacy-detail-panel .customer-revenue-kpis{
    grid-template-columns:1fr!important;
  }

  .legacy-detail-panel .financial-aging-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .legacy-detail-panel .payment-score-layout{
    grid-template-columns:1fr!important;
  }

  .legacy-detail-panel .payment-gauge{
    justify-self:center!important;
  }

  .legacy-detail-panel .payment-kpis-six{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .legacy-detail-panel .closed-payment-delays{
    grid-template-columns:1fr!important;
  }

  .legacy-detail-panel .commercial-profile-list{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:700px){
  .legacy-detail-panel .financial-summary,
  .legacy-detail-panel .financial-aging-grid,
  .legacy-detail-panel .payment-kpis-six{
    grid-template-columns:1fr!important;
  }

  .legacy-detail-panel .financial-private-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  .legacy-detail-panel .financial-private-actions button{
    width:100%!important;
  }
}


/* === PESS ADMIN RISERVATA FINANCIAL GRID FIX V157 === */

/*
 * Il markup reale usa .financial-grid e .maturity-list.
 * Questa patch riallinea la sezione al vecchio CRM senza toccare JavaScript.
 */

.legacy-detail-panel .financial-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
}

.legacy-detail-panel .financial-grid > .financial-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  overflow:hidden!important;
}

/* Scadenziario */
.legacy-detail-panel .maturity-list{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}

.legacy-detail-panel .maturity-list > div{
  min-width:0!important;
  min-height:64px!important;
  padding:10px 11px!important;
  border-radius:10px!important;
}

.legacy-detail-panel .maturity-list span,
.legacy-detail-panel .maturity-list strong{
  display:block!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}

.legacy-detail-panel .maturity-list span{
  font-size:8px!important;
  line-height:1.25!important;
}

.legacy-detail-panel .maturity-list strong{
  margin-top:5px!important;
  font-size:12px!important;
  line-height:1.15!important;
}

/* Comportamento pagamenti */
.legacy-detail-panel .financial-grid .payment-score-layout{
  display:grid!important;
  grid-template-columns:210px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
}

.legacy-detail-panel .financial-grid .payment-gauge{
  width:210px!important;
  min-width:210px!important;
  max-width:210px!important;
  justify-self:center!important;
}

.legacy-detail-panel .financial-grid .payment-gauge svg{
  display:block!important;
  width:180px!important;
  max-width:180px!important;
  height:auto!important;
  margin:0 auto!important;
}

.legacy-detail-panel .financial-grid .payment-gauge > strong{
  display:block!important;
  text-align:center!important;
  font-size:14px!important;
}

.legacy-detail-panel .financial-grid .payment-gauge > small{
  display:block!important;
  max-width:190px!important;
  margin:4px auto 0!important;
  text-align:center!important;
  font-size:8px!important;
  line-height:1.3!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Le 6 KPI devono restare dentro la card */
.legacy-detail-panel .financial-grid .payment-kpis-six{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}

.legacy-detail-panel .financial-grid .payment-kpis-six > div{
  box-sizing:border-box!important;
  min-width:0!important;
  width:auto!important;
  max-width:100%!important;
  min-height:76px!important;
  padding:10px!important;
}

.legacy-detail-panel .financial-grid .payment-kpis-six span{
  display:block!important;
  max-width:100%!important;
  font-size:8px!important;
  line-height:1.25!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}

.legacy-detail-panel .financial-grid .payment-kpis-six strong{
  display:block!important;
  max-width:100%!important;
  margin-top:5px!important;
  font-size:13px!important;
  line-height:1.15!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  white-space:normal!important;
}

/* Ritardi */
.legacy-detail-panel .financial-grid .closed-payment-delays{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-top:12px!important;
}

.legacy-detail-panel .financial-grid .closed-payment-delays > div{
  box-sizing:border-box!important;
  min-width:0!important;
  width:auto!important;
  max-width:100%!important;
  padding:10px!important;
}

.legacy-detail-panel .financial-grid .closed-payment-delays span,
.legacy-detail-panel .financial-grid .closed-payment-delays strong{
  display:block!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  white-space:normal!important;
}

.legacy-detail-panel .financial-grid .closed-payment-delays > p{
  grid-column:1/-1!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

/* Evita che elementi interni escano dalla card */
.legacy-detail-panel .financial-grid .financial-card *,
.legacy-detail-panel .financial-grid .financial-card *::before,
.legacy-detail-panel .financial-grid .financial-card *::after{
  box-sizing:border-box!important;
}

.legacy-detail-panel .financial-grid .financial-card{
  contain:layout paint!important;
}

/* A larghezza tipica del pannello destro: disposizione compatta ma leggibile */
@media(max-width:1450px){
  .legacy-detail-panel .maturity-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .legacy-detail-panel .financial-grid .payment-score-layout{
    grid-template-columns:1fr!important;
  }

  .legacy-detail-panel .financial-grid .payment-gauge{
    justify-self:center!important;
  }

  .legacy-detail-panel .financial-grid .payment-kpis-six{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

@media(max-width:1150px){
  .legacy-detail-panel .financial-grid .payment-kpis-six{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .legacy-detail-panel .financial-grid .closed-payment-delays{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:760px){
  .legacy-detail-panel .maturity-list,
  .legacy-detail-panel .financial-grid .payment-kpis-six{
    grid-template-columns:1fr!important;
  }
}


/* === PESS RECORD SECTIONS LEGACY V158 === */

.legacy-detail-panel .record-tabs{
  overflow-x:auto!important;
  scrollbar-width:thin;
}

.legacy-detail-panel .record-tabs button{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  min-width:max-content!important;
  padding-left:10px!important;
  padding-right:10px!important;
}

.legacy-record-section{
  display:grid;
  gap:14px;
  width:100%;
  min-width:0;
}

.legacy-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:2px 0 4px;
}

.legacy-section-heading h3{
  margin:3px 0 4px;
  font-size:21px;
  line-height:1.1;
}

.legacy-section-heading>div>p:last-child{
  margin:0;
  color:#667085;
  font-size:9px;
  line-height:1.4;
}

.legacy-record-kpis,
.legacy-quality-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.legacy-quality-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.legacy-record-kpis article,
.legacy-quality-grid article{
  min-width:0;
  min-height:92px;
  padding:13px;
  border:1px solid #e4e7ec;
  border-radius:11px;
  background:#f8fafb;
}

.legacy-record-kpis span,
.legacy-quality-grid span{
  display:block;
  color:#667085;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.legacy-record-kpis strong,
.legacy-quality-grid strong{
  display:block;
  margin-top:7px;
  color:#101828;
  font-size:13px;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.legacy-record-kpis small,
.legacy-quality-grid small{
  display:block;
  margin-top:7px;
  color:#667085;
  font-size:8px;
  line-height:1.3;
}

.legacy-quality-grid article.ok{
  border-color:#b7dfcd;
  background:#f3fbf7;
}

.legacy-quality-grid article.ok strong{
  color:#087a45;
}

.legacy-quality-grid article.warn{
  border-color:#f0d4b0;
  background:#fffaf3;
}

.legacy-quality-grid article.warn strong{
  color:#b54708;
}

.legacy-relation-detail,
.legacy-quality-detail{
  margin-top:0!important;
}

.legacy-relation-detail h4,
.legacy-quality-detail h4{
  margin:0 0 12px;
  font-size:11px;
}

/* Diario storico */
.legacy-detail-panel .journal-panel{
  margin-top:14px!important;
}

/* Assistenze storiche */
.legacy-detail-panel .pess-assistance-section{
  width:100%!important;
  min-width:0!important;
  margin-top:14px!important;
}

.legacy-detail-panel .pess-assistance-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:12px!important;
}

.legacy-detail-panel .pess-assistance-kpis{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}

.legacy-detail-panel .pess-assistance-table{
  width:100%!important;
  overflow-x:auto!important;
}

@media(max-width:900px){
  .legacy-record-kpis,
  .legacy-quality-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .legacy-detail-panel .pess-assistance-kpis{
    grid-template-columns:1fr!important;
  }
}
