.ppl-wrap{
  --pp-cream:#FBF3E7; --pp-sand:#EFE0C9; --pp-gold:#C97B3D; --pp-terra:#A85A32;
  --pp-brown:#5C3A21; --pp-dark:#2B2118; --pp-line:#E3D2B8;
  max-width:760px; margin:0 auto; font-family:'Montserrat',Arial,sans-serif; color:var(--pp-dark);
}
.ppl-wrap *{box-sizing:border-box;}
.ppl-sec{background:var(--pp-cream); border-radius:12px; padding:28px 26px 30px; margin-bottom:28px;}
.ppl-sec h3{font-family:'Cinzel',Georgia,serif; color:var(--pp-brown); font-size:27px; margin:0 0 6px;}
.ppl-sub{margin:0 0 24px; font-size:15px; color:#9a8268; line-height:1.5;}
.ppl-field{margin-bottom:18px;}
.ppl-field label{display:block; font-size:16px; margin-bottom:7px;}
.ppl-field input, .ppl-field select{
  width:100%; padding:14px 16px; border:1.5px solid var(--pp-sand); border-radius:6px;
  font-family:'Montserrat',Arial,sans-serif; font-size:17px; background:#fff; color:var(--pp-dark);
}
.ppl-field input:focus, .ppl-field select:focus{outline:none; border-color:var(--pp-gold);}
.ppl-hint{font-size:13px; color:#a89580; margin-top:5px; line-height:1.4;}
.ppl-row2{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.ppl-err{display:none; background:#f8e3dc; color:#8a3a1f; border-radius:6px; padding:10px 14px; font-size:14px; margin-bottom:14px;}
.ppl-status{display:none; border-radius:8px; padding:12px 16px; font-size:14.5px; margin-bottom:22px; line-height:1.5;}
.ppl-status.ok{display:block; background:#e4efe0; color:#2f5b2f;}
.ppl-status.error{display:block; background:#f8e3dc; color:#8a3a1f;}
.ppl-btns{display:flex; gap:10px; flex-wrap:wrap; margin-top:6px;}
.ppl-btn{
  flex:1; min-width:150px; background:var(--pp-gold); color:#fff; border:none; border-radius:8px; padding:14px 16px;
  font-family:'Cinzel',Georgia,serif; font-weight:700; font-size:14px; letter-spacing:.03em; cursor:pointer;
}
.ppl-btn:hover{background:var(--pp-terra);}
.ppl-btn.ghost{background:#fff; color:var(--pp-brown); border:1.5px solid var(--pp-sand);}
.ppl-btn.ghost:hover{border-color:var(--pp-gold); background:var(--pp-sand);}
.ppl-btn[disabled]{opacity:.55; cursor:default;}
.ppl-preview-title{font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--pp-gold); margin:4px 0 10px;}
.ppl-print{
  background:#fff; border:2px solid #222; border-radius:6px; padding:16px 18px; width:100%; max-width:380px;
  font-family:Arial,Helvetica,sans-serif; color:#000; line-height:1.35;
}
.ppl-print .t{font-size:22px; font-weight:800; margin-bottom:6px; word-break:break-word;}
.ppl-print .s{font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:4px;}
.ppl-print .l{font-size:19px; font-weight:800; margin-bottom:6px; border-top:1.5px solid #000; border-bottom:1.5px solid #000; padding:4px 0;}
.ppl-print .r{font-size:15px;}
.ppl-print .r b{font-weight:700;}
.ppl-copied{display:none; font-size:14px; color:#4a7a4a; margin-top:10px;}
.ppl-note{font-size:13px; color:#8a7a6a; line-height:1.55; margin-top:14px;}
.ppl-tablewrap{overflow-x:auto; margin-top:14px;}
.ppl-table{width:100%; border-collapse:collapse; font-size:14px; min-width:520px;}
.ppl-table th{background:var(--pp-brown); color:#fff; text-align:left; padding:9px 10px; font-size:12.5px;}
.ppl-table td{padding:8px 10px; border-bottom:1px solid var(--pp-line); background:#fff;}
.ppl-del{background:none; border:none; color:var(--pp-terra); font-size:18px; cursor:pointer; font-weight:700;}
.ppl-empty{font-size:14px; color:#9a8268; padding:14px 0;}
@media(max-width:560px){.ppl-row2{grid-template-columns:1fr;} .ppl-sec{padding:22px 16px 24px;}}
@media print{
  body *{visibility:hidden !important;}
  .ppl-print, .ppl-print *{visibility:visible !important;}
  .ppl-print{position:absolute; left:0; top:0; width:70mm; max-width:none; border:1px solid #000;}
  .ppl-printme, .ppl-printme *{visibility:visible !important;}
  .ppl-printme{position:absolute; left:0; top:0; width:100%; padding:0 !important; margin:0 !important; border-radius:0 !important;}
  .ppl-printme .ppl-noprint{display:none !important;}
  .ppl-printme .ppl-regtitle{display:block !important;}
  .ppl-printme .ppl-tablewrap{overflow:visible !important;}
  .ppl-printme .ppl-grid{min-width:0; width:100%; font-size:10px;}
  .ppl-printme .ppl-grid th, .ppl-printme .ppl-grid td{border:1px solid #000;}
  .ppl-printme .ppl-grid th{background:#eee !important; color:#000;}
  .ppl-printme .ppl-grid th.first, .ppl-printme .ppl-grid td.first{min-width:80px; position:static;}
  .ppl-printme .ppl-cell.on, .ppl-printme .ppl-cell.nc{background:#fff !important; color:#000;}
  .ppl-printme .ppl-regnote{border:1px solid #000;}
}

/* Messaggi per chi non ha accesso */
.ppr-msg{max-width:560px; margin:0 auto; background:#FBF3E7; border-radius:12px; padding:30px 26px; text-align:center; font-family:'Montserrat',Arial,sans-serif; color:#2B2118;}
.ppr-msg h3{font-family:'Cinzel',Georgia,serif; color:#5C3A21; font-size:24px; margin:0 0 10px;}
.ppr-msg p{font-size:15px; line-height:1.6; margin:0 0 14px;}
.ppr-btn{display:inline-block; background:#C97B3D; color:#fff !important; text-decoration:none; padding:13px 26px; border-radius:8px; font-family:'Cinzel',Georgia,serif; font-weight:700; font-size:14px;}
.ppr-btn:hover{background:#A85A32;}

/* Registri temperature e sanificazione */
.ppl-regctl{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px;}
.ppl-regctl .ppl-field{flex:1; min-width:180px; margin-bottom:0;}
.ppl-regtitle{display:none; text-align:center; font-family:Arial,Helvetica,sans-serif; margin-bottom:8px;}
.ppl-grid{border-collapse:collapse; font-size:12px; background:#fff; min-width:max-content;}
.ppl-grid th, .ppl-grid td{border:1px solid #8a7a6a; padding:0; text-align:center; height:30px;}
.ppl-grid th{background:var(--pp-sand); font-size:11.5px; min-width:30px; color:var(--pp-brown);}
.ppl-grid th.first, .ppl-grid td.first{min-width:120px; text-align:left; background:#fff; position:sticky; left:0; z-index:1;}
.ppl-grid th.first{background:var(--pp-sand);}
.ppl-grid td.first input{width:100%; border:none; padding:0 6px; height:29px; font-size:13px; font-family:Arial,sans-serif; background:transparent;}
.ppl-grid td.first input:focus{outline:2px solid var(--pp-gold);}
.ppl-cell{width:100%; height:29px; border:none; background:#fff; font-weight:700; font-size:12px; cursor:pointer; padding:0; color:#2B2118;}
.ppl-cell:hover{background:var(--pp-sand);}
.ppl-cell.on{background:#dcebd2; color:#2f6a2f;}
.ppl-cell.nc{background:#f4c9bd; color:#9a2d12;}
.ppl-fi{width:100%; border:none; height:29px; text-align:center; font-size:11px; padding:0; font-family:Arial,sans-serif; background:#fff; text-transform:uppercase;}
.ppl-fi:focus{outline:2px solid var(--pp-gold);}
.ppl-legend{font-size:12.5px; line-height:1.55; color:#5a4a3a; margin-top:12px;}
.ppl-regnote{width:100%; min-height:60px; margin-top:10px; padding:10px 12px; border:1.5px solid var(--pp-sand); border-radius:6px; font-family:Arial,sans-serif; font-size:14px; resize:vertical;}
.ppl-reglocal{font-size:13px; color:#b8481f; margin-top:8px; display:none;}
.ppl-printing-reg .ppl-print{display:none !important;}
.ppl-printme{background:#fff !important;}

.ppl-regcap{font-size:14px; font-weight:700; color:var(--pp-brown); margin:2px 0 8px; letter-spacing:.03em;}
