body.ui-page--installer{
  min-height:100vh;
}

body.ui-page--installer .ui-btn{
  min-height:46px;
  height:auto;
  padding:11px 16px;
}

.installer-shell{
  padding-top:32px;
}

.installer-shell--auth{
  min-height:100vh;
  display:grid;
  place-items:center;
  max-width:1120px;
}

.installer-auth-card{
  width:min(100%, 460px);
}

.installer-status-card{
  width:min(100%, 520px);
}

.installer-auth-card__body{
  padding:28px;
}

.installer-status-card__body{
  padding:32px 28px;
  text-align:center;
}

.installer-auth-title{
  font-size:34px;
  margin-bottom:0;
}

.installer-status-title{
  font-size:30px;
  margin-bottom:0;
}

.installer-auth-subtitle{
  margin-bottom:22px;
}

.installer-status-subtitle{
  margin:12px 0 0;
}

.installer-status-note{
  margin:12px 0 0;
  font-size:12px;
  color:var(--ui-sub);
}

.installer-status-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  margin:0 auto 16px;
  border-radius:50%;
  background:var(--ui-surface-strong);
  border:1px solid var(--ui-border);
  font-size:34px;
  color:var(--ui-primary);
}

.installer-eyebrow,
.installer-card-kicker{
  margin:0 0 8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ui-sub);
}

.installer-alert{
  margin-bottom:16px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--ui-border);
  background:var(--ui-surface-strong);
  font-size:13px;
  font-weight:700;
}

.installer-alert--error{
  border-color:rgba(255,99,99,.35);
  color:#ffd8d8;
}

.installer-alert--notice{
  border-color:rgba(126,211,166,.35);
  color:#d9ffe9;
}

.ui-skin-normal .installer-alert--error{
  color:#9d2f2f;
}

.ui-skin-normal .installer-alert--notice{
  color:#1d6b44;
}

.installer-auth-actions,
.installer-card-actions{
  display:flex;
  gap:12px;
  margin-top:8px;
}

.installer-entity-card .installer-card-actions{
  justify-content:center;
  margin-top:24px;
}

.installer-form-card .installer-card-actions,
.installer-panel .installer-card-actions,
.installer-hub-card .installer-card-actions{
  justify-content:center;
  margin-top:24px;
}

.installer-btn-wide{
  width:100%;
}

.installer-note{
  margin-top:16px;
  font-size:12px;
  color:var(--ui-sub);
}

.installer-note code{
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
}

.installer-topbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.installer-dashboard-grid,
.installer-hub-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.installer-hub-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  margin-top:16px;
}

.installer-hub-card{
  min-height:100%;
}

.installer-panel__header,
.installer-entity-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.installer-list-item{
  grid-template-columns:1fr auto;
}

.installer-inline-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.installer-hub-memo-link{
  grid-template-columns:minmax(140px, 220px) minmax(0, 1fr) auto;
  align-items:center;
  text-decoration:none;
  padding:14px 18px;
}

.installer-hub-memo-link:hover{
  background:var(--ui-surface);
}

.installer-hub-memo-link__title{
  font-size:16px;
  font-weight:900;
  line-height:1.35;
  padding-right:14px;
}

.installer-hub-memo-link__summary{
  display:grid;
  gap:4px;
  min-width:0;
}

.installer-hub-memo-link__summary-line{
  min-width:0;
  font-size:12px;
  line-height:1.35;
  color:var(--ui-text);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.installer-hub-memo-link__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  font-size:18px;
  color:var(--ui-sub);
}

.installer-entity-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}

.installer-entity-card,
.installer-form-card,
.installer-panel{
  min-height:100%;
}

.installer-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:88px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--ui-border);
  background:var(--ui-surface-strong);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.installer-meta-list{
  display:grid;
  gap:10px;
  margin:14px 0 0;
}

.installer-meta-list > div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:10px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--ui-border);
  background:var(--ui-surface-strong);
}

.installer-meta-list strong{
  font-size:12px;
  color:var(--ui-sub);
}

