.approval40-progress { margin:20px 0 16px;padding:18px;border:1px solid #334155;border-radius:12px;background:#111d30;text-align:left;overflow-wrap:anywhere; }
.approval40-progress strong { display:block;font-size:15px;line-height:1.5;color:#e2e8f0; }
#approval40Detail { margin:8px 0 0;font-size:13px;line-height:1.5;color:#94a3b8; }
#approval40Detail:empty { display:none; }
.approval40-progress[data-tone="busy"] strong::before { content:'';display:inline-block;width:13px;height:13px;margin-right:10px;border:2px solid #334155;border-top-color:#60a5fa;border-radius:50%;vertical-align:-2px;animation:approval40-spin 1s linear infinite; }
.approval40-progress[data-tone="success"] { border-color:#059669;background:#092c29; }
.approval40-progress[data-tone="warning"] { border-color:#b7791f;background:#302515; }
.approval40-progress[data-tone="error"] { border-color:#dc4747;background:#321b24; }
#confirmModal[data-busy40="true"] button { opacity:.5;cursor:wait; }
#confirmModal [hidden] { display:none!important; }
@keyframes approval40-spin { to {transform:rotate(360deg)} }
@media(prefers-reduced-motion:reduce){.approval40-progress[data-tone="busy"] strong::before{animation:none;}}

#confirmModal .modal-confirm { max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto; }
#approval40Detail { max-height:none;overflow:visible;white-space:normal; }
