/* Check Point shared progress loader — single owner for every runtime loading state. */
:root{
  --cp-progress-accent:var(--accent,var(--a2,#aa9a84));
  --cp-progress-track:color-mix(in srgb,var(--cp-progress-accent) 16%,transparent);
  --cp-progress-surface:var(--panel-strong,var(--surface,#fbf8f2));
  --cp-progress-text:var(--text-strong,#443f38);
  --cp-progress-line:var(--line,rgba(151,137,118,.22));
}
html[data-theme="dark"]{
  --cp-progress-accent:var(--accent,#55a9cf);
  --cp-progress-track:color-mix(in srgb,var(--cp-progress-accent) 18%,transparent);
  --cp-progress-surface:var(--panel-strong,#10202d);
  --cp-progress-text:var(--text-strong,#f2f6f9);
}
.cp-progress-loader{
  --cp-progress-value:8;
  --cp-progress-size:74px;
  --cp-progress-thickness:6px;
  position:relative;
  width:var(--cp-progress-size);
  height:var(--cp-progress-size);
  display:grid;
  flex:0 0 var(--cp-progress-size);
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--cp-progress-accent) calc(var(--cp-progress-value) * 3.6deg),var(--cp-progress-track) 0);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--cp-progress-line) 70%,transparent);
  isolation:isolate;
}
.cp-progress-loader::before{
  content:"";
  position:absolute;
  inset:var(--cp-progress-thickness);
  z-index:-1;
  border:1px solid color-mix(in srgb,var(--cp-progress-line) 72%,transparent);
  border-radius:50%;
  background:var(--cp-progress-surface);
}
.cp-progress-loader__value{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:baseline;
  justify-content:center;
  min-width:0;
  color:var(--cp-progress-text);
  font:500 18px/1 "Tomorrow","Noto Sans Thai",Arial,sans-serif;
  letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;
}
.cp-progress-loader__value::after{content:"%";margin-left:1px;font-size:.46em;font-weight:500;letter-spacing:0;opacity:.72}
.cp-progress-loader.is-complete{--cp-progress-accent:var(--success,#7f9179)}
.cp-progress-loader.is-error{--cp-progress-accent:var(--error,#a67870)}
.cp-progress-loader--hero{--cp-progress-size:82px;--cp-progress-thickness:7px}
.cp-progress-loader--compact{--cp-progress-size:42px;--cp-progress-thickness:4px}
.cp-progress-loader--compact .cp-progress-loader__value{font-size:10px}
.cp-progress-loader--button{
  --cp-progress-size:28px;
  --cp-progress-thickness:3px;
  position:absolute;
  z-index:3;
  top:50%;
  right:12px;
  transform:translateY(-50%);
  pointer-events:none;
  box-shadow:none;
}
.cp-progress-loader--button .cp-progress-loader__value{font-size:6.5px;letter-spacing:-.06em}
.cp-progress-loader--indicator{--cp-progress-size:20px;--cp-progress-thickness:2.5px;box-shadow:none}
.cp-progress-loader--indicator .cp-progress-loader__value{font-size:5px;letter-spacing:-.08em}
.cp-progress-host{position:relative}
.portal-loading{
  min-height:180px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  padding:18px;
  color:var(--muted);
  text-align:center;
}
.portal-loading .cp-progress-loader{margin:auto}
.portal-loading-copy{display:block;color:var(--muted);font:400 9px/1.5 "Tomorrow","Noto Sans Thai",Arial,sans-serif}
.action-loader-stage{width:min(330px,78vw);height:124px;display:grid;place-items:center;position:relative;overflow:visible}
.action-loader-stage .cp-progress-loader{margin:auto}
.submit-loading-progress{display:grid;place-items:center;min-height:88px}
.submit-loading-progress .cp-progress-loader{margin:auto}
button.is-loading{position:relative!important;cursor:wait!important}
button.is-loading>.cp-progress-loader--button{display:grid!important}
button:not(.is-loading)>.cp-progress-loader--button{display:none!important}
button.is-loading:disabled{opacity:1}
.registration-validation-indicator.is-checking{display:grid;place-items:center;width:20px;height:20px;right:12px;background:transparent!important;border:0!important;box-shadow:none!important;animation:none!important}
.registration-validation-indicator.is-checking>.cp-progress-loader{display:grid}
@media(max-width:600px){
  .cp-progress-loader--hero{--cp-progress-size:72px;--cp-progress-thickness:6px}
  .cp-progress-loader__value{font-size:16px}
  .cp-progress-loader--button{--cp-progress-size:26px;right:11px}
  .cp-progress-loader--button .cp-progress-loader__value{font-size:6px}
}
@media(prefers-reduced-motion:reduce){.cp-progress-loader{transition:none!important}}

.cp-quiet-control.is-loading>.cp-progress-loader--button{--cp-progress-size:22px;--cp-progress-thickness:2.5px;left:50%;right:auto;transform:translate(-50%,-50%)}
.cp-quiet-control.is-loading>.cp-progress-loader--button .cp-progress-loader__value{font-size:5px}
.cp-quiet-control.is-loading>:not(.cp-progress-loader){opacity:.18}
