.fp-wrapper { max-width: 500px; margin: 0px auto; padding: 25px; background: #fff; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); border: 1px solid #eee; color: #333; }
.fp-wrapper h2 { color: #4a2d82; text-align: center; margin-bottom: 25px; }
.fp-row { margin-bottom: 15px; }
.fp-row label { display: block; font-weight: bold; margin-bottom: 5px; font-size: 0.9em; }
.fp-row select, .fp-row input { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 8px; }
.fp-options { background: #f8f8f8; padding: 15px; border-radius: 8px; margin: 20px 0; }
.fp-funding-box { display: none; background: #fff4e6; border: 1px solid #ffd8a8; padding: 15px; border-radius: 8px; margin-bottom: 15px; }
.fp-funding-box h4 { margin: 0 0 10px 0; font-size: 0.9em; color: #d9480f; }
.fp-funding-list { list-style: none; padding: 0; margin: 0; }
.fp-funding-list a { display: block; color: #4a2d82; text-decoration: underline; font-size: 0.85em; margin-bottom: 5px; }
.fp-spreadsheet-box { display: none; background: #e6f4ea; border: 1px solid #b7e1cd; padding: 15px; border-radius: 8px; margin-bottom: 15px; }
.fp-spreadsheet-box h4 { margin: 0 0 10px 0; font-size: 0.9em; color: #137333; }
.fp-spreadsheet-list { list-style: none; padding: 0; margin: 0; }
.fp-spreadsheet-list a { display: block; color: #4a2d82; text-decoration: underline; font-size: 0.85em; margin-bottom: 5px; }
.fp-info-box { display: none; background: #f1f3f4; border: 1px solid #dadce0; padding: 15px; border-radius: 8px; margin-bottom: 15px; font-size: 0.85em; line-height: 1.4; color: #3c4043; }
.fp-info-box h4 { margin: 0 0 10px 0; font-size: 1.05em; color: #4a2d82; }
.fp-total-box { background: #4a2d82; color: #fff; padding: 20px; border-radius: 10px; text-align: center; }
.fp-total-box span { font-size: 2em; font-weight: 800; display: block; }
.fp-small { font-size: 0.75em; color: #888; text-align: center; margin-top: 15px; line-height: 1.4; }
@media (min-width: 1200px) { .fp-wrapper { padding: 40px; } }