.progress-manager{margin-top:48px;padding-top:38px;border-top:2px solid var(--ink)}
.progress-head,.family-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px}
.progress-head h3,.family-head h3{margin:0 0 6px;font-size:28px;letter-spacing:-.04em}
.progress-head>div>p:last-child{margin:0;color:var(--muted)}
.progress-head>span,.family-head>span{padding:6px 10px;border-radius:999px;background:#e8f4ec;color:var(--green);font-weight:900;white-space:nowrap}
.progress-form{display:grid;grid-template-columns:1fr 1.25fr .75fr;gap:14px;padding:22px;border-radius:18px;background:#f2f6ff}
.progress-form label,.family-link-form label{display:grid;gap:7px;font-size:13px;font-weight:900}
.progress-form select,.progress-form textarea,.progress-form input,.family-link-form input{width:100%;min-width:0;border:1.5px solid #c9d5dd;border-radius:12px;padding:12px 13px;background:#fff;color:var(--ink);font:inherit;outline:none}
.progress-form textarea{resize:vertical;line-height:1.55}
.progress-form select:focus,.progress-form textarea:focus,.progress-form input:focus,.family-link-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(36,89,211,.1)}
.progress-note{grid-column:1 / 3}.progress-image{grid-column:3}.progress-image small{color:var(--muted);font-size:11px;font-weight:600}.progress-form>button{grid-column:3;align-self:end;min-height:48px}
.progress-list{display:grid;gap:14px;margin-top:20px}
.progress-class-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:14px 4px 8px;border-bottom:2px solid var(--ink)}.progress-class-heading:first-child{margin-top:0}.progress-class-heading h4{margin:0;font-size:22px;letter-spacing:-.035em}.progress-class-heading span{color:var(--blue);font-size:12px;font-weight:900}
.progress-record{display:block;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}
.record-head{display:flex;align-items:start;justify-content:space-between;gap:18px}.record-head span{color:var(--muted);font-size:12px}.record-head h4{margin:4px 0 0;font-size:21px;letter-spacing:-.025em}.status-badge{padding:6px 10px;border-radius:8px;background:#eaf0ff;color:var(--blue);font-size:11px;white-space:nowrap}.status-badge.complete{background:#e8f4ec;color:var(--green)}.status-badge.support{background:#fff0e9;color:#c95720}.status-badge.waiting{background:#f0f1f3;color:#66717c}
.record-chapter{margin:15px 0 8px;color:var(--blue);font-size:12px;font-weight:900}.record-note{margin:0;white-space:pre-wrap;line-height:1.75;color:#33485b}.record-meta{margin:14px 0 0;color:var(--muted);font-size:12px}.record-image{display:block;width:100%;max-height:440px;margin-top:16px;border-radius:13px;object-fit:cover;background:#edf1f4}.record-delete{margin-top:14px;border:1px solid #e2c4c0;border-radius:9px;padding:8px 11px;background:#fff;color:#bd3a31;font-size:12px;font-weight:900}
.family-code-label{margin:8px 0 4px;color:var(--muted);font-size:11px}.family-code{display:block;margin:0 0 15px;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;letter-spacing:.08em}.child-card .card-actions{flex-wrap:wrap}
.family-link-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin:22px 0 38px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.family-link-form>div>p{margin:7px 0 0;color:var(--muted);font-size:12px}.family-link-form button{min-height:47px;padding-inline:24px}
.family-dashboard{padding-top:4px}.family-children{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.family-child{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff}.family-child span{color:var(--blue);font-size:12px;font-weight:900}.family-child h4{margin:8px 0 0;font-size:21px}.progress-title{margin-top:40px;padding-top:34px;border-top:2px solid var(--ink)}
@media(max-width:800px){.progress-form{grid-template-columns:1fr 1fr}.progress-note,.progress-image,.progress-form>button{grid-column:auto}.progress-note{grid-column:1 / -1}.family-children{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.progress-head{align-items:start}.progress-form{grid-template-columns:1fr}.progress-note,.progress-image,.progress-form>button{grid-column:auto}.record-image{max-height:340px}.family-link-form{grid-template-columns:1fr}.family-children{grid-template-columns:1fr}}
.record-image{height:auto;max-height:none;object-fit:contain}
.record-images{display:grid;gap:14px;width:100%;margin-top:18px}.record-photo{position:relative;margin:0;overflow:hidden;border-radius:14px;background:#edf1f4}.record-photo .record-image{display:block;width:100%;height:auto;margin:0;object-fit:contain}.record-photo figcaption{position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:999px;background:rgba(18,31,43,.78);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em}
.approval-manager{margin:0 0 34px;padding:24px;border:1px solid #d9e2e8;border-radius:18px;background:#f8fafc}.approval-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.approval-head h3{margin:4px 0 5px;font-size:24px}.approval-head p{margin:0;color:#6a7987;font-size:13px}.approval-head>span{color:#2459d3;font-size:13px;font-weight:900}.approval-list{display:grid;gap:9px;margin-top:20px}.approval-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid #dce4ea;border-radius:12px;background:#fff}.approval-row div{display:grid;gap:3px}.approval-row span{color:#d95f38;font-size:10px;font-weight:900}.approval-row strong{font-size:17px}.approval-row small{color:#74818d}.approval-row button{border:0;border-radius:9px;padding:10px 13px;background:#2459d3;color:#fff;font-size:12px;font-weight:900}.approval-empty{margin-top:14px;padding:20px}@media(max-width:580px){.approval-manager{padding:19px}.approval-row{align-items:flex-end}.approval-head p{max-width:220px}}
