.fps-wrap { max-width: 720px; margin: 0 auto; font-family: inherit; }
.fps-form { }
.fps-field { margin-bottom: 18px; }
.fps-field label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.fps-req { color: #dc2626; }
.fps-field small { font-weight: 400; color: #6b7280; font-size: 12px; }
.fps-input {
    display: block; width: 100%; padding: 10px 14px;
    border: 1px solid #d1d5db; border-radius: 6px;
    font-size: 15px; font-family: inherit;
    transition: border-color .2s;
    box-sizing: border-box;
}
.fps-input:focus { outline: none; border-color: #4f46e5; box-shadow: 0 0 0 3px rgba(79,70,229,.1); }
.fps-textarea { resize: vertical; min-height: 220px; }
.fps-actions { display: flex; gap: 12px; margin-top: 24px; flex-wrap: wrap; }
.fps-btn {
    padding: 11px 22px; border-radius: 6px; border: none;
    font-size: 14px; font-weight: 700; cursor: pointer;
}
.fps-btn-submit { background: #4f46e5; color: #fff; }
.fps-btn-submit:hover { background: #4338ca; }
.fps-btn-submit:disabled { background: #9ca3af; cursor: not-allowed; }
.fps-btn-preview { background: #f1f5f9; color: #374151; border: 1px solid #d1d5db; }
.fps-btn-preview:hover { background: #e2e8f0; }
.fps-counter { font-size: 13px; color: #6b7280; margin-top: 8px; }
.fps-bar { height: 4px; background: #e5e7eb; border-radius: 2px; margin-top: 5px; }
.fps-bar-fill { height: 4px; background: #4f46e5; border-radius: 2px; transition: width .3s; }
.fps-success {
    background: #f0fdf4; border: 1px solid #86efac; border-radius: 8px;
    padding: 16px 20px; color: #166534; font-weight: 600;
}
.fps-error {
    background: #fef2f2; border: 1px solid #fca5a5; border-radius: 8px;
    padding: 16px 20px; color: #991b1b; margin-bottom: 16px;
}
.fps-check { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 14px; cursor: pointer; }
.fps-img-preview { margin-top: 8px; }
.fps-preview { background: #fff; border: 2px solid #e5e7eb; border-radius: 10px; padding: 24px; margin-top: 20px; }
.fps-preview h3 { margin: 0 0 16px; font-size: 22px; }
.fps-preview-body { line-height: 1.7; color: #374151; }
.fps-close-preview { margin-top: 16px; background: #f1f5f9; color: #374151; border: 1px solid #d1d5db; }
.fps-table { width: 100%; border-collapse: collapse; }
.fps-table th, .fps-table td { padding: 10px 12px; border-bottom: 1px solid #e5e7eb; font-size: 14px; text-align: left; }
.fps-table th { background: #f8fafc; font-weight: 700; }
.fps-disclaimer {
    margin-top: 30px; padding: 14px 18px;
    background: #f8fafc; border-left: 3px solid #6366f1;
    font-size: 13px; color: #6b7280; border-radius: 0 6px 6px 0;
}

/* ── Segnalazioni ────────────────────────────────────────────────────────── */
.fps-tip-intro {
    background: #f5f3ff;
    border-left: 4px solid #7c3aed;
    padding: 14px 18px;
    border-radius: 0 8px 8px 0;
    margin-bottom: 24px;
    font-size: 14px;
    color: #4c1d95;
    line-height: 1.6;
}
.fps-tip-contact-box {
    background: #fef3c7;
    border: 1px solid #fcd34d;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 18px;
}
.fps-tip-contact-label {
    font-weight: 700;
    font-size: 14px;
    margin: 0 0 12px;
}
.fps-tip-contact-label small {
    font-weight: 400;
    color: #92400e;
    font-size: 12px;
    display: block;
    margin-top: 3px;
}
.fps-tip-contact-box .fps-field label { color: #78350f; }
.fps-tip-contact-box .fps-input:focus { border-color: #d97706; box-shadow: 0 0 0 3px rgba(217,119,6,.12); }
