/*
 * GMC 2026 V101 DUAL LAYOUT MASTER
 * Shared rules only. Do not place desktop or mobile layout rules in this file.
 */

[hidden] {
  display: none !important;
}

/* Safe defaults for SVG elements introduced by the mobile flow.
   These dimensions remain valid even if a responsive stylesheet fails to load. */
.verify-field-icon {
  display: inline-grid;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  place-items: center;
  overflow: hidden;
  vertical-align: middle;
}

.verify-field-icon > svg {
  display: block;
  width: 18px;
  height: 18px;
  max-width: 18px;
  max-height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.email-minimal-secure > svg,
.otp-secure-icon > svg {
  display: block;
  width: 20px;
  height: 20px;
  max-width: 20px;
  max-height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

html {
  --gmc-active-layout: "desktop";
}

@media (min-width: 901px) {
  /* Mobile-only step markup stays excluded on desktop.
     Registration Now is an approved R2.7 desktop Home action and must remain visible. */
  .mobile-module-steps {
    display: none !important;
  }

  /* Desktop compatibility: mobile SVG/content upgrades must render exactly
     like the approved V101 desktop controls. */
  #screen-email .verify-field-icon {
    display: inline !important;
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
    flex: 0 1 auto;
    overflow: visible;
  }

  #screen-email .verify-field-icon > svg {
    display: none !important;
  }

  #screen-email label[for="name"] .verify-field-icon::before {
    content: "♙";
  }

  #screen-email label[for="email"] .verify-field-icon::before {
    content: "✉";
  }

  #screen-otp .otp-secure-icon > svg {
    display: none !important;
  }

  #screen-otp .otp-secure-icon::before {
    content: "♢";
  }

  #screen-otp .otp-minimal-secure strong {
    position: relative;
    color: transparent !important;
  }

  #screen-otp .otp-minimal-secure strong::after {
    content: "OTP boxes remain equal and keyboard-safe on every device.";
    position: absolute;
    inset: 0 auto auto 0;
    color: var(--navy-900);
    white-space: nowrap;
  }

}

@media (max-width: 900px) {
  html {
    --gmc-active-layout: "mobile";
  }
}

