/* Keep account and navigation controls in place while identity or the area loads. */
:is(
  .project-column[data-account-state="pending"],
  html[data-auth="in"]:not([data-labels-ready="1"]) .project-column,
  html[data-labels-loading="1"] .project-column,
  body:has(#ak-project-loader[data-open="1"]) .project-column
) {
  --topbar-content-visibility: hidden;
  --editor-loading-spinner: block;
  pointer-events: none;
}

#account-state-card { position: relative; }
#account-state-card[data-state="pending"] {
  height: 44px;
  min-height: 44px;
  box-sizing: border-box;
  background: var(--ak-glass-bg, #f8f8f8);
  border: 1px solid rgba(0, 0, 0, .1);
  border-radius: var(--ak-radius-panel, 16px);
  --editor-loading-spinner: block;
}
#account-state-card[data-state="pending"] > * { visibility: hidden !important; }
#account-state-card::after,
#mobile-project-btn::after {
  content: "";
  display: var(--editor-loading-spinner, none);
  position: absolute;
  width: 12px;
  height: 12px;
  top: calc(50% - 7px);
  left: calc(50% - 7px);
  border: 1.5px solid #bbb;
  border-right-color: transparent;
  border-radius: 50%;
  animation: editor-controls-loading 800ms linear infinite;
  pointer-events: none;
}
@keyframes editor-controls-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  #account-state-card::after, #mobile-project-btn::after { animation: none; }
}
@media (min-width: 821px) {
  #account-state-card > *,
  .account-actions__items .pop-container > button > *,
  .account-actions__items .pop-container > button::before,
  .account-actions__items .pop-container > button::after,
  .project-container--nav > *,
  .space-container > .floor-head {
    visibility: var(--topbar-content-visibility, visible) !important;
  }
}

/* Account-aware mobile editor header. Desktop layout stays in editor.css. */
#mobile-account-action {
  display: none;
}

