.restore-self-correction-card { min-width:0; }
.restore-self-correction-card p { margin-block:12px 0; line-height:1.5; }
.restore-self-corrections[hidden] { display:none !important; }
.restore-self-corrections { position:fixed; inset:0; z-index:25000; display:flex; align-items:flex-start; justify-content:center; overflow-y:auto; background:rgba(0,0,0,.82); padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom)); box-sizing:border-box; overscroll-behavior:contain; }
.restore-self-corrections *,.restore-self-correction-card * { box-sizing:border-box; }
.esc-panel { width:100%; max-width:600px; min-width:0; margin-block:auto; padding:20px; border:1px solid #ad914b; border-radius:22px; background:#171b20; color:#f6f3e9; font:20px/1.5 Arial,sans-serif; overflow-wrap:anywhere; }
.esc-heading { display:flex; align-items:flex-start; gap:12px; margin-block-end:18px; }
.esc-heading h2 { flex:1; min-width:0; margin:0; font-size:clamp(24px,5.5vw,30px); line-height:1.25; }
.esc-heading .esc-secondary { width:auto; flex-shrink:0; min-width:78px; padding:8px 12px; }
.esc-body h3 { font-size:22px; margin-block:18px 8px; }
.esc-body p { margin-block:12px; }
.esc-primary,.esc-secondary { display:block; width:100%; min-height:58px; padding:14px 16px; border-radius:14px; border:1px solid #b69a50; cursor:pointer; font:700 20px/1.3 Arial,sans-serif; white-space:normal; }
.esc-primary { background:#f2cc6a; color:#17140c; }
.esc-secondary { background:#282b2d; color:#f9da86; }
.esc-body>.esc-primary,.esc-body>.esc-secondary { margin-block-start:16px; }
.esc-primary:disabled,.esc-secondary:disabled { opacity:.65; cursor:default; }
.esc-primary:focus-visible,.esc-secondary:focus-visible,.esc-body input:focus-visible { outline:3px solid #fff; outline-offset:3px; }
.esc-shift { padding:16px; margin-block:16px; border:1px solid #6a7180; border-radius:16px; }
.esc-times { display:grid; gap:10px; margin-block-end:18px; }
.esc-times>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; border-block-end:1px solid #4f5661; padding-block-end:8px; }
.esc-times bdi { font-variant-numeric:tabular-nums; white-space:nowrap; }
.esc-message { padding:14px; border:1px solid #dbb558; border-radius:12px; background:#332e21; }
.esc-success { border-color:#7fe0b3; background:#173b30; color:#c7fce3; }
.esc-bonus { display:flex; align-items:center; flex-wrap:wrap; gap:14px; padding:18px; border:1px solid #7fe0b3; border-radius:14px; }
.esc-bonus input { width:32px; height:32px; flex:0 0 32px; accent-color:#79deb0; }
.esc-bonus bdi { white-space:nowrap; font-weight:bold; }
.esc-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.esc-counts label { display:block; min-width:0; }
.esc-duration { display:flex; gap:8px; justify-content:center; margin-block-end:6px; }
.esc-duration bdi { font-weight:bold; color:#ffda79; }
.esc-counts input { width:100%; min-width:0; min-height:68px; border:1px solid #858c99; border-radius:14px; background:#0b0f14; color:#fff; text-align:center; padding:10px; font:700 30px/1.2 Arial,sans-serif; }
@media(max-width:360px) { .esc-panel { padding:14px; } .esc-heading { flex-wrap:wrap; } .esc-times>div { display:grid; } }
body.restore-personal-large-ui .esc-primary,body.restore-personal-large-ui .esc-secondary { min-height:78px; font-size:24px; }
body.restore-personal-large-ui .esc-panel { font-size:24px; }
body.restore-personal-large-ui .esc-counts input { min-height:82px; font-size:38px; }