.installer-meta-list span{
  word-break:break-word;
  font-size:13px;
}

.installer-card-text{
  margin:14px 0 0;
  font-size:13px;
  line-height:1.8;
  color:var(--ui-text);
}

.installer-project-memos{
  margin-top:16px;
}

.installer-project-memos--boxed{
  padding:14px;
  border-radius:14px;
  border:1px dashed var(--ui-border);
  background:rgba(255,255,255,.05);
}

.ui-skin-normal .installer-project-memos--boxed{
  background:rgba(21,32,55,.03);
}

.installer-project-memos__head{
  margin-bottom:10px;
}

.installer-project-memos__eyebrow{
  margin:0 0 6px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ui-sub);
}

.installer-project-memos__title{
  margin:0 0 10px;
  font-size:13px;
  font-weight:800;
}

.installer-project-memo-item{
  grid-template-columns:1fr auto;
}

.installer-project-memo-item .ui-btn{
  justify-self:center;
}

.installer-file-link{
  text-decoration:none;
}

.installer-prompt-box{
  min-height:220px;
  font-size:12px;
  line-height:1.65;
  white-space:pre-wrap;
}

.installer-rule-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.installer-rule-card{
  padding:14px;
  border-radius:14px;
  border:1px solid var(--ui-border);
  background:var(--ui-surface-strong);
}

.installer-rule-card__title{
  margin:0 0 10px;
  font-size:13px;
  font-weight:800;
}

.installer-rule-card__body{
  font-size:13px;
  line-height:1.7;
  color:var(--ui-text);
  white-space:pre-wrap;
}

.installer-rules-section{
  margin-top:10px;
}

.installer-field-error{
  font-size:12px;
  color:#ffd8d8;
  font-weight:700;
}

.installer-field-hint{
  font-size:10px;
  line-height:1.5;
  color:var(--ui-sub);
}

.installer-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.installer-label-row .ui-label{
  margin:0;
}

.installer-label-row .installer-field-hint{
  text-align:right;
}

.ui-skin-normal .installer-field-error{
  color:#9d2f2f;
}

.installer-form-card .ui-card__body,
.installer-panel .ui-card__body,
.installer-entity-card .ui-card__body{
  padding:22px;
}

.installer-shortcuts-panel{
  margin-top:16px;
}

.installer-footer-links{
  margin-top:18px;
  text-align:center;
  font-size:12px;
}

.installer-footer-links__sep{
  display:inline-block;
  margin:0 8px;
  color:var(--ui-sub);
}

.installer-footer-links a{
  color:var(--ui-sub);
  text-decoration:none;
}

.installer-footer-links a:hover{
  color:var(--ui-text);
  text-decoration:underline;
}

.installer-shortcuts-group + .installer-shortcuts-group{
  margin-top:18px;
}

.installer-shortcuts-title{
  margin:0 0 10px;
  font-size:13px;
  font-weight:800;
}

.installer-shortcuts{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.installer-shortcut-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  font-size:11px;
  line-height:1;
  vertical-align:middle;
}

@media (max-width: 860px){
  .installer-dashboard-grid,
  .installer-hub-grid{
    grid-template-columns:1fr;
  }

  .installer-entity-grid{
    grid-template-columns:1fr;
  }

  .installer-rule-grid{
    grid-template-columns:1fr;
  }

  .installer-shell{
    padding-top:20px;
  }

  .installer-auth-card__body{
    padding:22px;
  }

  .installer-auth-title{
    font-size:28px;
  }

  .installer-meta-list > div{
    grid-template-columns:1fr;
  }

  .installer-panel__header,
  .installer-entity-head{
    flex-direction:column;
    align-items:flex-start;
  }

  .installer-list-item{
    grid-template-columns:1fr;
  }

  .installer-hub-memo-link{
    grid-template-columns:1fr;
  }

  .installer-hub-memo-link__title{
    padding-right:0;
  }

  .installer-hub-memo-link__icon{
    justify-content:flex-start;
  }

  .installer-project-memo-item{
    grid-template-columns:1fr;
  }
}
