:root {
  --up-blue: #0033a0;
  --up-ink: #18202f;
  --up-muted: #626b79;
  --up-border: #dce1e8;
  --up-paper: #fff;
  --up-bg: #f6f7f9;
}
html { background: var(--up-bg); }
body.up-install {
  --wp-admin-theme-color: var(--up-blue);
  --wp-admin-theme-color-darker-10: #002d8c;
  --wp-admin-theme-color-darker-20: #002778;
  margin: 0; padding: 0; max-width: none; min-width: 0;
  background: var(--up-bg); color: var(--up-ink);
  font: 15px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  border: 0; box-shadow: none;
}
.up-install * { box-sizing: border-box; }
.up-shell { max-width: 760px; padding: 28px 20px; margin: auto; }
.up-header { display: flex; align-items: center; padding: 8px 0 26px; }
.up-wordmark { color: var(--up-blue); font-size: 21px; font-weight: 750; letter-spacing: .09em; }
.up-stepper { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; padding: 0; margin: 0 0 24px; }
.up-stepper li { display: flex; gap: 8px; align-items: center; padding: 10px 0; border-bottom: 2px solid var(--up-border); color: var(--up-muted); font-size: 12px; }
.up-stepper [data-status=current] { color: var(--up-blue); border-color: var(--up-blue); font-weight: 600; }
.up-stepper [data-status=complete] { color: var(--up-ink); }
.up-step-number { display: grid; place-items: center; width: 22px; height: 22px; flex: none; border: 1px solid var(--up-border); border-radius: 50%; font-size: 11px; }
.up-stepper [data-status=current] .up-step-number { color: #fff; background: var(--up-blue); border-color: var(--up-blue); }
.up-stepper [data-status=complete] .up-step-number { border-color: var(--up-blue); color: var(--up-blue); }
.up-card { background: var(--up-paper); border: 1px solid var(--up-border); border-radius: 6px; padding: 32px; min-width: 0; }
.up-title { margin-bottom: 26px; }
.up-eyebrow { font-size: 10px !important; letter-spacing: .08em; font-weight: 600; color: var(--up-muted); margin: 0 0 8px !important; }
.up-title h1 { margin: 0 0 10px; padding: 0; color: var(--up-ink); font-size: 26px; line-height: 1.25; letter-spacing: -.02em; font-weight: 650; }
.up-title > p:last-child { margin: 0; color: var(--up-muted); font-size: 14px; }
.up-install p, .up-install li { font-size: 14px; }
.up-install a { color: var(--up-blue); }
.up-install .button, .up-install input[type=submit] {
  display: inline-flex; justify-content: center; align-items: center; min-height: 44px;
  padding: 10px 18px; border: 1px solid var(--up-blue); border-radius: 4px;
  background: #fff; color: var(--up-blue); box-shadow: none;
  font-family: inherit; font-size: 14px; font-weight: 600; line-height: 1.4;
  text-decoration: none; white-space: normal; cursor: pointer;
}
.up-install .button-primary, .up-install input[type=submit], .up-install button[type=submit] { color: #fff; background: var(--up-blue); }
.up-install .button:hover { background: #f1f4fa; }
.up-install .button-primary:hover, .up-install input[type=submit]:hover, .up-install button[type=submit]:hover { background: #002778; color: #fff; }
.up-install .button:disabled { opacity: .6; cursor: wait; }
.up-install :focus-visible { outline: 2px solid var(--up-blue); outline-offset: 3px; }
.up-install .form-table { width: 100%; margin: 0; }
.up-install .form-table tr { display: block; margin: 0 0 22px; }
.up-install .form-table th, .up-install .form-table td { display: block; width: auto; padding: 0; }
.up-install .form-table th, .up-install label[for=language] { display: block; padding: 0 0 8px; font-size: 14px; font-weight: 600; }
.up-install input[type=text], .up-install input[type=password], .up-install input[type=email], .up-install select {
  width: 100%; max-width: none; min-height: 44px; padding: 9px 12px;
  border: 1px solid #aeb8c5; border-radius: 4px; box-shadow: none;
  background: #fff; color: var(--up-ink); font-family: inherit; font-size: 16px; line-height: 1.4;
}
.up-install input:focus, .up-install select:focus { border-color: var(--up-blue); }
.up-install select { appearance: auto; -webkit-appearance: auto; background-image: none; padding-right: 12px; cursor: pointer; height: auto; }
.up-install select option { color: var(--up-ink); background: #fff; }
.up-install select:disabled { cursor: default; color: var(--up-muted); }
/* Keep real native controls. Do not layer Core's custom white SVG over them. */
.up-install input[type=checkbox], .up-install input[type=radio] {
  appearance: auto; -webkit-appearance: auto; accent-color: var(--up-blue);
  width: 18px; height: 18px; min-width: 18px; margin: 0 8px 0 0;
  vertical-align: middle; cursor: pointer; box-shadow: none; transition: none;
}
.up-install input[type=checkbox]::before, .up-install input[type=radio]::before { content: none; display: none; }
.up-install .form-table td p { margin: 7px 0 0; color: var(--up-muted); font-size: 12px; }
.up-install .form-table .regular-text { width: 100%; }
.up-install .wp-pwd { position: relative; }
.up-install .wp-pwd input { padding-right: 90px; }
.up-install .wp-pwd .button { position: absolute; top: 3px; right: 3px; min-height: 38px; padding: 5px 9px; border: 0; }
.up-install .pw-weak { margin: 10px 0; font-size: 13px; }
.up-install .description { color: var(--up-muted); }
.up-install #pass-strength-result { max-width: 100%; margin-top: 6px; font-size: 12px; }
.up-checks { list-style: none; margin: 12px 0 !important; padding: 0 !important; }
.up-checks li { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--up-border); font-size: 13px; }
.up-checks strong { font-size: 12px; font-weight: 600; color: var(--up-blue); }
.up-checks [data-result=fail] strong { color: #8f3423; }
.up-small, .up-next p { color: var(--up-muted); font-size: 12px !important; }
.up-next { margin-top: 24px; }
.up-status { border-top: 1px solid var(--up-border); padding-top: 16px; margin-top: 24px; color: var(--up-muted); font-size: 12px; }
.up-error { margin: 20px 0; padding: 18px; border: 1px solid #d9bfb7; border-left: 3px solid #8f3423; border-radius: 4px; background: #fffaf8; }
.up-error h2 { color: var(--up-ink); font-size: 18px; margin: 0 0 10px; }
.up-error p { font-size: 14px; }
.up-error details { margin-top: 18px; padding-top: 12px; border-top: 1px solid #eadbd3; font-size: 12px; }
.up-error summary { cursor: pointer; font-weight: 600; }
.up-error dl { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 7px; margin: 14px 0 0; }
.up-error dt, .up-error dd { margin: 0; overflow-wrap: anywhere; }
.up-error code { background: transparent; padding: 0; font-size: 11px; }
.up-timeline { padding-left: 20px; color: var(--up-muted); font-size: 13px; }
.up-progress { border-top: 1px solid var(--up-border); padding-top: 18px; margin-top: 24px; }
.up-progress progress { width: 100%; height: 6px; accent-color: var(--up-blue); margin-bottom: 10px; }
.up-progress p { color: var(--up-muted); font-size: 12px; }
.up-skip { position: absolute; left: 12px; top: -100px; }
.up-skip:focus { top: 12px; background: #fff; padding: 12px; z-index: 10; }
.up-install [hidden] { display: none !important; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
@media (max-width: 600px) {
  .up-shell { padding: 20px 16px; }
  .up-header { padding-bottom: 20px; }
  .up-card { padding: 24px; }
  .up-title h1 { font-size: 24px; }
}
@media (max-width: 400px) {
  .up-shell { padding: 16px 12px; }
  .up-wordmark { font-size: 18px; }
  .up-card { padding: 22px 18px; }
  .up-stepper li { gap: 5px; font-size: 11px; }
  .up-step-number { width: 20px; height: 20px; }
  .up-error dl { grid-template-columns: 1fr; gap: 3px; }
  .up-error dd { margin-bottom: 8px; }
}
