.cgp41-page{container:pedagogy-practice / inline-size;color:#1d334b;font-family:Arial,"Segoe UI",sans-serif}
.cgp41-sheet{padding:22px;border:1px solid #cedbeb;border-radius:16px;background:#fff;box-shadow:0 6px 24px #1c40600a}
.cgp41-toolbar{gap:12px;min-height:66px;padding:12px 14px;margin-bottom:18px;flex-wrap:wrap;border:1px solid #d4dfed;background:#f5f8fc;border-radius:10px}
.cgp41-toolbar>label{font-size:11px;letter-spacing:.4px;color:#315275}
.cgp41-toolbar select{width:94px;padding:10px;border:1px solid #b6cbe3;border-radius:6px;background:#fff;color:#173750;font-size:14px;font-weight:700}
.cgp41-back{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #c3d4e7;border-radius:7px;background:#fff;color:#316ba9;cursor:pointer}
.cgp41-back svg{flex-shrink:0;fill:#316ba9;stroke:#316ba9;width:24px;height:24px}
.cgp41-back span{font-size:9px;font-weight:750;line-height:1.45;text-align:left;color:#315275}
.cgp41-back:hover{background:#eaf2fc;border-color:#8eafd4}
.cgp41-evidence{display:flex;align-items:center;gap:6px;margin-left:auto;max-width:460px;padding:8px 10px;color:#4c6785;font-size:11px;line-height:1.5}
.cgp41-evidence svg{flex-shrink:0}
.cgp41-page h1{margin:0 0 16px;padding:18px 20px;border:1px solid #cedceb;border-top:4px solid #376eaa;border-radius:9px;background:#f7faff;color:#173c62;text-align:center;font-size:clamp(17px,1.6cqw,22px);font-weight:750;line-height:1.5}
.cgp41-page .cgp-progress-row{grid-template-columns:27% 23% 1fr;min-height:44px;margin-bottom:16px;border:1px solid #a9c0dd;border-radius:8px;overflow:hidden;color:#234263;font-size:12px}
.cgp41-page .cgp-progress-row>strong{background:#376eaa;color:#fff;padding:10px 12px;line-height:1.4}
.cgp41-page .cgp-progress-row>b{border-color:#bed0e5;background:#f0f5fb;padding:10px 12px;line-height:1.4}
.cgp41-page .cgp-progress{min-height:30px;margin:6px;border-radius:4px;border-color:#e8c368;background:#fff8df}
.cgp41-page .cgp-progress i{background:#f5c453}
.cgp41-page .cgp-progress span{font-size:13px;color:#332c14}

/* Explicit cell borders also cover the last rows, overriding the global table reset. */
.cgp41-page .cgp-table-scroll{border:1px solid #9eb6d2;border-radius:9px;overflow:auto;scrollbar-color:#9db6d1 #edf3fa}
.cgp41-page .cgp-table{width:100%;min-width:820px;border-collapse:collapse;border:1px solid #b9cbe0;table-layout:fixed;font-size:13px;color:#243b53}
.cgp41-page .cgp-col-code{width:6%}
.cgp41-page .cgp-col-description{width:21%}
.cgp41-page .cgp-col-action{width:27.5%}
.cgp41-page .cgp-col-count{width:9%}
.cgp41-page .cgp-table th,.cgp41-page .cgp-table td{border:1px solid #b9cbe0;padding:9px 10px;line-height:1.5;overflow-wrap:break-word}
.cgp41-page .cgp-table thead th{background:#234e78;color:#fff;text-align:center;font-weight:700;letter-spacing:.3px}
.cgp41-page .cgp-table thead tr:first-child th{padding:20px 9px;font-size:13px}
.cgp41-page .cgp-table thead tr:last-child th{padding:9px 5px;background:#edf3fb;color:#315275;font-size:10px;line-height:1.4;letter-spacing:0;text-transform:none}
.cgp41-page .cgp-table .cgp-cg{background:#f3f7fc;color:#315f93;vertical-align:top;padding-top:15px;font-size:18px}
.cgp41-page .cgp-table .cgp-description{background:#f8fafd;vertical-align:top;line-height:1.65;font-size:13px;color:#334e6b;padding:14px 12px}
.cgp41-page .cgp-description strong{display:inline-block;margin-bottom:6px;font-size:12px;font-weight:800;color:#224c76}
.cgp41-page .cgp-table .cgp-action-label{font-size:12px;font-weight:400;color:#243b53;letter-spacing:0;text-transform:none;line-height:1.5}
.cgp41-page .cgp-table tbody tr{background:#fff}
.cgp41-page .cgp-table tbody tr:nth-child(even)>.cgp-action-label,.cgp41-page .cgp-table tbody tr:nth-child(even)>td:not(.cgp-count){background:#f4f7fc}
.cgp41-page .cgp-table tbody tr:focus-within>.cgp-action-label,.cgp41-page .cgp-table tbody tr:focus-within>td:not(.cgp-description){background:#eef5fd}
.cgp41-page .cgp-table .cgp-count{padding:7px;background:#edf3fb}
.cgp41-page .cgp-count input{height:38px;min-width:0;width:100%;padding:5px;border:1px solid #b8cce4;border-radius:6px;background:#fff;color:#183f6d;font-size:14px;font-weight:750;text-align:center;font-variant-numeric:tabular-nums}
.cgp41-page .cgp-count input:hover:not([readonly]){border-color:#729dcf;background:#f7fbff}
.cgp41-page .cgp-count input:focus{border-color:#3673b6;outline:2px solid #8db8e2;outline-offset:1px;background:#fff8de}
.cgp41-page .cgp-count input::placeholder{color:#8c9fb4;font-weight:400}
.cgp41-page .cgp-table tfoot th,.cgp41-page .cgp-table tfoot td{border:1px solid #a8bdd6;border-top:2px solid #7f9fc5;background:#e7effa;color:#204b77;padding:12px 10px;font-weight:800}
.cgp41-page .cgp-table tfoot th{font-size:12px;letter-spacing:.5px}
.cgp41-page .cgp-table tfoot td{font-size:17px;font-variant-numeric:tabular-nums}
.cgp41-page .cgp-table-scroll:focus-visible{outline:3px solid #6c9dd1;outline-offset:3px}
.cgp41-page .cgp-method,.cgp41-page .cgp-source{margin:10px 0;font-size:11px;line-height:1.6;color:#61748c;overflow-wrap:anywhere}

.cgp41-page .cgp-suggest{flex-direction:row;align-items:center;gap:18px;margin:22px 0;padding:14px 16px;border:1px solid #c9d9ed;border-radius:10px;background:#f2f7fd;font-size:12px;line-height:1.5;color:#36597e}
.cgp41-page .cgp-suggest p{font-weight:500}
.cgp41-page .cgp-suggest .btn{min-height:42px;padding:10px 14px;border-color:#28639c;border-radius:7px;background:#326fa9;color:#fff;font-size:11px;line-height:1.4;white-space:normal;flex-shrink:0}
.cgp41-analysis-heading{margin:0 0 14px}
.cgp41-analysis-heading h2{margin:0 0 5px;font-size:19px;line-height:1.3;color:#24486d;font-weight:750}
.cgp41-analysis-heading p{margin:0;font-size:12px;line-height:1.5;color:#6a7d94}
.cgp41-page .cgp-narrative{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:stretch}
.cgp41-page .cgp-narrative .cgp41-narrative-card{display:flex;flex-direction:column;min-width:0;margin:0;border:1px solid #afc5e0;border-radius:12px;background:#edf3fc;overflow:hidden;box-shadow:0 3px 10px #24487008;transition:border-color .15s,box-shadow .15s}
.cgp41-page .cgp-narrative .cgp41-narrative-heading{display:flex;align-items:center;gap:12px;min-height:84px;padding:16px 20px;border:0;border-bottom:1px solid #b9cee6;background:#e0ebfa;color:#173f70}
.cgp41-step{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border:1px solid #326797;border-radius:8px;background:#285c92;color:#fff;font-size:12px;font-weight:750}
.cgp41-narrative-copy{display:grid;gap:7px;min-width:0}
.cgp41-narrative-copy strong{font-size:14px;line-height:1.3;letter-spacing:.5px;font-weight:800;color:#173f70}
.cgp41-narrative-copy small{font-size:11px;line-height:1.5;font-weight:400;color:#466382}
.cgp41-page .cgp-narrative .cgp41-narrative-card textarea{display:block;width:100%;height:240px;min-height:240px;max-height:240px;box-sizing:border-box;padding:16px;border:0;border-radius:0;background:#edf3fc;color:#213d5d;font-size:14px;line-height:1.7;resize:none;overflow:auto;outline:none;transition:background-color .15s,box-shadow .15s}
.cgp41-page .cgp-narrative .cgp41-narrative-card textarea::placeholder{color:#71869f;font-size:13px}
.cgp41-page .cgp-narrative .cgp41-narrative-card:focus-within{border-color:#c2942d;box-shadow:0 0 0 3px #ebc86e50,0 4px 15px #24487010}
.cgp41-page .cgp-narrative .cgp41-narrative-card textarea:focus{background:#fff5d9;box-shadow:inset 0 0 0 2px #dfbd63;outline:none}
.cgp41-page .cgp-savebar{align-items:center;gap:16px;margin-top:22px;padding:16px;border:1px solid #ceddeb;border-radius:10px;background:#f7faff;color:#8c631f;font-size:12px;line-height:1.5}
.cgp41-page .cgp-savebar .btn{min-height:44px;padding:11px 18px;border:1px solid #285e97;border-radius:7px;background:#2e68a3;color:#fff;font-size:12px;line-height:1.4;white-space:normal}
.cgp41-page .cgp-suggest .btn:hover,.cgp41-page .cgp-savebar .btn:hover{background:#25598d}
.cgp41-back:focus-visible{outline:3px solid #5287c0;outline-offset:3px}
@container pedagogy-practice (max-width:1050px){
 .cgp41-sheet{padding:16px}
 .cgp41-evidence{max-width:340px;font-size:10px}
 .cgp41-page .cgp-narrative .cgp41-narrative-heading{padding:14px 16px}
 .cgp41-page .cgp-suggest{flex-direction:column;align-items:stretch;gap:12px}
}
@container pedagogy-practice (max-width:750px){
 .cgp41-sheet{padding:12px}
 .cgp41-toolbar{gap:9px;padding:10px}
 .cgp41-evidence{width:100%;max-width:none;margin-left:0;padding:4px 0}
 .cgp41-back{margin-left:auto;padding:6px 8px}
 .cgp41-back span{font-size:8px}
 .cgp41-page h1{padding:14px 12px;font-size:16px}
 .cgp41-page .cgp-progress-row{font-size:10px;grid-template-columns:30% 25% 1fr}
 .cgp41-page .cgp-progress-row>strong,.cgp41-page .cgp-progress-row>b{padding:8px}
 .cgp41-page .cgp-savebar{flex-direction:column;align-items:stretch}
 .cgp41-page .cgp-savebar .btn{justify-content:center}
}
@container pedagogy-practice (max-width:430px){
 .cgp41-sheet{padding:10px;border-radius:12px}
 .cgp41-toolbar>label{font-size:9px}
 .cgp41-toolbar select{width:80px;font-size:13px;padding:9px 7px}
 .cgp41-back{gap:5px;padding:5px}
 .cgp41-back span{font-size:7px}
 .cgp41-back svg{width:21px;height:21px}
 .cgp41-page .cgp-progress-row{grid-template-columns:1fr 1fr}
 .cgp41-page .cgp-progress{grid-column:1/-1}
 .cgp41-page .cgp-progress-row>b{border-right:0}
 .cgp41-page .cgp-narrative .cgp41-narrative-heading{min-height:100px;padding:12px;gap:9px}
 .cgp41-narrative-copy strong{font-size:13px}
 .cgp41-narrative-copy small{font-size:11px}
 .cgp41-page .cgp-narrative .cgp41-narrative-card textarea{padding:13px}
 .cgp41-analysis-heading h2{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.cgp41-page .cgp-narrative .cgp41-narrative-card,.cgp41-page .cgp-narrative .cgp41-narrative-card textarea{transition:none}}
