progress{display:block;width:110px;max-width:100%;height:7px;accent-color:var(--green);border:0;border-radius:6px;overflow:hidden;background:#e8eee9;margin-bottom:5px}
progress::-webkit-progress-bar{background:#e8eee9;border-radius:6px}
progress::-webkit-progress-value{background:#38866a;border-radius:6px;transition:width .3s ease}
.case-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.case-steps>div{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);background:#f8fbf8;border-radius:9px;padding:13px;overflow-wrap:anywhere}
.case-steps b{font-size:14px}.case-steps span{font-size:11px;color:var(--muted)}
#dialogBody td input[type=number]{width:105px;min-width:75px}
button{transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}
button:active:not(:disabled){box-shadow:inset 0 1px 4px #173e3224}
.stat[role=button]{transition:box-shadow .16s ease,border-color .16s ease}
.stat[role=button]:hover{border-color:#95bca5;box-shadow:0 4px 14px #173e320d}
.overlay:not([hidden]) .dialog{animation:dialog-in .18s ease-out}
.toast:not([hidden]){animation:toast-in .18s ease-out}
@keyframes dialog-in{from{opacity:.4;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.case-steps{grid-template-columns:1fr}.dialogbody table{min-width:470px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