@media (max-width: 820px) {
  .project-column[data-account-state] {
    --m-42: 44px;
    --topbar-arrow-size: clamp(28px, 8.72vw, 34px);
    padding-left: 12px;
    padding-right: 12px;
    letter-spacing: normal;
    grid-template-columns: var(--m-42) minmax(0, 1fr) var(--m-42);
    grid-template-rows: var(--m-42);
    column-gap: 6px;
  }

  .project-column:is([data-account-state="preview"], [data-account-state="lite"]) {
    grid-template-columns: var(--m-42) minmax(0, 1fr) clamp(84px, 27vw, 108px);
  }

  .project-column[data-account-state] #mobile-project-btn.mproj-btn {
    height: var(--m-42);
    display: grid;
    grid-template-columns: 43% minmax(0, 1fr);
    padding: 4px 5.5px !important;
    gap: 0 !important;
    border: .5px solid #aaa;
    border-radius: 11px;
    background: #eee;
    box-shadow: 0 3px 12px rgb(0 0 0 / 16%);
  }

  .project-column[data-account-state] label.account-actions__btn {
    border-radius: 11px !important;
    background: #eee !important;
    border: .5px solid #aaa !important;
    box-shadow: 0 3px 12px rgb(0 0 0 / 16%) !important;
  }

  #mobile-project-btn.mproj-btn > #mproj-left {
    display: grid;
    grid-template-rows: 10px minmax(0, 1fr);
    align-items: center;
    align-self: stretch;
    gap: 0;
    padding: 0 !important;
    overflow: hidden !important;
  }

  #mobile-project-btn.mproj-btn > #mproj-left .floor-head__floor {
    padding: 0 0 0 8px !important;
    margin: 0 !important;
    min-width: 0;
    gap: 0 !important;
  }

  #mobile-project-btn.mproj-btn #mproj-floor-name {
    font-size: clamp(12px, 3.85vw, 15px);
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.1;
    color: #606060;
    max-width: none;
  }

  .mproj-status {
    display: flex;
    align-items: center;
    gap: 2px;
    min-width: 0;
    font-size: clamp(5.5px, 1.67vw, 6.5px);
    letter-spacing: normal;
    line-height: 1.1;
    white-space: nowrap;
    color: #790600;
  }

  .mproj-status[hidden] { display: none; }

  .mproj-status__dot {
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    margin-right: 2px;
    border-radius: 50%;
    background: currentColor;
  }

  #mobile-save-status {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #mobile-plan-label { color: #777; flex-shrink: 0; }
  #mobile-project-btn[data-saved="true"] .mproj-status { color: #008330; }
  [data-account-state="lite"] #mobile-project-btn[data-saved="true"] #mobile-save-status { color: #bfbfbf; }
  [data-account-state="lite"] #mobile-plan-label { color: #6285c8; }

  #mobile-project-btn.mproj-btn > .mproj-label { display: none; }

  #mobile-project-btn.mproj-btn > .mproj-right {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) var(--topbar-arrow-size, 34px);
    grid-template-rows: 10px minmax(0, 1fr);
    align-self: stretch;
    align-items: center !important;
    gap: 0 1px !important;
    padding: 0 0 0 7px !important;
    border-left: .5px solid #aaa;
    min-width: 0 !important;
    flex: 0 0 auto;
    color: #111;
  }

  .mproj-results-label {
    grid-column: 1;
    grid-row: 1;
    font-size: clamp(5.5px, 1.67vw, 6.5px);
    letter-spacing: normal;
    line-height: 1;
    color: #777;
    white-space: nowrap;
  }

  #mobile-project-btn.mproj-btn > .mproj-right .mproj-value {
    grid-column: 1;
    grid-row: 2;
    font-size: clamp(11px, 3.59vw, 14px);
    font-weight: 400;
    letter-spacing: normal;
    text-align: left;
    white-space: nowrap;
  }

  #mobile-project-btn.mproj-btn > .mproj-right .mproj-arrow {
    grid-column: 2;
    grid-row: 1 / 3;
    width: var(--topbar-arrow-size, 34px) !important;
    height: var(--topbar-arrow-size, 34px) !important;
    min-width: var(--topbar-arrow-size, 34px) !important;
    min-height: var(--topbar-arrow-size, 34px) !important;
    margin: 0 !important;
  }

  #mobile-project-btn.mproj-btn > .mproj-right::after { display: none; }

  #mobile-account-action:not([hidden]) {
    position: relative;
    z-index: 1;
    grid-column: 3;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: var(--m-42);
    width: 100%;
    padding: 0 8px;
    border: 0;
    border-radius: 11px;
    background: #2937ff;
    color: #fff;
    font: inherit;
    font-size: clamp(12px, 3.85vw, 15px);
    font-weight: 400;
    letter-spacing: normal;
    box-shadow: 0 3px 12px rgb(0 0 0 / 16%);
    cursor: pointer;
  }

  [data-account-state="lite"] #mobile-account-action { background: #0d0d0d; }

  .mobile-account-action__star,
  .mobile-account-action__chevron { display: none; }

  [data-account-state="lite"] .mobile-account-action__star {
    display: block;
    width: 19px;
    height: 19px;
    flex-shrink: 0;
    background: currentColor;
    mask: url('/_releases/dxf-5edd929405efbdc2/icons/upgradeplus.svg') center / contain no-repeat;
    -webkit-mask: url('/_releases/dxf-5edd929405efbdc2/icons/upgradeplus.svg') center / contain no-repeat;
  }

  [data-account-state="lite"] .mobile-account-action__chevron {
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    background: currentColor;
    mask: url('/_releases/dxf-5edd929405efbdc2/icons/chevron-right.svg') center / contain no-repeat;
    -webkit-mask: url('/_releases/dxf-5edd929405efbdc2/icons/chevron-right.svg') center / contain no-repeat;
  }

  .project-column:is([data-account-state="preview"], [data-account-state="lite"], [data-account-state="pending"]) #mobile-open-projects-btn {
    display: none !important;
  }

  .project-column[data-account-state="plus"] #mobile-project-btn.mproj-btn,
  .project-column[data-account-state="plus"] label.account-actions__btn,
  .project-column[data-account-state="plus"] #mobile-open-projects-btn {
    background: #0d0d0d !important;
    color: #eee;
    border-color: #0d0d0d !important;
    border-radius: 11px !important;
    box-shadow: 0 3px 12px rgb(0 0 0 / 16%) !important;
  }

  .project-column[data-account-state="plus"] label.account-actions__btn.pill-control.pill-button.openbutton::before,
  .project-column[data-account-state="plus"] #mobile-open-projects-btn::before {
    background-color: #eee !important;
  }

  [data-account-state="plus"] #mobile-project-btn.mproj-btn #mproj-floor-name,
  [data-account-state="plus"] #mobile-project-btn.mproj-btn > .mproj-right,
  [data-account-state="plus"] .mproj-results-label { color: #eee; }

  [data-account-state="plus"] #mobile-plan-label { color: #008330; }
  [data-account-state="plus"] #mobile-save-status { display: none; }
  [data-account-state="plus"] .mproj-status__dot {
    border-radius: 0;
    mask: url('/_releases/dxf-5edd929405efbdc2/icons/upgradeplus.svg') center / contain no-repeat;
    -webkit-mask: url('/_releases/dxf-5edd929405efbdc2/icons/upgradeplus.svg') center / contain no-repeat;
  }
  [data-account-state="plus"] .mproj-arrow__icon { filter: invert(1); }

  #mobile-account-action:focus-visible,
  #mobile-project-btn:focus-visible { outline: 2px solid #6285c8; outline-offset: 3px; }

  .project-column[data-account-state] label.account-actions__btn.pill-control.pill-button.openbutton::before {
    width: 24px !important;
    height: 24px !important;
  }

  @media (max-width: 360px) {
    .project-column:is([data-account-state="preview"], [data-account-state="lite"]) {
      grid-template-columns: var(--m-42) minmax(0, 1fr) 76px;
    }
    #mobile-account-action:not([hidden]) { gap: 3px; padding: 0 6px; }
    [data-account-state="lite"] .mobile-account-action__star { width: 15px; height: 15px; }
    [data-account-state="lite"] .mobile-account-action__chevron { width: 14px; height: 14px; }
    #mobile-project-btn.mproj-btn #mproj-floor-name { font-size: 12px; }
    #mobile-project-btn.mproj-btn > .mproj-right .mproj-value { font-size: 11px; }
    .project-column[data-account-state] { --topbar-arrow-size: 24px; }
    #mobile-project-btn.mproj-btn > #mproj-left .floor-head__floor { padding-left: 6px !important; }
    #mobile-project-btn.mproj-btn > .mproj-right { padding-left: 5px !important; }
  }
  #mobile-project-btn > *,
  #mobile-account-action > *,
  .project-column label.account-actions__btn.pill-control.pill-button.openbutton::before,
  #mobile-open-projects-btn::before,
  #mobile-open-preview-mode::before {
    visibility: var(--topbar-content-visibility, visible) !important;
  }

  .project-column[data-account-state="pending"] #mobile-open-projects-btn {
    display: inline-flex !important;
    background: #eee !important;
    border: .5px solid #aaa !important;
    border-radius: 11px !important;
    box-shadow: 0 3px 12px rgb(0 0 0 / 16%) !important;
  }

  .project-column:not([data-account-state="shared"]) #mobile-open-preview-mode {
    display: none !important;
  }

}
