.qms-home-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 24px; align-items: stretch; width: 100%; margin: 0; }
.qms-home-card { --qms-control-height: 42px; display: flex; flex-direction: column; min-width: 0; }
.qms-home-card > form { display: flex; flex-direction: column; flex: 1; }
.qms-home-card .qms-home-body { flex: 1; }
.qms-home-card, .qms-home-guide-card { background: #fff; border: 1px solid var(--qms-border); border-radius: var(--qms-radius); overflow: hidden; }
.qms-home-header { display: flex; align-items: center; gap: 14px; padding: 18px 24px; border-bottom: 1px solid var(--qms-border); }
.qms-home-heading-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 11px; color: var(--qms-primary); background: var(--qms-tint); font-size: 19px; }
.qms-home-header h1 { font-size: 20px; font-weight: 500; margin: 0 0 5px; color: var(--qms-text); }
.qms-home-header p, .qms-home-guide p { color: var(--qms-muted); font-size: 13px; line-height: 1.6; margin: 0; }
.qms-home-body { padding: 20px 24px; }
.qms-home-section { border: 0; padding: 0; margin: 0; min-width: 0; }
.qms-home-section + .qms-home-section { margin-top: 20px; padding-top: 0; border-top: 0; }
.qms-home-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 20px; }
.qms-home-security { grid-column: 1 / -1; width: 100%; max-width: 420px; }
.qms-home-field { min-width: 0; }
.qms-home-field label { display: block; margin: 0 0 7px; font-size: 13px; font-weight: 400; }
.qms-home-field label span { color: #ce4359; }
.qms-home .qms-home-field .form-control-new { width: 100%; max-width: none; margin: 0; font-size: 13px; }
.qms-home-field small { display: block; font-size: 12px; color: var(--qms-muted); margin-top: 6px; line-height: 1.5; }
.qms-home-field :disabled { background: #f5f7fb; cursor: not-allowed; }
.qms-home-captcha { display: flex; align-items: center; gap: 6px; }
.qms-home-captcha canvas { width: 112px; height: 42px; flex: none; border-radius: 6px; border: 1px solid var(--qms-border); background: #f5f7fc; }
.qms-home .qms-home-captcha input { flex: 1; min-width: 0; width: 0; }
.qms-home .qms-home-refresh { display: grid; place-items: center; width: 42px; flex: 0 0 42px; padding: 0; border: 1px solid var(--qms-border); border-radius: 6px; color: var(--qms-muted); background: #fff; }
.qms-home-refresh:hover { color: var(--qms-primary); background: var(--qms-tint); }
.qms-home-footer { padding: 16px 26px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid var(--qms-border); background: #fafbfe; }
.qms-home-footer p { margin: 0; max-width: 430px; color: var(--qms-muted); font-size: 12px; line-height: 1.6; }
.qms-home-footer p i { margin-right: 4px; }
.qms-home-footer button { flex: none; }
.qms-home-guide { display: grid; grid-template-rows: auto 1fr; gap: 16px; }
.qms-home-guide-card { padding: 18px; }
.qms-home-guide h2 { font-size: 15px; font-weight: 500; margin: 0 0 14px; color: var(--qms-text); }
.qms-home-steps { padding: 0; margin: 0; list-style: none; display: grid; gap: 16px; }
.qms-home-steps li { display: flex; gap: 12px; }
.qms-home-steps li > span { display: grid; place-items: center; flex: 0 0 26px; height: 26px; background: #f0f3fa; border: 1px solid var(--qms-border); border-radius: 50%; color: #62708a; font-size: 12px; }
.qms-home-steps h3 { font-size: 13px; font-weight: 500; margin: 2px 0 5px; }
.qms-home-app { display: grid; grid-template-columns: 30px 1fr; gap: 10px; align-content: start; }
.qms-home-app-icon { color: var(--qms-primary); font-size: 26px; }
.qms-home-app h2 { margin-bottom: 4px; }
.qms-home-app img { grid-column: 1 / -1; justify-self: center; width: 112px; height: 112px; border: 1px solid var(--qms-border); border-radius: 8px; padding: 6px; margin: 2px 0; background: #fff; }
.qms-home-app .qms-home-app-note { grid-column: 1 / -1; font-size: 12px; text-align: center; }
.qms-ui.qms-home .qms-content .qms-home-app button.qms-home-qr-open { grid-column: 1 / -1; justify-self: center; width: 112px; padding: 0 !important; margin: 2px 0; height: auto !important; min-height: 0 !important; max-height: none !important; line-height: normal !important; border: 0; border-radius: 8px; background: #fff; cursor: zoom-in; }
.qms-home .qms-home-qr-open img { display: block; margin: 0; }
.qms-home-qr-open:focus-visible { outline: 2px solid var(--qms-primary); outline-offset: 3px; }
.qms-home-qr-dialog { width: min(480px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 1px solid var(--qms-border); border-radius: 12px; background: #fff; color: var(--qms-text); box-shadow: 0 20px 70px #17244040; }
.qms-home-qr-dialog::backdrop { background: #17244066; }
.qms-home-qr-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--qms-border); }
.qms-home-qr-header h2 { margin: 0; font-size: 16px; font-weight: 500; }
.qms-home-qr-header button { --qms-control-height: 42px; display: grid; place-items: center; width: 42px; height: 42px; flex: none; padding: 0; border: 0; border-radius: 6px; background: #f4f6fa; color: var(--qms-muted); cursor: pointer; }
.qms-home-qr-content { padding: 20px; text-align: center; }
.qms-home-qr-content img { display: block; width: min(100%, 380px); max-height: calc(100dvh - 200px); object-fit: contain; aspect-ratio: 1; margin: 0 auto; image-rendering: pixelated; }
.qms-home-qr-content p { margin: 16px 0 0; font-size: 13px; line-height: 1.6; color: var(--qms-muted); }
.qms-home-error { padding: 10px 12px; color: #a93244; background: #fff5f6; border: 1px solid #f0d9dd; border-radius: 6px; margin: 18px 0 0; font-size: 13px; }
.qms-home-empty { text-align: center; padding: 64px 28px; }
.qms-home-empty > i { color: #96a5bf; font-size: 36px; margin-bottom: 20px; }
.qms-home-empty h2 { font-size: 17px; font-weight: 500; margin: 0 0 10px; }
.qms-home-empty p { color: var(--qms-muted); font-size: 13px; }
@media (max-width: 1100px) {
  .qms-home-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 18px; }
  .qms-home-header, .qms-home-body, .qms-home-footer { padding-left: 20px; padding-right: 20px; }
  .qms-home-captcha { flex-wrap: wrap; }
  .qms-home .qms-home-captcha input { flex-basis: 100%; }
  .qms-home-footer { align-items: flex-start; }
}
@media (max-width: 850px) {
  .qms-home-layout { grid-template-columns: 1fr; }
  .qms-home-guide { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .qms-home-captcha { flex-wrap: nowrap; }
  .qms-home .qms-home-captcha input { flex-basis: auto; }
}
@media (max-width: 580px) {
  .qms-home-header { padding: 18px 16px; align-items: flex-start; }
  .qms-home-header h1 { font-size: 18px; }
  .qms-home-body { padding: 20px 16px; }
  .qms-home-grid, .qms-home-guide { grid-template-columns: 1fr; }
  .qms-home-grid { gap: 16px; }
  .qms-home-footer { padding: 16px; flex-direction: column; align-items: stretch; }
  .qms-home-footer button { align-self: flex-end; }
}
