.contract-card{background:#fff;border:1px solid #d9e2eb;border-radius:14px;padding:1.25rem;margin:1rem 0;color:#182b40}.contract-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.contract-heading h3{margin:.25rem 0 .5rem}.contract-meters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.contract-meter{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:10px;background:#f1f5fa;border-left:4px solid #245477;font-size:1rem}.contract-meter strong{font-size:2rem;font-variant-numeric:tabular-nums}.contract-meter small{font-size:1rem;font-weight:500}.contract-meter progress{width:100%;height:.75rem;accent-color:#245477}.contract-meter.low{border-color:#996800;background:#fff7e4}.contract-meter.over,.contract-meter.exhausted{border-color:#b52a32;background:#fff0f0}.contract-meter.low progress{accent-color:#996800}.contract-meter.over progress,.contract-meter.exhausted progress{accent-color:#b52a32}.contract-notice{background:#fff7e4;color:#624800;padding:.8rem;border-radius:8px;font-size:1rem}.contract-card .helper{font-size:.9rem;line-height:1.5}.contract-editor label{display:flex;flex-direction:column;gap:.35rem;font-size:1rem}.contract-editor input:not([type=checkbox]),.contract-editor textarea{width:100%;box-sizing:border-box;padding:.7rem;border:1px solid #a7b6c6;border-radius:7px;font:inherit}.contract-editor .check-label{flex-direction:row;align-items:start}.contract-editor .check-label input{margin-top:.3rem}.contract-editor .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contract-editor{display:grid;gap:1rem}.contract-record{border-top:1px solid #d9e2eb;padding:1rem 0}.contract-record p{margin:.5rem 0}.contract-record .actions{flex-wrap:wrap}.contract-record input{max-width:32rem;width:100%;box-sizing:border-box;padding:.65rem;font:inherit}.contract-student-summary{font-size:.9rem;display:block;margin-top:.4rem;color:#344b60}@media(max-width:640px){.contract-meters,.contract-editor .form-grid{grid-template-columns:1fr}.contract-heading{flex-direction:column}.contract-meter strong{font-size:1.8rem}}

.contract-upload{padding:1rem 0;border-bottom:1px solid #d9e2eb;margin-bottom:1rem}.contract-upload form{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.contract-upload input[type=file]{max-width:100%;font:inherit}.contract-upload blockquote{margin:.5rem 0;padding:.8rem;border-left:3px solid #245477;background:#f1f5fa;white-space:pre-wrap;overflow-wrap:anywhere}.contract-upload h4{font-size:1rem}
