#control-kit-wrapper #controlKit{position:absolute;top:0;right:0;z-index:65;pointer-events:none}#control-kit-wrapper #controlKit .label{position:static;background-color:transparent}#control-kit-wrapper .button{position:static;line-height:normal;padding:initial;min-width:none;transition:none;letter-spacing:normal;cursor:auto}
.login-redirect-screen-dd56462d826449e807b2 .login-redirect-link-ece9126bfab09ec07448{font-family:Roboto,sans-serif;line-height:1.5714;font-style:normal;font-weight:400;font-size:14px;line-height:1.57;letter-spacing:.2px;color:inherit}.login-redirect-screen-dd56462d826449e807b2{font-family:Roboto,sans-serif;position:fixed;top:0;left:0;right:0;bottom:0;background:no-repeat 50%/cover;color:#f5f4f3}.login-redirect-screen-dd56462d826449e807b2 .login-redirect-cc1dcd8f8b4961aca28d{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.login-redirect-screen-dd56462d826449e807b2 .login-redirect-cc1dcd8f8b4961aca28d.skrim-b381645815c5ff3113db{background-color:rgba(0,0,0,.5)}.login-redirect-screen-dd56462d826449e807b2 .login-redirect-body-ae085b18e439ca9ce450{max-width:525px;padding:30px;background-color:transparent;color:inherit;text-align:center}.login-redirect-screen-dd56462d826449e807b2 .login-redirect-title-b63f8a761a902802651e{margin:0 0 18px;font-size:42px;font-weight:300;color:#fff;white-space:pre-line;line-height:1.3;letter-spacing:.6px}@media (max-height:487px),only screen and (max-width:487px){.login-redirect-screen-dd56462d826449e807b2 .login-redirect-title-b63f8a761a902802651e{font-size:36px;max-width:100%}}.login-redirect-screen-dd56462d826449e807b2 .login-redirect-create-b64f8f4c4069c5aa7577{display:flex;justify-content:center;margin-bottom:16px}.login-redirect-screen-dd56462d826449e807b2 .login-redirect-link-ece9126bfab09ec07448 .link-de1f6e17a274da2d6115{margin-left:.4em}
#sdk-landing-container{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#222;display:flex;justify-content:center}#sdk-landing-container>div{text-align:center;align-self:center}@media (max-height:487px),only screen and (max-width:487px){#sdk-landing-container .spinner-container{transform:scale(.7)}}#sdk-landing-container .circular-progress{width:96px;height:96px;animation:rotation 1.42857143s linear infinite}@media (max-height:487px),only screen and (max-width:487px){#sdk-landing-container .circular-progress{animation:rotation 1s linear infinite}}#sdk-landing-container .message{text-align:center}@keyframes rotation{0%{transform:rotate(-60deg)}to{transform:rotate(300deg)}}
.powered-by-c2b60133f6343c031825{display:flex;flex-flow:column nowrap;align-items:center;margin:10px 0 50px}.powered-by-label-ed3a63c08d76122d6761{font-weight:700;font-size:10px;letter-spacing:2.1px;line-height:1;text-transform:uppercase;margin:0;transform:translateX(6px)}.powered-by-logo-b8b13f7f18b02ac9f410{margin:10px;width:176px}.powered-by-link-ab246586df108ffe2fc9{font-family:Roboto,sans-serif;font-style:normal;font-weight:400;font-size:12px;line-height:1.5833;letter-spacing:.2px;line-height:1.5;color:inherit;text-decoration:underline}
.error-gui-c5f0b16c74f79289f8d4{position:fixed;top:0;left:0;width:100%;height:100%;z-index:95}
.error-cffd64ab56c5e566d681{display:flex;flex-flow:column nowrap;align-items:center;background:transparent;border:0;gap:16px;padding:24px}@media (min-width:768px){.error-cffd64ab56c5e566d681{flex-flow:row nowrap;gap:24px}}.error__content-ee53096b5ddb248c68f3{font-family:Roboto,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:1.5714;letter-spacing:.2px;display:flex;flex-direction:column;gap:16px;max-width:600px;text-align:center;align-items:center}.error__content-ee53096b5ddb248c68f3 p{color:inherit;margin:0}.error__content-ee53096b5ddb248c68f3 a{color:inherit;text-decoration:underline}@media (min-width:768px){.error__content-ee53096b5ddb248c68f3{font-family:Roboto,sans-serif;font-style:normal;font-weight:400;font-size:22px;line-height:1.54545;letter-spacing:normal;gap:24px}}.error__title-d38293f14c11891e9972{font-family:IBM Plex Sans,sans-serif;font-style:normal;font-weight:700;font-size:16px;line-height:1.375;letter-spacing:.2px;margin:0}@media (min-width:768px){.error__title-d38293f14c11891e9972{font-family:IBM Plex Sans,sans-serif;font-style:normal;font-weight:700;font-size:32px;line-height:1.3125;letter-spacing:.2px}}.error__icon-dccb7fca8dd30844e1c0{width:100px;height:100px}@media (min-width:768px){.error__icon-dccb7fca8dd30844e1c0{width:160px;height:160px}}@media (min-width:768px){.error--with-icon-bdc9af4a206f6eb22f28 .error__content-ee53096b5ddb248c68f3{text-align:left;align-items:flex-start}}
.reactivate-button-af3250fdce2bb5deb88d{padding:10px 20px;border-radius:6px;background:var(--Primary-Moonrock,#f5f4f3);border:none;cursor:pointer;color:var(--Primary-Portal,#222);text-align:center;font-feature-settings:"liga" off,"clig" off;font-family:IBM Plex Sans;font-size:14px;font-style:normal;font-weight:700;line-height:20px;letter-spacing:.3px}.reactivate-button-af3250fdce2bb5deb88d:hover{color:#ff3158}.reactivate-button-af3250fdce2bb5deb88d:focus-visible{outline:1px solid #ff3158;outline-offset:2px}
.browser-list-c03119e606ee50c9ffdf{display:flex;gap:12px;flex-flow:row wrap;list-style:none;margin:0;padding:0}@media (min-width:768px){.browser-list-c03119e606ee50c9ffdf{gap:24px}}.browser-list__icon-cded388232d11ca64aab{width:35px;height:35px}@media (min-width:768px){.browser-list__icon-cded388232d11ca64aab{width:50px;height:50px}}
/**
 * gridstack SASS styles 14.0.0
 * Copyright (c) 2021-2025 Alain Dumesny - see GridStack root license
 */
.grid-stack {
  position: relative;
}

.grid-stack-placeholder > .placeholder-content {
  background-color: rgba(0, 0, 0, 0.1);
  margin: 0;
  position: absolute;
  width: auto;
  z-index: 0 !important;
}

.grid-stack > .grid-stack-item {
  position: absolute;
  padding: 0;
  top: 0;
  width: var(--gs-column-width);
  height: var(--gs-cell-height);
}
.grid-stack > .grid-stack-item > .grid-stack-item-content {
  margin: 0;
  position: absolute;
  width: auto;
  overflow-x: hidden;
  overflow-y: auto;
}
.grid-stack > .grid-stack-item.size-to-content:not(.size-to-content-max) > .grid-stack-item-content {
  overflow-y: hidden;
}

.grid-stack:not(.grid-stack-rtl) > .grid-stack-item {
  left: 0;
}

.grid-stack.grid-stack-rtl > .grid-stack-item {
  right: 0;
}

.grid-stack > .grid-stack-item > .grid-stack-item-content,
.grid-stack > .grid-stack-placeholder > .placeholder-content {
  top: var(--gs-item-margin-top);
  right: var(--gs-item-margin-right);
  bottom: var(--gs-item-margin-bottom);
  left: var(--gs-item-margin-left);
}

.grid-stack-item > .ui-resizable-handle {
  position: absolute;
  font-size: 0.1px;
  display: block;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  user-select: none;
  z-index: 100;
}
.grid-stack-item.ui-resizable-disabled > .ui-resizable-handle, .grid-stack-item.ui-resizable-autohide > .ui-resizable-handle {
  display: none;
}
.grid-stack-item > .ui-resizable-ne,
.grid-stack-item > .ui-resizable-nw,
.grid-stack-item > .ui-resizable-se,
.grid-stack-item > .ui-resizable-sw {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" stroke=\"%23666\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 20 20\"><path d=\"m10 3 2 2H8l2-2v14l-2-2h4l-2 2\"/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  z-index: 101;
}
.grid-stack-item > .ui-resizable-ne {
  transform: rotate(45deg);
}
.grid-stack-item > .ui-resizable-sw {
  transform: rotate(45deg);
}
.grid-stack-item > .ui-resizable-nw {
  transform: rotate(-45deg);
}
.grid-stack-item > .ui-resizable-se {
  transform: rotate(-45deg);
}
.grid-stack-item > .ui-resizable-nw {
  cursor: nw-resize;
  width: 20px;
  height: 20px;
  top: var(--gs-item-margin-top);
  left: var(--gs-item-margin-left);
}
.grid-stack-item > .ui-resizable-n {
  cursor: n-resize;
  height: 10px;
  top: var(--gs-item-margin-top);
  left: 25px;
  right: 25px;
}
.grid-stack-item > .ui-resizable-ne {
  cursor: ne-resize;
  width: 20px;
  height: 20px;
  top: var(--gs-item-margin-top);
  right: var(--gs-item-margin-right);
}
.grid-stack-item > .ui-resizable-e {
  cursor: e-resize;
  width: 10px;
  top: 15px;
  bottom: 15px;
  right: var(--gs-item-margin-right);
}
.grid-stack-item > .ui-resizable-se {
  cursor: se-resize;
  width: 20px;
  height: 20px;
  bottom: var(--gs-item-margin-bottom);
  right: var(--gs-item-margin-right);
}
.grid-stack-item > .ui-resizable-s {
  cursor: s-resize;
  height: 10px;
  left: 25px;
  bottom: var(--gs-item-margin-bottom);
  right: 25px;
}
.grid-stack-item > .ui-resizable-sw {
  cursor: sw-resize;
  width: 20px;
  height: 20px;
  bottom: var(--gs-item-margin-bottom);
  left: var(--gs-item-margin-left);
}
.grid-stack-item > .ui-resizable-w {
  cursor: w-resize;
  width: 10px;
  top: 15px;
  bottom: 15px;
  left: var(--gs-item-margin-left);
}
.grid-stack-item.ui-draggable-dragging > .ui-resizable-handle {
  display: none !important;
}
.grid-stack-item.ui-draggable-dragging {
  will-change: left, right, top;
}
.grid-stack-item.ui-resizable-resizing {
  will-change: width, height;
}
.grid-stack-item.ui-draggable-armed {
  cursor: move;
  animation: gs-armed-wiggle 0.25s ease-in-out infinite;
}
.grid-stack-item > .ui-resizable-handle.ui-resizable-armed {
  animation: gs-armed-pulse 0.5s ease-in-out infinite;
}

@keyframes gs-armed-wiggle {
  0%, 100% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-1.5deg);
  }
  75% {
    transform: rotate(1.5deg);
  }
}
@keyframes gs-armed-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.ui-draggable-dragging,
.ui-resizable-resizing {
  z-index: 10000;
}
.ui-draggable-dragging > .grid-stack-item-content,
.ui-resizable-resizing > .grid-stack-item-content {
  box-shadow: 1px 4px 6px rgba(0, 0, 0, 0.2);
  opacity: 0.8;
}

.grid-stack-animate,
.grid-stack-animate .grid-stack-item {
  transition: left 0.3s, right 0.3s, top 0.3s, height 0.3s, width 0.3s;
}

.grid-stack-animate .grid-stack-item.ui-draggable-dragging,
.grid-stack-animate .grid-stack-item.ui-resizable-resizing,
.grid-stack-animate .grid-stack-item.grid-stack-placeholder {
  transition: left 0s, right 0s, top 0s, height 0s, width 0s;
}

.grid-stack > .grid-stack-item[gs-y="0"] {
  top: 0px;
}

.grid-stack:not(.grid-stack-rtl) > .grid-stack-item[gs-x="0"] {
  left: 0%;
}

.grid-stack.grid-stack-rtl > .grid-stack-item[gs-x="0"] {
  right: 0%;
}

.gs-print-show {
  display: none;
}

@media print {
  @page gs-landscape {
    size: landscape;
  }
  @page gs-portrait {
    size: portrait;
  }
  /* ========================================================================
     PRINT LAYOUT
     GridStack normally positions items with `position: absolute`, which browsers
     can't paginate at all (it's removed from the flow). For print we switch to
     block/float flow instead: items auto-size their height to content and flow
     left to right, wrapping naturally across pages without being sliced in half.
     Trade-off: this ignores the exact on-screen Y coordinate, so if one item in
     a row is much taller than its siblings, shorter siblings in the next row
     still can't start higher than that tall item's bottom (plain CSS has no
     print-safe masonry packing) - hidden items don't cause this though, since
     a display:none item simply takes no space and following items move up.
     ======================================================================== */
  .grid-stack {
    display: block !important;
    height: auto !important;
    position: static !important;
  }
  .grid-stack > .grid-stack-item {
    display: block !important;
    float: left !important;
    position: static !important;
    height: auto !important; /* Let it grow with content */
    left: auto !important;
    top: auto !important;
    /* Proportional width based on grid columns */
    width: calc(100% * var(--gs-w) / var(--gs-columns, 12)) !important;
    /* Prevent slicing items across pages */
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .grid-stack > .grid-stack-item > .grid-stack-item-content {
    position: relative !important; /* change from absolute to relative to dictate parent height */
    height: auto !important;
    overflow: visible !important;
    white-space: normal !important;
    /* Convert absolute positioning offsets to margins to keep the gaps */
    margin-top: var(--gs-item-margin-top) !important;
    margin-right: var(--gs-item-margin-right) !important;
    margin-bottom: var(--gs-item-margin-bottom) !important;
    margin-left: var(--gs-item-margin-left) !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
  }
  /* ========================================================================
     PER-WIDGET PrintOptions
     ======================================================================== */
  .gs-print-hide {
    display: none;
  }
  .gs-print-show {
    display: block;
  }
  /* opt-in for any element (not just grid items) that must not have a page break land right after
     it - ex: a section/table header that has to stay with the content that follows. Put this on a
     plain block-level wrapper rather than directly on a `display:flex`/`grid` element: Chrome's print
     engine ignores break-after/page-break-after set on flex/grid containers themselves. */
  .gs-print-avoid-break-after {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }
  /* needs to out-specificity the base item rule above (display: block !important)
     so a hidden widget actually collapses instead of still reserving its slot */
  .grid-stack > .grid-stack-item.gs-print-hide {
    display: none !important;
  }
  /* pageBreak/orientation need the item to be a normal block box: Chrome's print
     engine ignores forced page breaks on floated elements, so pull these out of
     the float flow (their width is kept as-is - a plain block box already can't
     have a later float rise up beside it, so nothing else tucks into the row). */
  .grid-stack > .grid-stack-item[gs-page-break=true],
  .grid-stack > .grid-stack-item[gs-print-orientation] {
    float: none !important;
    clear: both !important;
  }
  .grid-stack > .grid-stack-item[gs-page-break=true] {
    page-break-before: always !important;
    break-before: page !important;
  }
  .grid-stack > .grid-stack-item[gs-print-orientation=landscape] {
    page: gs-landscape;
    /* Force item to take proper landscape width, overriding portrait-page sizing.
       vmax ensures we get the long edge of the paper regardless of default printer orientation */
    min-width: calc(100vmax * var(--gs-w) / var(--gs-columns, 12)) !important;
  }
  .grid-stack > .grid-stack-item[gs-print-orientation=portrait] {
    page: gs-portrait;
    /* vmin ensures we get the short edge of the paper */
    min-width: calc(100vmin * var(--gs-w) / var(--gs-columns, 12)) !important;
  }
  /* breakInside opts a widget (tall table/datagrid, or a section wrapping a nested sub-grid) out of
     the base rule's break-inside: avoid, so it can fragment across pages instead of being pushed
     whole to the next page whenever it doesn't fit in the space remaining on the current one - which
     otherwise leaves the current page mostly blank. Pulled out of the float flow and widened to the
     full print width, same reasoning as pageBreak/orientation above: Chrome can mis-paginate a
     floated box that's allowed to break across pages, overlapping the next floated sibling. */
  .grid-stack > .grid-stack-item[gs-break-inside=true] {
    float: none !important;
    clear: both !important;
    width: 100% !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }
  /* Hide interactive elements during print */
  .grid-stack > .grid-stack-item > .ui-resizable-handle {
    display: none !important;
  }
}

.plugin-root-element{position:absolute;inset:0;overflow:visible;pointer-events:none;width:100%!important;height:100%!important}.plugin-overlay{z-index:2}.plugin-overlay .ui-resizable-handle{pointer-events:all;z-index:1!important;opacity:0;visibility:hidden;transition:opacity calc(var(--plugin-handles-fade)*0.4) calc(var(--plugin-handles-fade)*0.6),visibility 0s var(--plugin-handles-fade)}.plugin-overlay.plugin-handles-shown>.ui-resizable-handle,.plugin-overlay.ui-resizable-resizing>.ui-resizable-handle{opacity:1;visibility:visible;transition:opacity .15s}@media (hover:none){.plugin-overlay .ui-resizable-handle{opacity:1;visibility:visible}}.plugin-overlay .ui-resizable-se,.plugin-overlay .ui-resizable-sw{filter:drop-shadow(0 0 .04rem #ffffff)}.plugin-overlay.grid-stack-item>.ui-resizable-se,.plugin-overlay.grid-stack-item>.ui-resizable-sw{background-image:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 10 10\"><path d=\"M9 1 1 9M9 4.5 4.5 9M9 8 8 9\" stroke=\"%23666\" stroke-width=\"1.2\" stroke-linecap=\"round\"/></svg>");background-size:10px;transform:none}.plugin-overlay.grid-stack-item>.ui-resizable-sw{transform:scaleX(-1)}.plugin-overlay .grid-stack-item-content{pointer-events:none;overflow-x:visible!important;overflow-y:visible!important}.left-panel .grid-stack-item{display:none}
.user-info-ad336d34e0e42bf24df6{font-family:Roboto,sans-serif;font-style:normal;font-weight:400;font-size:18px;line-height:1.5555;letter-spacing:.2px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff}
.user-pill-a15513395bce869b46a7{height:48px;flex-flow:row nowrap;gap:12px;padding:12px 24px 12px 8px;border-radius:48px;background:#f5f4f3;color:#222;border:none;outline:none}.avatar-f8b8402c9be2621228c7,.user-pill-a15513395bce869b46a7{font-family:IBM Plex Sans,sans-serif;font-style:normal;font-weight:700;font-size:13px;line-height:1.3846;letter-spacing:.3px;display:flex;align-items:center}.avatar-f8b8402c9be2621228c7{justify-content:center;width:32px;height:32px;color:#fff;background:#0090c0;border-radius:50%}
.error-page-f4c23b7d151d5477e038{display:flex;flex-direction:column;width:100%;height:100%;background:linear-gradient(112deg,rgba(34,34,34,.05),rgba(0,0,0,.05)),#222;color:#fff}.error-page__content-ea4e5636c6830fc62e5d{flex:1;display:flex;flex-direction:column;align-self:center;justify-self:center;justify-content:center}.error-page__footer-f3713a4f0c62d833ba5e{display:flex;flex-direction:column-reverse;align-items:center;gap:16px;padding:24px}@media (min-width:768px){.error-page__footer-f3713a4f0c62d833ba5e{display:grid;grid-template-columns:1fr auto 1fr;align-items:flex-end}}.error-page__logo-c349a544089477e75aee{width:auto;height:20px}@media (min-width:768px){.error-page__logo-c349a544089477e75aee{width:auto;height:30px}}
.sc-password-ui-aefb618b05cc138da042{font-family:Roboto,sans-serif;position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;flex-direction:column;background:no-repeat 50%/cover;color:#f5f4f3}.sc-password-content-bc11612a3fda99cb2ccf{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1}.sc-password-modal-b2b7e51aa6ae1bd58ec3{position:relative;display:block;width:100%;max-width:500px;padding:24px;background:transparent;color:inherit}.sc-password-modal-b2b7e51aa6ae1bd58ec3 .modal-title-f3e13fd70d60f49d9452{font-size:20px;line-height:1.3;letter-spacing:.2px;font-family:IBM Plex Sans,sans-serif;font-style:normal;font-weight:700;font-size:28px;line-height:1.285;letter-spacing:.4px;color:inherit;flex:1;margin:0;white-space:pre-line}.sc-password-modal-b2b7e51aa6ae1bd58ec3 .modal-body-e401c3b71edcb1d1fd04{font-family:Roboto,sans-serif;line-height:1.5625;font-style:normal;font-weight:400;font-size:16px;line-height:1.625;letter-spacing:.2px;color:inherit;margin:0;padding:0}.sc-password-modal-b2b7e51aa6ae1bd58ec3 .modal-header-e35d75ae8d51de8028bd{display:flex;align-items:baseline;padding-bottom:18px}.sc-password-modal-b2b7e51aa6ae1bd58ec3 .help-text-a6a8dfc5668692200f69{display:flex;flex-direction:row;align-items:center;min-height:2em}.sc-password-modal-b2b7e51aa6ae1bd58ec3 .help-text-a6a8dfc5668692200f69.error-dcb23f8259d722213054{color:#fa5300}.sc-password-modal-b2b7e51aa6ae1bd58ec3 .help-text-a6a8dfc5668692200f69.error-dcb23f8259d722213054 .icon{font-size:22px;margin-right:10px;line-height:1;color:#fa5300}.sc-password-footer-ad826404538bf055ab25,.sc-password-login-e40e39b68bc064801daf{display:block}.sc-password-form-b4243e140557379b80cb{display:flex;flex-flow:row nowrap;justify-content:stretch;height:48px}.sc-password-input-bddf0a41e619af8fb92c{font-family:Roboto,sans-serif;line-height:1.5625;font-weight:400;line-height:1.625;letter-spacing:.2px;color:inherit;flex:1;min-width:100px;padding:10px 20px;color:#444}.sc-password-input-bddf0a41e619af8fb92c,.sc-password-submit-e2cb0f0ef535d74cea8e{font-style:normal;font-size:16px;margin:0;border:none;border-radius:0;outline:none}.sc-password-submit-e2cb0f0ef535d74cea8e{font-weight:600;line-height:1.5;font-family:IBM Plex Sans,sans-serif;font-weight:700;line-height:1.37;letter-spacing:2px;text-transform:uppercase;color:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#222;padding:10px 40px;cursor:pointer}.sc-password-submit-e2cb0f0ef535d74cea8e:active,.sc-password-submit-e2cb0f0ef535d74cea8e:focus,.sc-password-submit-e2cb0f0ef535d74cea8e:hover{background:#ff3158;color:#fff}.sc-password-submit-e2cb0f0ef535d74cea8e:disabled,.sc-password-submit-e2cb0f0ef535d74cea8e[disabled]{background-color:#222;cursor:not-allowed}.sc-password-lockout-ecfd0b3de806fc50b399{background:#fff;color:#222;max-width:460px}.sc-password-lockout-ecfd0b3de806fc50b399 .modal-header-e35d75ae8d51de8028bd:after{display:block;content:"";width:18px;border-bottom:1px solid #ff3158}
