.report-intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:16px 0 28px}.report-intro h2{font-size:32px;margin:10px 0}.report-intro p{max-width:620px;line-height:1.7;color:#646d65}.report-start{display:flex;align-items:end;gap:18px}.report-start label{flex:1;margin:0}.report-start button{margin-bottom:0}.report-list-item{display:flex;align-items:center;justify-content:space-between;gap:18px}.report-list-item h3{font-size:23px;margin:8px 0}.report-list-item>div:last-child{display:flex;flex-direction:column;align-items:end;gap:14px}.report-dialog{width:min(820px,94vw);max-width:94vw;max-height:92dvh;overflow-y:auto;padding:26px;box-sizing:border-box}.report-dialog .dialog-head{position:sticky;top:-26px;background:#fff;z-index:2;padding:16px 0;border-bottom:1px solid #e3e6df}.report-dialog .dialog-head h2{font-size:23px}.report-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.report-subject{border:1px solid #dce2d6;border-radius:12px;padding:16px;margin:16px 0;background:#fafbf8;min-width:0}.report-subject legend{padding:0 8px;font-weight:bold}.report-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.report-dialog input,.report-dialog textarea,.report-dialog select,.report-start input,.report-start select{font-size:16px;max-width:100%;box-sizing:border-box}.report-dialog textarea{min-height:90px;resize:vertical}.report-message:empty{display:none}.progress-report{background:#fff;border:1px solid #e4e6df;border-radius:18px;overflow:hidden;margin:22px 0;color:#33473a;overflow-wrap:anywhere}.report-cover{background:#f5eadd;padding:38px 32px;border-bottom:5px solid #ec9478}.report-cover h2{font-size:40px;line-height:1.2;margin:20px 0;font-weight:400}.report-cover .eyebrow{font-size:11px;letter-spacing:1.5px}.report-month{font-size:15px;margin-top:20px}.report-content{padding:30px}.report-content section+section{margin-top:32px}.report-content h3{font-size:25px;margin:8px 0 15px}.report-content p{line-height:1.75}.report-prose{white-space:normal}.subject-card{border:1px solid #e1e5dc;border-radius:12px;margin:12px 0;background:#fbfcf9}.subject-card summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px;cursor:pointer;list-style:none}.subject-card summary:after{content:'+';font-size:22px}.subject-card[open] summary:after{content:'−'}.subject-card>div{padding:0 18px 10px}.subject-card .pill{font-size:12px;white-space:normal;text-align:center}.rating-guide{font-size:14px;margin:20px 0;line-height:1.6}.rating-guide summary{cursor:pointer;min-height:44px;padding-top:10px}.rating-guide dt{font-weight:bold;margin-top:12px}.rating-guide dd{margin-left:0}.report-targets{background:#eef3e9;padding:24px;border-radius:12px}.report-content .fine{font-size:13px}.family-report-shell{max-width:820px;margin:auto;padding:24px 20px 60px}.family-report-shell header{display:flex;gap:20px;align-items:center;justify-content:space-between}.family-report-shell header img{width:80px;height:80px;object-fit:contain}.family-report-shell h1{font-size:34px}.family-report-filters{display:flex;gap:14px}.family-report-filters label{flex:1}.family-report-shell .report-ack{margin:-6px 0 32px;display:flex;align-items:center;justify-content:space-between;gap:14px}.report-start input,.report-start select{min-height:46px}.report-dialog button,.report-list-item button,.family-report-shell button{min-height:44px}.report-dialog a,.report-dialog p,.report-intro{overflow-wrap:anywhere}
@media(max-width:600px){.report-intro{display:block}.report-intro h2{font-size:28px}.report-start{display:grid;grid-template-columns:1fr}.report-list-item{align-items:start;flex-direction:column}.report-list-item>div:last-child{flex-direction:row;align-items:center;justify-content:space-between;width:100%;flex-wrap:wrap}.report-dialog{padding:16px;width:96vw;max-width:96vw}.report-dialog .dialog-head{top:-16px}.report-dialog .dialog-head h2{font-size:20px}.report-cover{padding:26px 20px}.report-cover h2{font-size:32px}.report-content{padding:22px 18px}.report-content h3{font-size:23px}.report-targets{padding:18px}.report-buttons{display:grid;grid-template-columns:1fr;width:100%}.report-buttons button{width:100%}.subject-card summary{padding:14px;flex-wrap:wrap}.subject-card summary strong{flex:1}.family-report-shell{padding:16px 14px 40px}.family-report-shell h1{font-size:28px}.family-report-filters{flex-direction:column;gap:0}.family-report-shell .report-ack{align-items:stretch;flex-direction:column}.report-form-grid{grid-template-columns:1fr}}
.report-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:22px 22px 0;background:#fffaf5}.report-gallery figure{margin:0;min-width:0}.report-gallery figure:only-child{grid-column:1/-1}.report-photo-open{display:block;width:100%;padding:0;border:0;border-radius:12px;overflow:hidden;background:#efece6;cursor:zoom-in}.report-photo-open img{display:block;width:100%;height:250px;object-fit:contain}.report-gallery figcaption{font-size:14px;line-height:1.5;padding:10px 2px 18px;color:#58675d}.report-parent{font-size:15px}.report-celebration{display:flex;align-items:center;gap:22px;padding:24px;border:1px solid #efd99a;border-radius:16px;background:#fff9e8}.report-celebration h3{margin:7px 0}.report-celebration p{margin:0}.report-star{display:grid;place-items:center;flex:0 0 80px;height:80px;border-radius:50%;background:#f9e8ac;color:#a86d05;font-size:55px;line-height:1;border:4px solid #fff0c5;box-shadow:0 0 0 1px #e4c56d}.report-rating-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-rating{border:1px solid #dfe4dc;border-top:5px solid #b9c1b3;border-radius:12px;padding:18px;background:#f8faf6}.report-rating h4{font-size:20px;margin:0 0 16px}.report-rating>span{display:block;font-size:12px;margin-top:14px;color:#526052}.report-rating>strong{display:block;font-size:15px;margin-top:4px}.report-rating.towards{background:#fffbea;border-color:#e3cf77}.report-rating.expected{background:#f0f7ed;border-color:#9cbb86}.report-rating.above{background:#edf5fc;border-color:#95bbd6}.report-rating.exceeding{background:#f6f0fb;border-color:#bba0ce}.report-rating details{margin-top:16px;font-size:14px}.report-rating summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.report-targets ul{padding-left:22px;line-height:1.7}.report-targets li+li{margin-top:8px}.report-personalise{border:1px solid #eadfce;border-radius:14px;padding:20px;margin:24px 0;background:#fffaf3}.report-personalise h3{margin-top:0}.report-photo-editor{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-photo-edit{margin:0;padding:12px;background:white;border:1px solid #e5ddcf;border-radius:12px;min-width:0}.report-photo-edit>img{width:100%;height:170px;object-fit:contain;border-radius:8px;background:#f5f3ee}.photo-controls{display:flex;flex-wrap:wrap;gap:6px}.photo-controls button{font-size:12px;min-height:44px;padding:6px}.photo-upload{display:block;margin:20px 0 10px}.photo-upload input{display:block;margin-top:10px;width:100%}.photo-viewer{width:min(960px,94vw);max-width:94vw;max-height:94dvh;padding:18px;border:0;border-radius:14px;box-sizing:border-box}.photo-viewer::backdrop{background:#102017c9}.photo-viewer>button{display:block;margin:0 0 14px auto;min-height:44px}.photo-viewer>img{display:block;max-width:100%;max-height:72dvh;object-fit:contain;margin:auto}.photo-viewer p{margin:16px 0 0;line-height:1.5;overflow-wrap:anywhere}.report-dialog .fine{font-weight:normal}
@media(max-width:600px){.report-gallery{gap:10px;padding:14px 14px 0}.report-photo-open img{height:180px}.report-gallery figcaption{font-size:12px}.report-celebration{padding:18px;gap:14px}.report-star{flex-basis:58px;height:58px;font-size:40px}.report-celebration h3{font-size:21px}.report-celebration .eyebrow{font-size:9px}.report-rating-grid,.report-photo-editor{grid-template-columns:1fr}.report-personalise{padding:14px}.report-photo-edit>img{height:210px}}
