/* Integration-only styles. The supplied PC/mobile publishing styles are copied unchanged. */
html { scroll-behavior: smooth; }
body { margin: 0; color: #131415; background: #fff; }
.pg-safe365 button { cursor: pointer; }
.pg-safe365 button:disabled { cursor: default; }
/* API actions use buttons; retain the original link typography from the publishing markup. */
.pg-safe365 button[data-myar-publishing-tag="a"] { font-family: var(--font-family-pretendard) !important; text-align: inherit; }
/* Preserve existing re-entry until the completed-button UX decision is confirmed. */
.pg-safe365 .safe365-btn--mission-done:not(:disabled):not([aria-disabled="true"]) { pointer-events: auto; cursor: pointer; }
#cfmClContents { width: 100%; }
/* PC publishing uses a 1260px container (1080px content + 90px on each side).
   Keep that layout at narrow window widths instead of shrinking cards or switching views. */
html[data-myar-device="PC"] body { min-width: 1260px; }
.myar-kt-gnb #cfmClContents { padding-top: 95px; }
.safe365-local-logout { position: absolute; top: 8px; right: 24px; z-index: 2; border: 0; background: transparent; color: #666; font-size: 12px; }
#statusMessage { position: fixed; z-index: 2100; left: 50%; bottom: 28px; transform: translateX(-50%); max-width: calc(100vw - 32px); padding: 14px 22px; border-radius: 12px; background: #222; color: #fff; box-shadow: 0 8px 24px #0002; }
.safe365-runtime-notice, [data-public-block-error] { padding: 16px 24px; color: #666; font-size: 14px; text-align: center; }
.safe365-runtime-notice .safe365-btn { margin-top: 12px; }
/* Fit the line-lookup error and retry action inside the existing hero card. */
.safe365-hero__card--line-failed { gap: 5px; }
.safe365-modal { z-index: 2000; }
.myar-security-dialog { width: min(1240px, calc(100vw - 32px)); height: 820px; }
.myar-security-dialog .safe365-modal__body { flex: 1; min-height: 0; padding: 0; }
.myar-security-frame-wrap { flex: 1; min-height: 0; overflow: auto; background: #fff; }
.myar-security-frame { display: block; width: 100%; min-width: 1200px; height: 100%; border: 0; background: #fff; }
.myar-security-dialog-guide { color: #555; font-size: 13px; }
.myar-security-dialog.is-checking .myar-security-frame { opacity: .55; pointer-events: none; }
.myar-completion-dialog .safe365-modal__foot:has([data-myar-retry-score]) { display: flex; flex-direction: column; gap: 8px; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Keep the same line box for one line; multiple lines show the committed selection on the right. */
.safe365-line-single .safe365-line-select__trigger { cursor: default; }
.safe365-line-select__option { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.safe365-line-select__check { flex: none; margin-left: auto; color: #e60023; visibility: hidden; }
.safe365-line-select__option[aria-selected="true"] .safe365-line-select__check { visibility: visible; }
/* Keyboard navigation is independent of the committed selection and its check. */
.safe365-line-select__option.is-active { outline: 2px solid currentColor; outline-offset: -2px; }

.safe365-line-select__option > span, [data-safe365-lineselect-value] { white-space: nowrap; }

/* Six or more lines scroll within five rows, including the menu padding. */
.safe365-line-select__menu.is-scrollable {
  max-height: calc(5 * (15px * 1.48 + 24px) + 16px);
  overflow-y: auto;
  overscroll-behavior-y: contain;
}

.safe365-score-card__line.safe365-line-single { position: relative; flex: none; width: 210px; }

/* Keep a displayed spam date range together at the publishing font size. */
.safe365-card__count em { white-space: nowrap; }

/* Share icons are decorative; only the text buttons perform sharing. */
.safe365-share__icon-btn[aria-hidden="true"] { cursor: default; }

/* Each checklist row is a labelled, keyboard-accessible checkbox. */
.myar-checklist-dialog .safe365-checklist__control { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 24px; cursor: pointer; }
.myar-checklist-dialog .safe365-checklist__input {
  appearance: none; -webkit-appearance: none; display: block; flex: none; width: 20px; height: 20px; margin: 0; padding: 0; border: 0; border-radius: 4px;
  background: url('../publishing/PC/images/safe365/checkbox-unchecked.svg') center / 20px 20px no-repeat; cursor: pointer;
}
.myar-checklist-dialog .safe365-checklist__input:checked { background-image: url('../publishing/PC/images/safe365/checkbox-checked.svg'); }
.myar-checklist-dialog .safe365-checklist__input:focus-visible { outline: 2px solid var(--text-primary); outline-offset: 3px; }
.myar-checklist-dialog .safe365-checklist__control:has(:disabled), .myar-checklist-dialog .safe365-checklist__input:disabled { cursor: default; }
