/* Detonado Lab loading system — shared feedback for page, region and action waits. */
.dl-loading{
  display:flex;align-items:center;gap:10px;color:var(--muted);
  font-size:12px;line-height:1.4;min-width:0
}
.dl-loading-copy{display:grid;gap:2px;min-width:0}
.dl-loading-copy b{color:var(--text);font-size:12px;font-weight:600}
.dl-loading-copy small{color:var(--muted);font-size:11px}
.dl-lab-loader{
  --dl-flask-size:18px;position:relative;display:inline-grid;place-items:center;
  width:var(--dl-flask-size);height:var(--dl-flask-size);flex:0 0 var(--dl-flask-size);
  overflow:hidden;isolation:isolate
}
.dl-lab-loader-micro{--dl-flask-size:15px}
.dl-lab-loader-sm{--dl-flask-size:18px}
.dl-lab-loader-md{--dl-flask-size:24px}
.dl-lab-loader-lg{--dl-flask-size:34px}
.dl-lab-flask{
  position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:3;
  pointer-events:none;user-select:none
}
.dl-lab-liquid-window{
  position:absolute;inset:0;z-index:1;overflow:hidden;
  clip-path:polygon(31% 44%,69% 44%,77% 52%,84% 65%,88% 77%,86% 84%,79% 89%,21% 89%,14% 84%,12% 77%,16% 65%,23% 52%);
}
.dl-lab-liquid{
  position:absolute;left:4%;right:4%;bottom:-3%;height:76%;
  background:linear-gradient(180deg,#ff8a22 0%,#ff6a00 48%,#ff382f 100%);
  transform-origin:50% 100%;animation:dlLabFill 1.55s cubic-bezier(.45,0,.55,1) infinite;
  box-shadow:0 0 7px rgba(255,106,0,.32)
}
.dl-lab-liquid::before{
  content:"";position:absolute;left:-15%;top:-5%;width:130%;height:14%;
  border-radius:50%;background:rgba(255,188,112,.86);
  animation:dlLabWave 1.55s ease-in-out infinite
}
.dl-lab-bubble{
  position:absolute;z-index:2;border-radius:50%;background:rgba(255,220,174,.92);
  opacity:0;animation:dlLabBubble 1.55s ease-in infinite
}
.dl-lab-bubble-a{width:10%;height:10%;left:40%;bottom:22%;animation-delay:.15s}
.dl-lab-bubble-b{width:7%;height:7%;left:60%;bottom:30%;animation-delay:.55s}
.dl-lab-loader-micro .dl-lab-bubble{display:none}
.dl-loading-card,.dl-loading-panel{
  position:relative;overflow:hidden;padding:16px 18px;border:1px solid var(--border);
  border-radius:13px;background:linear-gradient(145deg,rgba(14,25,48,.86),rgba(11,21,40,.78))
}
.dl-loading-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;min-height:116px}
.dl-loading-with-bones{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;width:100%}
.dl-loading-bones{grid-column:1/-1;display:grid;gap:8px;width:100%;margin-top:4px}
.grid>.dl-loading,.list-stack>.dl-loading{grid-column:1/-1;width:100%}
.dl-loading-bone,.dl-preload-block{
  display:block;border:1px solid rgba(184,196,219,.055);border-radius:10px;
  background:linear-gradient(100deg,rgba(255,255,255,.025) 28%,rgba(255,255,255,.075) 48%,rgba(255,255,255,.025) 68%);
  background-size:240% 100%;animation:dlSkeleton 1.35s linear infinite
}
.dl-loading-bone{height:34px}
.dl-loading-bone.tall{height:72px}
.dl-skeleton-card{
  background:linear-gradient(100deg,rgba(255,255,255,.025) 28%,rgba(255,255,255,.075) 48%,rgba(255,255,255,.025) 68%)!important;
  background-size:240% 100%!important;animation:dlSkeleton 1.35s linear infinite!important
}
.dl-evolution-preload{display:grid;gap:14px;min-height:65vh;padding-top:2px}
.dl-evolution-loading-head{
  display:flex;align-items:center;gap:12px;padding:8px 2px 4px;color:var(--muted)
}
.dl-evolution-loading-head>div{display:grid;gap:3px}
.dl-evolution-loading-head b{color:var(--text);font-size:14px}
.dl-evolution-loading-head small{font-size:11px}
.dl-evolution-preload-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:14px}
.dl-preload-block.hero-main,.dl-preload-block.hero-side{height:180px}
.dl-evolution-preload-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.dl-preload-block.metric{height:86px}
.dl-evolution-preload-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dl-preload-block.panel{height:250px}
.dl-preload-block.wide{height:170px}
.next-step-loading{display:flex;align-items:center;gap:8px}
.next-step-loading::before{
  content:"";width:14px;height:14px;flex:0 0 auto;
  background:url('/assets/brand/source/detonado-lab-icon.svg') center/contain no-repeat;
  opacity:.9
}
.btn.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:wait}
.btn.is-loading .dl-loading-label{display:inline-block}
.dl-surface-busy{position:relative!important}
.dl-surface-busy>:not(.dl-surface-busy-overlay){pointer-events:none;user-select:none}
.dl-surface-busy-overlay{
  position:absolute;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;gap:12px;
  min-height:92px;padding:18px;border-radius:inherit;
  background:rgba(8,14,24,.74);backdrop-filter:blur(2px);
  text-align:left;color:var(--muted)
}
.dl-surface-busy-copy{display:grid;gap:3px;max-width:320px}
.dl-surface-busy-copy b{color:var(--text);font-size:13px}
.dl-surface-busy-copy small{font-size:11px;line-height:1.4}
@keyframes dlLabFill{
  0%,100%{transform:translateY(52%) scaleY(.58)}
  48%{transform:translateY(5%) scaleY(1)}
  72%{transform:translateY(15%) scaleY(.9)}
}
@keyframes dlLabWave{
  0%,100%{transform:translateX(-5%) rotate(-2deg)}
  50%{transform:translateX(5%) rotate(2deg)}
}
@keyframes dlLabBubble{
  0%{transform:translateY(8px) scale(.7);opacity:0}
  28%{opacity:.8}
  78%{opacity:.45}
  100%{transform:translateY(-13px) scale(1);opacity:0}
}
@keyframes dlSkeleton{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(max-width:900px){
  .dl-evolution-preload-hero,.dl-evolution-preload-grid{grid-template-columns:1fr}
  .dl-evolution-preload-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dl-evolution-preload-strip .metric:last-child{grid-column:1/-1}
}
@media(max-width:520px){
  .dl-evolution-preload{gap:10px}
  .dl-preload-block.hero-main,.dl-preload-block.hero-side{height:132px}
  .dl-evolution-preload-strip{grid-template-columns:1fr 1fr}
  .dl-preload-block.panel{height:190px}
}
@media(prefers-reduced-motion:reduce){
  .dl-lab-liquid,.dl-lab-liquid::before,.dl-lab-bubble,.dl-loading-bone,.dl-preload-block,.dl-skeleton-card{
    animation:none!important
  }
  .dl-lab-liquid{transform:translateY(18%) scaleY(.88)}
  .dl-lab-bubble{display:none}
}
