.billing-alert{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;margin-bottom:18px;border:1px solid #e7b760;border-radius:12px;background:#fff5df;color:#70490f}.billing-alert strong{display:block}.billing-alert small{color:#8b672d}.billing-status{display:inline-flex;padding:5px 8px;border-radius:20px;font-size:11px;font-weight:800}.billing-status.pending{background:#fff0cd;color:#84580c}.billing-status.approved,.billing-status.not_required{background:#dcefe7;color:#126347}.billing-status.rejected{background:#f8dddd;color:#a71318}.billing-status.persa{background:#bde6fb;color:#145f86}.coach-billing-table label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px}.coach-billing-table input[type="checkbox"]{width:17px;height:17px;accent-color:#b11218}.coach-billing-table tr.overage{background:#fffaf0}.coach-billing-table tr.gift{background:#f5faf7}.coach-billing-total{display:flex;justify-content:flex-end;gap:35px;padding:20px 24px;border-top:1px solid var(--line);background:#faf6f6}.coach-billing-total strong{font-size:23px;color:#b11218}.adjustment-form{display:grid;grid-template-columns:160px 1fr 150px auto;gap:10px;align-items:end;padding:18px 22px;border-top:1px solid var(--line)}.adjustment-form label{display:grid;gap:5px;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase}.adjustment-list{display:grid;gap:8px;padding:0 22px 20px}.adjustment-item{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:11px 13px;border-radius:9px;background:#faf5f5}.billing-approval-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.approval-actions{display:flex;gap:7px}.btn.approve{background:#176b50;color:#fff;border-color:#176b50}.btn.reject{color:#a71318;border-color:#e2b8b8}.billing-dashboard-warning{margin-bottom:16px}
/* Consulenze perse */
.coach-billing-table tr.persa-row td,.proforma-card tr.persa-row td{color:#145f86;background:#eaf7ff}
.coach-billing-table tr.persa-row small,.proforma-card tr.persa-row small{color:#145f86!important}
.coach-billing-table tr.persa-row .amount-cell span{color:#145f86!important}
.badge-persa{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.04em;color:#0b4e72;background:#9ed8f4;border:1px solid #76c4eb;border-radius:4px;padding:2px 6px;margin-top:3px}
.consultation-note{color:var(--muted);font-size:11px;margin-top:3px;font-style:italic;max-width:260px;white-space:normal}
/* Importo editabile */
.amount-cell{display:flex;flex-direction:column;gap:3px}
.amount-edit-group{display:flex;align-items:center;gap:5px}
.amount-edit{width:80px;padding:4px 7px;border:1px solid var(--line);border-radius:6px;font-size:13px;font-family:inherit}
.amount-edit:focus{border-color:#b11218;outline:none}
.btn.tiny{padding:3px 8px;font-size:11px;min-width:0;height:auto}
.override-badge{font-size:10px;color:#8a6530;background:#fff5df;border-radius:4px;padding:1px 5px;display:inline-block}
.amount-request-badge{display:block;margin-top:4px;font-size:11px;font-weight:700;line-height:1.3}.amount-request-badge.pending{color:#8a6530}.amount-request-badge.rejected{color:#a71318}
/* Pulsante Posticipa */
.defer-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:1px solid var(--line);border-radius:20px;font-size:11px;font-weight:700;background:#f7f7f7;color:var(--muted);cursor:pointer;white-space:nowrap;transition:.15s}
.defer-btn:hover{border-color:#b11218;color:#b11218}
.defer-btn.active{background:#fff5df;border-color:#e7b760;color:#84580c}
.omaggio-label{display:flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}
/* Banner proforma manuale */
.manual-proforma-banner{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:10px;margin:16px 0;border:1.5px solid}
.manual-proforma-banner span{font-size:22px;flex-shrink:0}
.manual-proforma-banner div{flex:1}
.manual-proforma-banner b{display:block;margin-bottom:3px}
.manual-proforma-banner.pending{background:#fff8e8;border-color:#e7b760;color:#6b4b0e}
.manual-proforma-banner.approved{background:#edf7f2;border-color:#6cbf99;color:#0f5035}
.manual-proforma-banner.rejected{background:#fdf0f0;border-color:#e9b8b8;color:#8a1a1a}
/* Dialog proforma manuale */
.manual-proforma-dialog{min-width:520px;max-width:680px}
.mpf-rows{display:grid;gap:8px;margin-top:10px}
.mpf-row{display:grid;grid-template-columns:1fr 120px auto;gap:8px;align-items:center}
.mpf-row input{padding:8px 10px;border:1px solid var(--line);border-radius:7px;font-family:inherit;font-size:13px}
.mpf-row input:focus{border-color:#b11218;outline:none}
.mpf-preview{display:grid;gap:2px;margin-top:4px}
.mpf-preview small{display:block;color:var(--muted);font-size:11px}
/* Griglia approvazioni 3 colonne admin */
.billing-approval-grid{display:grid;gap:20px}
@media(max-width:600px){.mpf-row{grid-template-columns:1fr auto}.mpf-row input[type="number"]{display:none}}@media(max-width:1000px){.billing-approval-grid{grid-template-columns:1fr}.adjustment-form{grid-template-columns:1fr 1fr}}@media(max-width:600px){.adjustment-form{grid-template-columns:1fr}.adjustment-item{grid-template-columns:1fr}}
/* #41: prezzo mancante, fuori assegnazione, documenti emessi e annullati, motivi di blocco */
.price-missing-badge{display:inline-block;margin-top:4px;padding:2px 6px;border-radius:4px;background:#fdecec;color:#a71318;font-size:10px;font-weight:800;line-height:1.3}
.assignment-note{color:#8a6530;font-weight:700}.assignment-note.rejected{color:#a71318}
.issued-note{color:#0f5035;font-weight:700}
tr.assignment-blocked td{background:#fffaf0}tr.already-issued td{opacity:.6}
.billing-status.assignment_pending{background:#fff3d6;color:#8a6530}.billing-status.assignment_rejected{background:#fdecec;color:#a71318}
.coach-document-blockers{margin:12px 0}.coach-document-blockers small{display:block;margin-top:4px}
.coach-documents-box{margin:12px 0;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:#fbf8f7}
.coach-documents-box h4{margin:0 0 8px;font-size:13px}.coach-documents-box ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.coach-issued-doc{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px}.coach-issued-doc b{color:var(--red)}
.coach-issued-doc.cancelled b{color:var(--muted);text-decoration:line-through}.coach-issued-doc small{flex-basis:100%}
.coach-already-issued{margin:8px 0;font-size:12px}
.document-draft-note{color:#a71318!important;font-weight:800}
@media print{body.coach-document-print #coachBillingStatement{display:none!important}}
/* #56: cosa deve fare il coach (consulenze extra da segnalare, motivi di blocco del documento) */
.extra-action-hint{margin-top:5px;padding:6px 8px;border-radius:8px;background:#fdecec;color:#a71318;font-size:11px;line-height:1.35;max-width:360px;white-space:normal}
/* #59: titolo, perché (con i numeri del pack) e cosa fare, ciascuno su una riga */
.extra-action-hint>b:first-child,.extra-action-hint>span{display:block}.extra-action-hint>span{margin-top:4px}
.extra-action-btn{display:block;margin-top:6px;white-space:nowrap}
.coach-document-blockers ul{margin:6px 0 0;padding-left:18px;display:grid;gap:6px}
.coach-document-blockers li small{margin-top:2px}
.extra-next{margin:0 24px 16px;font-size:13px;line-height:1.45;color:#6d4b16}
/* #57: numero della ricevuta fiscale del coach, nell'intestazione del riquadro Proforma del mese */
#coachBillingStatement>.card-head:first-child{gap:16px;flex-wrap:wrap}.coach-billing-head-actions{justify-content:flex-end}
.coach-receipt-number{display:grid;gap:5px;width:300px;max-width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbf8f7}
.coach-receipt-number label{font-size:12px;font-weight:800;color:var(--ink)}.coach-receipt-number label small{margin-left:4px;font-weight:500;color:var(--muted)}
.coach-receipt-number div{display:flex;gap:6px}.coach-receipt-number input{flex:1;min-width:0;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:700}
.coach-receipt-number-hint{font-size:11px;line-height:1.3;color:var(--green)}
.coach-receipt-number.missing{border-color:#e9a7a2;background:#fdf0ef}.coach-receipt-number.missing .coach-receipt-number-hint{color:#a71318;font-weight:700}
.coach-receipt-number.warn{border-color:#e7b760;background:#fff8ea}.coach-receipt-number.warn .coach-receipt-number-hint{color:#8a5a00;font-weight:700}
.coach-receipt-fiscal.missing,.coach-month-receipt.missing{color:#a71318;font-weight:800}
.coach-month-receipt{display:block;margin:-2px 0 6px;font-style:normal;font-size:12px;color:var(--muted)}
@media(max-width:700px){.coach-billing-head-actions{justify-content:flex-start}.coach-receipt-number{width:100%}}
