.fp-final-project{margin-top:20px;background:linear-gradient(145deg,#fff 40%,#f2f6ff);border-color:#cfdcff;scroll-margin-top:100px}
.fp-final-project>.fp-card-head{align-items:center;flex-wrap:wrap}
.fp-final-project .section-kicker{font-size:10px;margin:0 0 4px}
.fp-delivery-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;background:#fff2c3;color:#775500}
.fp-delivery-status.submitted{background:#e8eeff;color:#214fba}.fp-delivery-status.approved{background:#e0f5e8;color:#17663c}.fp-delivery-status.changes_requested{background:#fff0db;color:#875010}
.fp-assignment-layout{display:grid;grid-template-columns:1fr 1fr;gap:26px;width:100%}
.fp-assignment-layout h3{font-size:17px;margin:0 0 12px}
.fp-assignment-step{background:#fff;border:1px solid var(--line);border-radius:14px;margin:9px 0;overflow:hidden}
.fp-assignment-step summary{display:flex;gap:10px;align-items:center;cursor:pointer;padding:13px;font-size:14px;font-weight:800;list-style:none}
.fp-assignment-step summary::-webkit-details-marker{display:none}
.fp-assignment-step summary:after{content:'+';margin-left:auto;color:var(--blue);font-size:20px}
.fp-assignment-step[open] summary:after{content:'−'}
.fp-assignment-step summary b{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:9px;background:#edf3ff;color:var(--blue)}
.fp-assignment-step p{font-size:13px;line-height:1.65;margin:0;padding:0 14px 14px;color:var(--muted)}
.fp-assignment-step .text-link{display:inline-block;padding:0 14px 15px;font-size:13px}
.fp-assignment-help{font-size:12px;margin-top:10px;display:inline-block}
.fp-assignment-delivery{padding:20px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.fp-delivery-form{display:grid;gap:13px;margin-top:16px;width:100%}
.fp-delivery-form label{display:grid;gap:6px;font-size:13px;font-weight:800}
.fp-delivery-form input:not([type=checkbox]),.fp-delivery-form textarea{width:100%;min-width:0;padding:12px;border:1px solid #bdcce3;border-radius:11px;background:#fbfcff;color:var(--ink);font:inherit;font-weight:400}
.fp-delivery-form textarea{resize:vertical;min-height:90px}
.fp-delivery-form small{font-size:11px;color:var(--muted);font-weight:400;line-height:1.55}
.fp-delivery-form .fp-delivery-check{display:flex;align-items:flex-start;gap:10px;font-weight:500;line-height:1.6}
.fp-delivery-check input{margin-top:4px;accent-color:var(--blue)}
.fp-delivery-form .portal-muted{font-size:12px;margin:0;line-height:1.6}
.fp-delivery-form .is-error{color:#a5332c}
.fp-final-celebration{padding:12px;border-radius:12px;background:#e5f6ec;color:#17663c;font-size:14px;font-weight:700}
.fp-recordings{width:100%;scroll-margin-top:100px}
.fp-recording{width:100%;padding:16px;border-radius:16px;background:#f5f2ff;border:1px solid #e4dcfb}
.fp-recording h3{font-size:16px;margin:0 0 6px}.fp-recording p{font-size:13px;margin:0 0 12px;color:var(--muted);overflow-wrap:anywhere}
.fp-recording code{background:#fff;padding:4px 8px;border-radius:6px;color:var(--ink);user-select:all}
.fp-recording-empty{display:flex;gap:14px;align-items:center;padding:18px;border-radius:16px;background:#f7f5ff;width:100%}
.fp-recording-empty>span{display:grid;place-items:center;background:#e5ddff;color:#6845be;width:48px;height:48px;flex:none;border-radius:15px}
.fp-recording-empty p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}
@media(max-width:760px){.fp-assignment-layout{grid-template-columns:1fr;gap:18px}.fp-assignment-delivery{padding:16px}.fp-final-project>.fp-card-head .fp-delivery-status{margin-left:56px}}
