/* Presentation of real local checks. States are supplied by root JS.
   li[data-state] is the live contract; span[data-state] is also supported. */
body.gis-r7 .r7-readiness { margin: 28px 0; padding: 32px; border: 1px solid #dce5f1; border-radius: 26px; color: #132844; background: #fff; box-shadow: 0 16px 48px rgba(22,53,95,.05); font: 400 16px/1.7 var(--r7-body-font, system-ui); }
body.gis-r7 .r7-readiness :where(h2,h3) { color: #132844; }
body.gis-r7 .r7-readiness > p { color: #51647c; font-size: 14px; }
body.gis-r7 .r7-test-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 0 0 24px; }
body.gis-r7 .r7-test-actions :where(button,a) { min-height: 48px; max-width: 100%; font: 600 14px/1.5 var(--r7-body-font, system-ui); cursor: pointer; overflow-wrap: anywhere; }
body.gis-r7 .r7-test-actions .gis-btn { border-radius: 14px; }
body.gis-r7 .r7-test-actions .r7-text-link { padding: 8px 2px; border: 0; border-radius: 8px; color: #2456d9; background: transparent; text-decoration: underline; text-underline-offset: .22em; }
body.gis-r7 .r7-test-actions .r7-text-link:hover { color: #163eab; }
body.gis-r7 .r7-readiness-summary { padding: 20px 22px; margin: 0 0 24px; border: 1px solid #dce5f1; border-radius: 18px; background: #f8faff; color: #51647c; font-size: 14px; line-height: 1.75; overflow-wrap: anywhere; }
body.gis-r7 .r7-readiness-summary[data-state="confirmed"] { color: #174d37; background: #e9f6ef; border-color: #9fcab3; }
body.gis-r7 .r7-readiness-summary[data-state="failed"] { color: #a32833; background: #fff0f1; border-color: #dfa6ab; }
body.gis-r7 .r7-readiness-summary[data-state="manual"] { color: #70531b; background: #fff8e9; border-color: #dfcfaa; }
body.gis-r7 .r7-check-list { margin: 0 0 24px; padding: 0; list-style: none; }
body.gis-r7 .r7-check-list > li { margin: 0; padding: 20px 0; border-bottom: 1px solid #dce5f1; }
body.gis-r7 .r7-check-list > li:first-child { border-top: 1px solid #dce5f1; }
body.gis-r7 .r7-check-list > li > div { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 10px 22px; }
body.gis-r7 .r7-check-list [data-check-title], body.gis-r7 .r7-check-name { flex: 1 1 230px; padding-top: 3px; font-size: 16px; font-weight: 650; line-height: 1.5; color: #132844; }
body.gis-r7 .r7-check-list [data-check-detail], body.gis-r7 .r7-check-detail { max-width: 950px; margin: 9px 0 0; color: #51647c; font-size: 13px; line-height: 1.75; overflow-wrap: anywhere; }
body.gis-r7 .r7-check-state { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; flex-shrink: 0; padding: 6px 11px; border: 1px solid #b9c8dd; border-radius: 999px; color: #51647c; background: #f3f6fb; font-size: 12px; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
body.gis-r7 .r7-check-state::before { content: ""; width: 6px; height: 6px; flex: 0 0 6px; border: 1px solid currentColor; border-radius: 50%; }
body.gis-r7 .r7-check-list > li[data-state="confirmed"] .r7-check-state, body.gis-r7 .r7-check-state[data-state="confirmed"] { color: #174d37; background: #e9f6ef; border-color: #9fcab3; }
body.gis-r7 .r7-check-list > li[data-state="confirmed"] .r7-check-state::before, body.gis-r7 .r7-check-state[data-state="confirmed"]::before { background: currentColor; }
body.gis-r7 .r7-check-list > li[data-state="failed"] .r7-check-state, body.gis-r7 .r7-check-state[data-state="failed"] { color: #a32833; background: #fff0f1; border-color: #dfa6ab; }
body.gis-r7 .r7-check-list > li[data-state="failed"] .r7-check-state::before, body.gis-r7 .r7-check-state[data-state="failed"]::before { background: currentColor; border-radius: 1px; }
body.gis-r7 .r7-check-list > li[data-state="manual"] .r7-check-state, body.gis-r7 .r7-check-state[data-state="manual"] { color: #70531b; background: #fff8e9; border-color: #dfcfaa; }
body.gis-r7 .r7-readiness :focus-visible { outline: 3px solid #2456d9; outline-offset: 4px; }
body.gis-r7 .r7-readiness button:disabled { opacity: .6; cursor: not-allowed; }
@media (max-width:640px) {
  body.gis-r7 .r7-readiness { padding: 24px 22px; margin-block: 24px; border-radius: 22px; }
  body.gis-r7 .r7-test-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  body.gis-r7 .r7-test-actions .gis-btn { width: 100%; }
  body.gis-r7 .r7-test-actions .r7-text-link { align-self: flex-start; min-height: 44px; }
  body.gis-r7 .r7-check-list > li > div { flex-direction: column; gap: 9px; }
  body.gis-r7 .r7-check-list [data-check-title], body.gis-r7 .r7-check-name { flex-basis: auto; padding: 0; }
  body.gis-r7 .r7-readiness-summary { padding: 18px; }
}
@media (max-width:360px) { body.gis-r7 .r7-readiness { padding-inline: 18px; } }
@media (prefers-reduced-motion:reduce) { body.gis-r7 .r7-readiness * { animation: none !important; transition: none !important; } }
@media (forced-colors:active) { body.gis-r7 .r7-check-state { border-color: CanvasText; } body.gis-r7 .r7-readiness :focus-visible { outline-color: Highlight; } }
@media print { body.gis-r7 .r7-test-actions { display:none; } body.gis-r7 .r7-readiness { box-shadow: none; background:#fff; } }