/* R2.8.19 — Qualified registry verification overlay (shared desktop/mobile). */
.qualified-verification-overlay[hidden]{display:none!important}
.qualified-verification-overlay{position:fixed;inset:0;z-index:2600;display:grid;place-items:center;padding:24px;background:rgba(5,24,55,.46);backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%)}
body.qualified-detail-open{overflow:hidden}
.qualified-verification-dialog{width:min(560px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 36px));overflow:auto;border:1px solid rgba(255,255,255,.42);border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(3,22,52,.28)}
.qualified-detail-head{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 18px;background:linear-gradient(115deg,#092b63,#071f4d);color:#fff}
.qualified-detail-head>div{display:grid;line-height:1.1}.qualified-detail-head small{font-size:9px;letter-spacing:.1em;color:#b9c9e2;font-weight:900}.qualified-detail-head strong{font-size:13px}.qualified-live-pill{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:5px 9px;border-radius:8px;background:rgba(44,198,111,.13);color:#6ae4a0;font-size:10px;font-weight:900}.qualified-live-pill i,.qualified-live-status i{width:8px;height:8px;border-radius:50%;background:#2bcf79;box-shadow:0 0 0 4px rgba(43,207,121,.12)}
.qualified-detail-close{width:36px;height:36px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer}
.qualified-detail-student{display:flex;align-items:center;gap:14px;padding:22px 20px 12px}.qualified-detail-student .qualified-avatar{width:60px;height:60px;font-size:17px}.qualified-detail-student h3{margin:0;font-size:21px;color:#0d2d65}.qualified-detail-student p{margin:4px 0 0;color:#617595;font-size:12px}
.qualified-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 20px 8px}.qualified-detail-grid div{padding:12px;border-radius:12px;background:#f5f8fd;border:1px solid #e4eaf2}.qualified-detail-grid small{display:block;font-size:9px;color:#687c98;text-transform:uppercase;font-weight:900;letter-spacing:.05em}.qualified-detail-grid strong{display:block;margin-top:4px;font-size:13px;color:#173460}.qualified-detail-status{grid-column:1/-1}
.qualified-detail-note{display:flex;align-items:center;gap:11px;margin:12px 20px 20px;padding:14px;border:1px solid #dfe8f3;border-radius:13px;background:#f7faff;color:#173460}.qualified-detail-note>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#e8f8ef;color:#14854c;font-size:19px;font-weight:900}.qualified-detail-note div{display:grid}.qualified-detail-note strong{font-size:12px}.qualified-detail-note small{font-size:10px;color:#617595;margin-top:2px}
@media (max-width:600px){.qualified-verification-overlay{padding:12px}.qualified-verification-dialog{width:100%;max-height:calc(100dvh - 24px);border-radius:18px}.qualified-detail-head{min-height:54px;padding:0 14px}.qualified-detail-student{padding:18px 15px 10px}.qualified-detail-student .qualified-avatar{width:52px;height:52px}.qualified-detail-student h3{font-size:18px}.qualified-detail-grid{grid-template-columns:1fr 1fr;padding:8px 15px}.qualified-detail-grid div{padding:10px}.qualified-detail-note{margin:10px 15px 15px}}
html[data-theme="dark"] .qualified-verification-dialog{background:#0d274b;border-color:#31577f;color:#f5f8ff}html[data-theme="dark"] .qualified-detail-student h3,html[data-theme="dark"] .qualified-detail-grid strong,html[data-theme="dark"] .qualified-detail-note strong{color:#eef5ff}html[data-theme="dark"] .qualified-detail-student p,html[data-theme="dark"] .qualified-detail-grid small,html[data-theme="dark"] .qualified-detail-note small{color:#b8c9df}html[data-theme="dark"] .qualified-detail-grid div,html[data-theme="dark"] .qualified-detail-note{background:#10294f;border-color:#365a84}


/* R3.5.118 — shared secure-device compatibility authority. */
.device-typing-check{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr);gap:10px 14px;align-items:center;margin:12px 0;padding:13px;border:1px solid #d8e5f3;border-radius:14px;background:#f7faff}
.device-typing-check label{display:grid;gap:3px;color:#0b2e61}.device-typing-check label strong{font-size:13px}.device-typing-check label small{font-size:11px;color:#667b98;line-height:1.35}
.device-typing-check input{width:100%;min-height:48px;border:1px solid #b9cbe0;border-radius:11px;padding:0 13px;background:#fff;color:#10213d;font-size:16px;outline:none;touch-action:manipulation}
.device-typing-check input:focus{border-color:#1474d4;box-shadow:0 0 0 3px rgba(20,116,212,.12)}
.device-typing-check>span{grid-column:2;font-size:11px;font-weight:800;color:#b05a00}.device-typing-check.is-ready>span{color:#13864c}
html[data-theme="dark"] .device-typing-check{background:#10294f;border-color:#31577f}html[data-theme="dark"] .device-typing-check label{color:#eef5ff}html[data-theme="dark"] .device-typing-check label small{color:#b8c9df}html[data-theme="dark"] .device-typing-check input{background:#0d274b;border-color:#45698e;color:#fff}

html.gmc-secure-compat-mode,html.gmc-secure-compat-mode body{height:100%;max-height:100%;overflow:hidden;overscroll-behavior:none}
body.gmc-secure-compat-mode.test-mode{position:fixed;inset:0;width:100%;height:var(--visible-height,100dvh);max-height:var(--visible-height,100dvh);overflow:hidden;touch-action:manipulation}
body.gmc-secure-compat-mode.test-mode .main{height:var(--visible-height,100dvh);max-height:var(--visible-height,100dvh);overflow:hidden}
body.gmc-touch-primary #screen-recall .recall-answer{min-height:48px;font-size:16px;touch-action:manipulation;-webkit-user-select:text;user-select:text}
body.gmc-touch-primary #screen-recall .recall-item .idx{min-height:48px}
@media(max-width:600px){.device-typing-check{grid-template-columns:1fr}.device-typing-check>span{grid-column:1}.device-typing-check input{min-height:50px}}

/* R3.5.157 mobile-only final Device Confirm in-flow actions. */
.device-mobile-confirm-actions{display:none;}
