/* Keep the R3 shell, with a bounded middle region during correction. */
body.correction-open{overflow:hidden!important;padding:0!important}
body.correction-open #appShell{position:fixed!important;top:var(--correction-top,0)!important;left:0;right:0;height:var(--correction-height,100dvh)!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:0!important;background:#f1f5f9}
body.correction-open #appShell>header{position:relative!important;top:auto!important;flex:none;padding-top:calc(9px + var(--app-top,0px))!important;padding-left:calc(12px + var(--app-left,0px))!important;padding-right:calc(12px + var(--app-right,0px))!important}
body.correction-open #appShell>main{min-height:0!important;height:100%!important;width:100%!important;max-width:680px!important;margin:0 auto!important;padding:8px!important;overflow:hidden!important;box-sizing:border-box}
body.correction-open #appShell>main>:not(#correctionEditor){display:none!important}
body.correction-open #appShell>nav{position:relative!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;width:100%!important;height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr));padding:5px calc(3px + var(--app-right,0px)) calc(5px + var(--app-bottom,0px)) calc(3px + var(--app-left,0px))!important;gap:0!important;box-sizing:border-box}
body.correction-open #appShell>nav:before,body.correction-open #appShell>nav:after{display:none!important}
body.correction-open #appShell>nav button{display:block!important;min-height:36px!important;font-size:10px!important;padding:4px!important;text-align:center!important}
#correctionEditor{height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#fff;border-radius:12px;overflow:hidden}
.correction-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));scroll-padding:12px}
.correction-scroll h2{font-size:20px;margin:0 0 8px}.correction-scroll p{font-size:13px;line-height:1.45;margin:8px 0}
.correction-part{border:1px solid #cbd5e1;border-radius:12px;padding:12px;margin:12px 0;min-width:0}.correction-part legend{font-weight:700;padding:0 5px}.correction-part label{display:block}.correction-part select,.correction-part input{width:100%;box-sizing:border-box;min-height:44px}
.correction-range{display:grid;gap:6px;font-size:12px;margin:10px 0}.correction-range b{font-weight:600}.correction-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.correction-tools button{width:auto!important;min-height:44px}
#correctionPreview{display:flex;height:16px;border-radius:8px;overflow:hidden;margin:12px 0}.correction-online{background:#22a35a}.correction-offline{background:#718096}.correction-break{background:#d69e2e}.correction-nap{background:#a162c4}.correction-home{background:#805ad5}
#correctionPreviewText{white-space:pre-line;font-size:12px;line-height:1.6;padding:8px 0}
.correction-footer{background:#fff;border-top:1px solid #cbd5e1;padding:8px 12px;box-shadow:0 -3px 12px #0001}.correction-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.correction-actions button{min-height:44px;width:100%!important;margin:0!important}#correctionError{color:#b91c1c;font-size:12px}#correctionError:not(:empty){padding-bottom:8px}
