.faa-admin-console{
  --font:'Montserrat',sans-serif;
  --fs:clamp(0.95rem,1.8vw,1.025rem);
  --r:.9rem;
  --py:.55rem; --px:1rem;
  --gray1:#666; --gray2:#1c1c1c;
  --blue1:#30D7FF; --blue2:#3CA9C4;
  --red1:#8b0000; --red2:#400000;
  --red1h:#ff4d4d; --red2h:#cc0000;
  --focus:#bcd2ff;
}
.faa-admin-console .button,
.faa-admin-console a.button,
.faa-admin-console button,
.faa-admin-console input[type=button],
.faa-admin-console input[type=submit]{
  font-family:var(--font);
  font-size:var(--fs);
  font-weight:600;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:var(--py) var(--px) !important;
  border-radius:var(--r);
  width:auto; min-width:8rem;
  background:linear-gradient(180deg,var(--gray1),var(--gray2));
  border:1px solid rgba(0,0,0,.25);
  color:#fff !important;
  text-decoration:none !important;
  box-shadow:0 0 2px rgba(0,0,0,.25), inset 0 0 3px rgba(0,0,0,.25);
  transition:transform .06s ease, filter .12s ease, background .12s ease, box-shadow .12s ease;
  cursor:pointer; white-space:nowrap;
}
.faa-admin-console .button:hover,
.faa-admin-console a.button:hover,
.faa-admin-console button:hover,
.faa-admin-console input[type=button]:hover,
.faa-admin-console input[type=submit]:hover{
  transform:translateY(-1px);
  filter:brightness(1.05);
}
.faa-admin-console .button:active,
.faa-admin-console a.button:active,
.faa-admin-console button:active,
.faa-admin-console input[type=button]:active,
.faa-admin-console input[type=submit]:active{
  transform:translateY(0);
  filter:brightness(.95);
}
.faa-admin-console .button:focus,
.faa-admin-console a.button:focus,
.faa-admin-console button:focus,
.faa-admin-console input[type=button]:focus,
.faa-admin-console input[type=submit]:focus{
  outline:none;
  box-shadow:0 0 0 3px var(--focus);
}
.faa-admin-console .button[disabled],
.faa-admin-console .button:disabled{
  opacity:.65;
  cursor:not-allowed;
}
.faa-admin-console .button-primary,
.faa-admin-console form button[type=submit],
.faa-admin-console #faa-toggle-missing{
  background:linear-gradient(180deg,var(--blue1),var(--blue2)) !important;
  border-color:rgba(48,215,255,.35) !important;
}
.faa-admin-console .button-primary:hover,
.faa-admin-console form button[type=submit]:hover,
.faa-admin-console #faa-toggle-missing:hover{
  background:linear-gradient(180deg,var(--gray1),var(--gray2)) !important;
}
.faa-admin-console #faa-reset-progress,
.faa-admin-console #faa-reset-study,
.faa-admin-console .faa-btn-reset-attempts,
.faa-admin-console .faa-reset-progress{
  background:linear-gradient(180deg,var(--red1),var(--red2)) !important;
  border:1px solid rgba(139,0,0,.5) !important;
  color:#fff !important;
  box-shadow:0 0 2px rgba(0,0,0,.25), inset 0 0 3px rgba(0,0,0,.25) !important;
}
.faa-admin-console #faa-reset-progress:hover,
.faa-admin-console #faa-reset-study:hover,
.faa-admin-console .faa-btn-reset-attempts:hover,
.faa-admin-console .faa-reset-progress:hover{
  background:linear-gradient(180deg,var(--red1h),var(--red2h)) !important;
}
.faa-admin-console .faa-section-head a.button,
.faa-admin-console .faa-matches a.button{
  min-width:7rem;
  padding:.45rem .75rem !important;
}
@media (max-width:480px){
  .faa-admin-console .button,
  .faa-admin-console a.button,
  .faa-admin-console button,
  .faa-admin-console input[type=button],
  .faa-admin-console input[type=submit]{ width:100%; }
}
/*=========Study Checklist===========*/

.faa-study-admin{width:100%;border-collapse:collapse}
.faa-study-admin th,.faa-study-admin td{border:1px solid #ddd;padding:.5rem;text-align:left}
.faa-study-admin th{background:#f7f7f7}
.faa-study-admin .col-center{text-align:center}

/* Chapter title row */
.faa-study-admin tbody tr.chapter-head>td{
  background:#000 !important;
  color: #fff;
  font-weight:700;
}

/* Chapter summary row (darker) */
.faa-study-admin tbody tr.chapter-summary>td{
  background:#EDFAFF !important;
  font-weight:700;
}

/* Completed chapter summary (green) */
.faa-study-admin .chapter-summary.is-complete td{
  background:#e6f4ea !important;
}

/* Keep quiz text color normal when complete */
.faa-study-admin .chapter-summary.is-complete .col-quiz{color:inherit !important}

/* Chips */
:root{
  --faa-chip-yes-bg:#e6f4ea;--faa-chip-yes-fg:#1f6b3a;
  --faa-chip-no-bg:#fde8e8; --faa-chip-no-fg:#b42318;
  --faa-chip-na-bg:#f3f4f6; --faa-chip-na-fg:#374151;
}
.faa-chip{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;height:1.6em;padding:0 .4em;border-radius:999px;font-size:.9rem;font-weight:700;line-height:1;user-select:none}
.faa-chip.is-yes{background:var(--faa-chip-yes-bg);color:var(--faa-chip-yes-fg)}
.faa-chip.is-no{ background:var(--faa-chip-no-bg); color:var(--faa-chip-no-fg)}
.faa-chip.is-na{ background:var(--faa-chip-na-bg); color:var(--faa-chip-na-fg)}

/* Quiz pills */
.faa-study-admin .quiz-pill{display:inline-block;padding:.1rem .4rem;border-radius:.35rem;font-weight:600;font-size:.9em;line-height:1.1;color:#000;background:transparent}
.faa-study-admin .quiz-pill.is-pass{color:#1f6b3a;background:#e6f4ea}
.faa-study-admin .quiz-pill.is-fail{color:#b42318;background:#fde8e8}

.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}

/*==========Test Prep Admin console==========================*/
      .faa-prep-summary .tiles {
        display:grid;
        grid-template-columns: repeat(auto-fill, minmax(120px,1fr));
        gap:.6rem;
        margin:.5rem 0 .25rem;
      }
      .faa-prep-summary .tile {
        border:1px solid #e5e7eb;
        border-radius:.5rem;
        padding:.6rem .7rem;
        background:#fff;
        display:flex; flex-direction:column; gap:.15rem;
      }
      .faa-prep-summary .tile .k { font-weight:600; font-size:.95rem; color:#444; }
      .faa-prep-summary .tile .v { font-size:1.25rem; font-weight:700; line-height:1.2; }
      .faa-prep-summary .tile .s { font-size:.78rem; color:#666; }
      .faa-prep-summary .tile.pass { border-color:#cce8d8; background:#f2fbf6; }
      .faa-prep-summary .tile.pass .v { color:#247a3a; }
      .faa-prep-summary .tile.fail { border-color:#f2c6c6; background:#fff5f5; }
      .faa-prep-summary .tile.fail .v { color:#b42318; }
      .faa-prep-summary .tile.empty { background:#fafafa; }
      .faa-prep-summary .summary-foot { color:#444; margin:.25rem 0 0; }
 

/*===========Student Console==============*/

/* Toggle */
#studentConsoleToggle{
  position: fixed;
  left: 16px;
  top: 9.6rem !important; /* desktop header clearance */
  z-index: 100000;
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(.95rem,1.8vw,1.025rem);
  font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
  padding: .6rem 1rem; border-radius: .9rem; border: 1px solid rgba(0,0,0,.15);
  background: linear-gradient(180deg,#30D7FF,#3CA9C4);
  color: #081016; box-shadow: 0 4px 18px rgba(0,0,0,.25);
  cursor: pointer; transition: transform .08s ease, filter .12s ease;
}
#studentConsoleToggle:hover{ transform: translateY(-1px); filter: brightness(1.03); }

/* Panel */
#studentConsolePanel{
  position: fixed !important;
  right: 0 !important;
  top: 9.6rem !important;   /* same clearance as toggle */
  bottom: 0 !important;     /* fill to bottom; avoids iOS vh weirdness */
  width: min(960px, 92vw); max-width: 100%;
  background: #fff; z-index: 99999;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  border-left: 1px solid #e6e6e6;
  display: flex; flex-direction: column; overflow: auto;
  transform: translateX(100%); transition: transform .22s ease;
}
#studentConsolePanel.is-open{ transform: translateX(0) !important; }
#studentConsolePanel.is-full{ inset: 0 !important; width: 100vw !important; height: 100vh !important; border-left: none !important; border-radius: 0 !important; }
#studentConsolePanel.boot-open{ transition: none; }

/* Fixed-top breakpoints (no math) */
@media (max-width:1919.98px){ #studentConsoleToggle{ top: 8.7rem !important; } #studentConsolePanel{ top: 8.7rem !important; } }
@media (max-width:1280px){      #studentConsoleToggle{ top: 7.4rem !important; } #studentConsolePanel{ top: 7.4rem !important; } }
@media (max-width:1024px){      #studentConsoleToggle{ top: 6.8rem !important; } #studentConsolePanel{ top: 6.8rem !important; } }
@media (max-width:728px){       #studentConsoleToggle{ top: 5rem !important; }   #studentConsolePanel{ top: 5rem !important; } }
@media (max-width:480px){       #studentConsoleToggle{ top: 5.6rem !important; } #studentConsolePanel{ top: 5.6rem !important; } }

/* Student Console header: title + select on left; buttons on right */
#studentConsolePanel .student-console-head{
  position: sticky; top: 0; z-index: 1;
  display: flex !important; align-items: center; flex-wrap: nowrap;
  justify-content: flex-start;           /* left pack */
  gap: .65rem;                           /* small gap between left items if actions fall next to them */
  padding: .6rem .9rem; border-bottom: 1px solid #eee; background:#F8FBFF;
  font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.05rem;
}
#studentConsolePanel .sc-left{
  display: inline-flex; align-items: center; flex-direction: row !important; gap: .65rem;
  
}

#studentConsolePanel .student-console-title{
  flex: 0 0 auto;                        /* keep on one line next to the select */
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* selected text color in the cert selector */
.student-console-cert[data-cert="spl"] .cert-select { color:#4EBD44; font-weight:600;} /* green */
.student-console-cert[data-cert="rpl"] .cert-select { color:#AD49FF; font-weight:600;} /* purple */
.student-console-cert[data-cert="ppl"] .cert-select { color:#398FF3; font-weight:600;} /* blue */
.student-console-cert[data-cert="cpl"] .cert-select { color:#FFB013; font-weight:600;} /* orange */

#studentConsolePanel .student-console-cert{
  display: inline-flex; 
	align-items: center; 
	gap: .35rem;
  flex: 0 0 auto;                       
}

#studentConsolePanel .cert-select{
  width: auto; min-width: 5.5rem; max-width: 7rem;  
}


#studentConsolePanel .student-console-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;            
  height: 36px;
  padding: 0;
  line-height: 1;        
  box-sizing: border-box;
  border-radius: 999px;
	box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
  font-size: 18px;        
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial,
               "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-weight: 600;
}

#studentConsolePanel .student-console-btn:hover{ transform: translateY(-1px); filter: brightness(1.03); }
#studentConsolePanel .student-console-body{ padding: .75rem; }
#mfa-endorse .mfa-btn,
#mfa-endorse .mfa-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;  /* space between icon and text */
  line-height: 1.1;
}
#mfa-endorse .mfa-btn .ico,
#mfa-endorse .mfa-btn-primary .ico {
  display: inline-block;
  line-height: 1;
}

/* Student Console buttons – per certificate */
#studentConsolePanel[data-cert="spl"] .student-console-btn { color:#4EBD44; }
#studentConsolePanel[data-cert="rpl"] .student-console-btn { color:#AD49FF; }
#studentConsolePanel[data-cert="ppl"] .student-console-btn { color:#398FF3; }
#studentConsolePanel[data-cert="cpl"] .student-console-btn { color:#FFB013; }

/* Optional: matching border (if your buttons show borders) */
#studentConsolePanel[data-cert="spl"] .student-console-btn { border-color:#3F9437; }
#studentConsolePanel[data-cert="rpl"] .student-console-btn { border-color:#AD49FF; }
#studentConsolePanel[data-cert="ppl"] .student-console-btn { border-color:#398FF3; }
#studentConsolePanel[data-cert="cpl"] .student-console-btn { border-color:#FFB013; }

#studentConsolePanel #studentConsoleFull {
  font-size: 24px; 
}

/* === Console slider === */

.mfa-slider {
  position: relative;
  overflow: hidden;
  margin: .25rem 0 .6rem;
}

/* Viewport + track */
.mfa-viewport {
  overflow: hidden;
  contain: layout paint;
}
.mfa-track {
  display: flex;
  animation: none !important;
  transform: translateX(0);
  transition: none; 
  will-change: transform;
}
.mfa-slide {
  flex: 0 0 100%;
  padding: .25rem 0;
}

/* Nav buttons */
#studentConsolePanel .mfa-slider .mfa-nav{
	display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  border:none;
	box-shadow:none;
  cursor: pointer;
  z-index: 2;
  line-height: 1;
  font-size: 3rem !important;
  user-select: none;
	font-weight: 600;
}
.mfa-prev { left: .5rem; }
.mfa-next { right: .5rem; }


/* Keep disabled buttons inert */
.mfa-nav[disabled]{opacity:.45;cursor:default;box-shadow:none;pointer-events:none;}
/* Allow hard hide */
.mfa-nav[hidden]{display:none!important;}


/* Hide nav when there is only one slide */
.mfa-slider.is-single .mfa-nav{ 
	display: none !important; 
}

/* (optional) smoother slide when JS enables it */
.mfa-track { transition: none; } 

/* (Optional) reduce motion users */
@media (prefers-reduced-motion: reduce) {
  .mfa-track { transition: none !important; }
}

/* Cert accent variable on the PANEL (fallback + per-cert) */
#studentConsolePanel { --cert-accent:#398FF3; }               /* fallback */
#studentConsolePanel[data-cert="spl"] { --cert-accent:#4EBD44; }
#studentConsolePanel[data-cert="rpl"] { --cert-accent:#AD49FF; }
#studentConsolePanel[data-cert="ppl"] { --cert-accent:#398FF3; }
#studentConsolePanel[data-cert="cpl"] { --cert-accent:#FFB013; }

/* Slider arrows: default = cert color */
#studentConsolePanel .mfa-slider .mfa-nav {
  color: var(--cert-accent);
  transition: color .15s linear;
}

/* Hover/focus = black (only when enabled) */
#studentConsolePanel .mfa-slider .mfa-nav:hover:not([disabled]),
#studentConsolePanel .mfa-slider .mfa-nav:focus-visible:not([disabled]) {
  color: #000;
	background: transparent;
}

/* Keep disabled arrows muted/inert (optional) */
#studentConsolePanel .mfa-slider .mfa-nav[disabled]{
  opacity:.45;
  cursor:default;
  pointer-events:none;
}


/* ===== Student Console: Donuts (unified + chic) ===== */

.scsw-track, .scsw-slide { animation: none !important; }
.mfa-track{ animation:none !important; }


#studentConsolePanel .sc-wrap{
  --sc-size: 168px;      /* one size for ALL donuts */
  --sc-thick: 16px;      /* outer ring thickness   */
  --sc-inner: 8px;       /* inner thin ring        */
  font-family: Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:#fff; padding:10px 0;
}
#studentConsolePanel .sc-row{
  display:flex; flex-wrap:wrap; gap:22px; align-items:flex-start; justify-content:center;
}

#studentConsolePanel .sc-donut{
  position:relative; width:var(--sc-size); height:var(--sc-size);
  display:grid; place-items:center; margin:0; /* kill <figure> default margins */
  border-radius:20px;
}

#studentConsolePanel .sc-donut svg{
  width:100%; height:100%; display:block; filter:none;
}

#studentConsolePanel .sc-ico{
	margin-right: 4px;
}

#studentConsolePanel .sc-track{
  fill:none; stroke:#E8EEF2; stroke-width:var(--sc-thick); stroke-linecap:round;
}

#studentConsolePanel .sc-arc{
  fill:none; stroke-width:var(--sc-thick); stroke-linecap:round; transform-origin:50% 50%;
}
#studentConsolePanel .sc-inner{
  fill:none; stroke-width:var(--sc-inner);
}

/* Center overlay */
#studentConsolePanel .sc-center{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
}
#studentConsolePanel .sc-pct{ font-weight:800; color:#0b0f14; font-size:26px; line-height:1; letter-spacing:.2px; }
#studentConsolePanel .sc-mid{ font-weight:700; color:#384149; margin-top:.1rem; font-size:15px; }
#studentConsolePanel .sc-cap{ color:#6b7280; margin-top:.05rem; font-size:13px; }

/* Crisp strokes on iOS */
@supports (-webkit-touch-callout:none){
  #studentConsolePanel .sc-track,
  #studentConsolePanel .sc-arc,
  #studentConsolePanel .sc-inner{ vector-effect: non-scaling-stroke; }
}
.faa-study-admin a.lesson-link{
    color:inherit !important;
    text-decoration:none !important;
    font-weight:600;
  }
  .faa-study-admin a.lesson-link:hover{
   color: #007aff !important;
  }

/* Study table + chips */
#studentConsolePanel .faa-study-admin{ width:100%; border-collapse:collapse; }
#studentConsolePanel .faa-study-admin th, #studentConsolePanel .faa-study-admin td{ border:1px solid #ddd; padding:.5rem; text-align:left; }
#studentConsolePanel .faa-study-admin th{ background:#f7f7f7; }
#studentConsolePanel .faa-study-admin .col-center{ text-align:center; }
#studentConsolePanel .faa-study-admin tbody tr.faa-chapter-summary>td{ background:#D2F6FF; font-weight:700; }
#studentConsolePanel .mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; }
#studentConsolePanel .faa-chip{ display:inline-flex; align-items:center; justify-content:center; min-width:1.6em; height:1.6em; padding:0 .4em; border-radius:999px; font-size:.9rem; font-weight:700; line-height:1; user-select:none; }
#studentConsolePanel .faa-chip.is-yes{ background:#e6f4ea; color:#1f6b3a; }
#studentConsolePanel .faa-chip.is-no{  background:#fde8e8; color:#b42318; }
#studentConsolePanel .faa-chip.is-na{  background:#f3f4f6; color:#374151; }
#studentConsolePanel .quiz-pill{ display:inline-block; padding:.1rem .4rem; border-radius:.35rem; font-weight:600; font-size:.9em; line-height:1.1; color:#000; background:transparent; }
#studentConsolePanel .quiz-pill.is-pass{ color:#1f6b3a; background:#e6f4ea; }
#studentConsolePanel .quiz-pill.is-fail{ color:#b42318; background:#fde8e8; }



/* iOS-specific: keep strokes crisp inside transformed panel */
@supports (-webkit-touch-callout: none){
  #studentConsolePanel .sc-track,
  #studentConsolePanel .sc-arc,
  #studentConsolePanel .sc-inner{ vector-effect: non-scaling-stroke; }
}
.quiz-pill{display:inline-block;padding:.1rem .4rem;border-radius:.35rem;font-weight:600;font-size:.9em;line-height:1.1;color:#000;background:transparent}
.quiz-pill.is-pass{color:#1f6b3a;background:#e6f4ea}
.quiz-pill.is-fail{color:#b42318;background:#fde8e8}
.quiz-pill.is-none{color:#374151;background:#f3f4f6}

/* Make N/A darker and clearer */
.quiz-pill.is-na,
.faa-study-admin .quiz-pill.is-na,
.faa-lesson-checklist .quiz-pill.is-na {
  color: #111 !important;            /* near-black */
  background: #e6e7ea !important;    /* light neutral gray */
  border: 1px solid #cfd3d7;         /* subtle edge for clarity */
  border-radius: .35rem;              /* keep rounded look */
}

/* (Optional) "Not yet" neutral, a touch different from N/A */
.quiz-pill.is-pending,
.faa-study-admin .quiz-pill.is-pending,
.faa-lesson-checklist .quiz-pill.is-pending {
  color: #2f3133 !important;
  background: #f0f1f3 !important;
  border: 1px solid #dbdee2;
  border-radius: .35rem;
}



/*========Test Prep Tiles==========*/
  

.tiles-5{
        display:grid;
        grid-template-columns:repeat(5, minmax(0, 1fr));
        gap:.55rem;
        margin:.45rem 0 .6rem;
      }
      .tile-sq{
        aspect-ratio:1/1;
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        gap:.2rem;
        text-align:center;
        border:1px solid #e5e7eb;
        border-radius:.6rem;
        background:#fff;
        padding:.45rem .4rem;
        text-decoration:none;
        user-select:none;
      }

      .tile-sq .t1big{ font-size:1.22rem; font-weight:800; line-height:1.1; }
      .tile-sq .subline{ font-size:.9rem; font-weight:700; opacity:.9; line-height:1.1; }
      .tile-sq .hist{ display:flex; gap:.25rem; margin:.1rem 0 .1rem; flex-wrap:wrap; justify-content:center; }
      .tile-sq .chip{
        display:inline-flex; align-items:center; justify-content:center;
        min-width:1.4rem; height:1.4rem; border-radius:.35rem; font-size:.8rem; font-weight:700;
        border:1px solid #e5e7eb; background:#fafafa;
      }
      .tile-sq .chip.ok{ border-color:#cce8d8; background:#f2fbf6; }
      .tile-sq .chip.no{ border-color:#f2c6c6; background:#fff5f5; }
      .tile-sq .chip.none{ opacity:.6; }

      .tile-sq .t2{ font-size:.9rem; opacity:.95; }
      .tile-sq .t3{ font-size:.8rem; opacity:.8; }

      .tile-sq.pass{ border-color:#cce8d8; background:#f2fbf6; }
      .tile-sq.pass .t1big{ color:#247a3a !important; }
      .tile-sq.fail{ border-color:#f2c6c6; background:#fff5f5; }
      .tile-sq.fail .t1big{ color:#b42318 !important; }
      .tile-sq.empty{ background:#fafafa; }
      .faa-tiles-head{ display:flex; align-items:baseline; gap:.5rem; }
      .faa-tiles-head h4{ margin:.2rem 0; }
      .faa-tiles-head span{ opacity:.75; font-size:.9rem; }
      .tile-sq .ttitle { font-weight:700; }
      .tile-sq .empty-note { margin-top:.15rem; font-size:.9rem; opacity:.8; }
      .t1big .small { font-size:.9rem; font-weight:600; opacity:.8; margin-left:.15rem; }

      /* anchor tiles behave like neutral blocks; preserve inline LAST color */
      .faa-testprep a.tile-sq,
      .faa-testprep a.tile-sq:link,
      .faa-testprep a.tile-sq:visited,
      .faa-testprep a.tile-sq:hover,
      .faa-testprep a.tile-sq:active {
        display:flex;
        color: inherit !important;
        text-decoration: none !important;
        outline: none;
      }
      .faa-testprep a.tile-sq *,
      .faa-testprep a.tile-sq *:visited,
      .faa-testprep a.tile-sq *:hover {
        color: inherit !important;
        text-decoration: none !important;
      }
      .faa-testprep a.tile-sq { cursor: pointer; }


      .tm-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
        gap:.6rem; list-style:none; margin:.6rem 0 0; padding:0;
      }
      .tm-item{
        display:flex; justify-content:space-between; align-items:center;
        padding:.7rem .9rem; border:1px solid #e5e7eb; border-radius:.6rem;
        background:#fff; text-decoration:none; color:inherit;
      }
      .faa-test-menu a.tm-item{ color:inherit !important; text-decoration:none !important; }
      .tm-name{ font-weight:600; }
      .tm-badge{
        font-weight:700; padding:.15rem .5rem; border-radius:.5rem; border:1px solid #e5e7eb; background:#fafafa;
      }
      .tm-badge.pass{ background:#e6f4ea; border-color:#cce8d8; color:#1f6b3a; }
      .tm-badge.fail{ background:#fde8e8; border-color:#f2c6c6; color:#b42318; }
      .tm-badge.na{ background:#f4f5f7; color:#333; }
  
/*=======Endorsement Gate==========*/
    .endorse-gate{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;align-items:center;border:1px solid #e3e7eb;border-radius:.6rem;padding:.75rem;background:#fff}
    .endorse-gate.ok{border-color:#cce8d8;background:#f6fbf6}
    .endorse-gate.locked{border-color:#eee;background:#fafafa}
    .endorse-gate .row{display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}
    .endorse-gate .row.stat{align-items:center}
    .endorse-gate .muted{color:#6b7280}
    .endorse-gate .muted.small{font-size:.85rem;margin-top:.25rem}
    .endorse-gate .chip{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:.35rem;font-weight:700;border:1px solid #d1d5db;background:#f3f4f6;line-height:1}
    .endorse-gate .chip.yes{border-color:#bfe6cb;background:#e8f6ec;color:#1f6b3a}
    .endorse-gate .chip.no{border-color:#f2c0c0;background:#fdecec;color:#b42318}
    .endorse-gate .btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .75rem;border-radius:.5rem;border:1px solid #d1d5db;background:#fff;color:#111;font-weight:700;text-decoration:none;cursor:default}
    .endorse-gate .btn.primary{border-color:#2563eb;background:#2563eb;color:#fff;cursor:pointer}
    .endorse-gate .btn[disabled]{opacity:.55;cursor:not-allowed;background:#e5e7eb;border-color:#e5e7eb;color:#374151}
    @media (max-width:800px){
      .endorse-gate{grid-template-columns:1fr;align-items:flex-start}
      .endorse-gate .action{display:flex;align-items:center;gap:.5rem}
    }

      .endorse-card{display:flex;gap:.9rem;align-items:center;justify-content:space-between;padding:.85rem 1rem;border:1px solid #e5e7eb;border-radius:.6rem;background:#fafafa}
      .endorse-card.is-ok{background:#f6fbf6;border-color:#cfe8cf}
      .endorse-card.is-locked{background:#f7f7f8;border-color:#e6e7ea}
      .endorse-title{font-weight:700;margin-bottom:.35rem;display:flex;align-items:center;gap:.4rem}
      .endorse-title .ic.ok{color:#1f6b3a}
      .endorse-title .ic.lock{opacity:.75}
      .endorse-steps{display:flex;gap:1rem;flex-wrap:wrap}
      .endorse-steps .step{display:flex;gap:.55rem;align-items:flex-start;padding:.4rem .55rem;border:1px dashed #ddd;border-radius:.5rem;background:#fff}
      .endorse-card.is-ok .step.ok{background:#f2fbf6;border-color:#cce8d8}
      .endorse-card.is-locked .step.ok{background:#f2fbf6;border-color:#cce8d8}
      .endorse-steps .badge{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:#eee;font-weight:800}
      .endorse-steps .step.ok .badge{background:#e6f4ea;color:#1f6b3a}
      .endorse-steps .txt .sub{font-size:.9rem;opacity:.85}
      @media (max-width:720px){
        .endorse-card{flex-direction:column;align-items:stretch}
        .endorse-cta{display:flex;justify-content:flex-end}
      }
 

/* ===== Student Console loading overlay ===== */

.scov {
  position: absolute;
	inset:0;                  
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.80);
  backdrop-filter: blur(1px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
  z-index: 2147483647;          /* above admin bar & everything */
}


/* Neutralize transforms on ancestors while overlay is on */
html.scov-lock, body.scov-lock {
  transform: none !important;
  overflow: hidden !important;  /* lock scroll while loading */
}

/* Spinner + video */
.scov-wrap {
  --size: 160px;    /* outer diameter */
  --ring: 10px;     /* ring thickness */
  position: relative;
  width: var(--size);
  height: var(--size);
}

.scov-hole {
  position: absolute;
  inset: var(--ring);
  border-radius: 9999px;
  background: #fff;       /* clean white disc */
  overflow: hidden;       /* clip video to circle */
  display: grid;
  place-items: center;
  z-index: 2;
}

.scov-vid {
  width: 100%;
  height: 100%;
  object-fit: contain;    /* avoid cropping the video */
}

.scov-ring {
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  background: conic-gradient(#2563eb 0 25%, #e5e7eb 0 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--ring)), #000 0);
          mask: radial-gradient(farthest-side, transparent calc(100% - var(--ring)), #000 0);
  animation: scovspin 1s linear infinite;
  z-index: 1;
}

@keyframes scovspin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .scov-ring { animation-duration: 2.5s; }
}
}
/* body is the scroller */
#studentConsoleBody { position: relative; }

/* overlay fills the body, will be “tethered” via transform */
#studentConsoleBody #sc-overlay{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.80);
  backdrop-filter: blur(1px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
  z-index: 2147483647;
  will-change: transform; /* smooth tethering */
}
#studentConsoleBody #sc-overlay.is-on{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.scov.is-on {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

#studentConsoleBody #sc-overlay.scov.is-on{ opacity:1; visibility:visible; pointer-events:auto; }
/* panel already fixed; make it the containing block for the overlay */
#studentConsolePanel { position: fixed; }

/* overlay fills the panel viewport regardless of scroll inside #studentConsoleBody */
#studentConsolePanel > .scov {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.80);
  backdrop-filter: blur(1px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
  z-index: 2147483647;
}
#studentConsolePanel > .scov.is-on {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Expand/Collapse buttons */
.faa-acc-controls{ display:flex; gap:.5rem; margin:.25rem 0 .5rem; }
.faa-acc-btn{
  padding:.35rem .6rem; border:1px solid #d1d5db; background:#fff; border-radius:.45rem;
  font-weight:600; cursor:pointer;
}
.faa-acc-btn:hover{ background:#f8fafc; }


/*=============Certificate completion request form===========================*/

#mfa-endorse { max-width: 820px;}
      #mfa-endorse .mfa-note{
        padding:.8rem 1rem;margin:2rem 2rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#f8fafc;
      }
      #mfa-endorse .mfa-card{
        border:1px solid #e5e7eb;border-radius:.7rem;padding:1rem;background:#fff;
      }
      #mfa-endorse .mfa-status{ display:flex; flex-wrap:wrap; gap:.4rem; margin:.75rem 0 1rem; }
      #mfa-endorse .mfa-pill{
        padding:.25rem .5rem;border-radius:999px;border:1px solid #e5e7eb;background:#fff;font-size:.9rem;
      }
      #mfa-endorse .mfa-pill.ok{ border-color:#c7f0d2; background:#f0fff4; }
      #mfa-endorse .mfa-pill.no{ border-color:#ffe3a3; background:#fff8e6; }
      #mfa-endorse .mfa-pill.bad{ border-color:#fecaca; background:#fee2e2; }
      #mfa-endorse .mfa-pill.info{ border-color:#e5e7eb; background:#f8fafc; }

      #mfa-endorse .mfa-grid{
        display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:2rem 0;
      }
      #mfa-endorse .span-2{ grid-column:1 / -1; }
      #mfa-endorse label{ display:block; font-weight:600; color:#111827; }
      #mfa-endorse input[type=text],
      #mfa-endorse input[type=email],
      #mfa-endorse input[type=date],
      #mfa-endorse input[type=tel]{
        margin-top:.35rem; width:100%; padding:.6rem .7rem; border:1px solid #d1d5db; border-radius:.5rem; background:#fff;
      }
      #mfa-endorse .req{ color:#b91c1c; margin-left:2px; }
      #mfa-endorse .mfa-inline{ display:flex; gap:.5rem; align-items:center; }

      /* File input styling */
      #mfa-endorse .mfa-file{ position:relative; }
      #mfa-endorse .mfa-file-input{
        position:absolute; left:-9999px; width:1px; height:1px; opacity:0;
      }
      #mfa-endorse .mfa-file-name{ display:inline-block; margin-left:.5rem; color:#374151; font-size:.9rem; vertical-align:middle; }
      #mfa-endorse .mfa-btn{
        display:inline-block; border:1px solid #d1d5db; background:#f9fafb; padding:.5rem .75rem; border-radius:.5rem; cursor:pointer;
      }
      #mfa-endorse .mfa-btn:hover{ background:#f3f4f6; }
      
      #mfa-endorse .mfa-btn-primary:hover{ filter:brightness(0.97); }
      #mfa-endorse .mfa-btn-light{ background:#FFF4F4; color: red; box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.2) !important;}
      #mfa-endorse .mfa-actions{ margin-top:1rem; }
      #mfa-endorse .mfa-hr{ border:0; border-top:1px solid #e5e7eb; margin:1rem 0; }
		
		#mfa-endorse .mfa-btn-light:hover{color:#333;box-shadow: 0 0 1px 0px rgba(0, 0, 0, 0.2) !important;}
      @media (max-width: 820px){
        #mfa-endorse .mfa-grid{ grid-template-columns:1fr; }
        #mfa-endorse .span-1{ grid-column:1 / -1; }
      }
/* widen the form a bit on desktop so file labels don't wrap awkwardly */
#mfa-endorse { max-width: 980px; }

/* prevent grid children (DOB/Phone labels) from forcing overflow on iPad */
#mfa-endorse .mfa-grid > label,
#mfa-endorse .mfa-file { min-width: 0; }

/* make inputs fully shrink inside grid cells */
#mfa-endorse input[type="text"],
#mfa-endorse input[type="email"],
#mfa-endorse input[type="date"],
#mfa-endorse input[type="tel"]{
  width: 100%;
  min-width: 0;            
  box-sizing: border-box;
}

/* iOS/Safari date control can overflow; this keeps it contained */
#mfa-endorse input[type="date"]{
  -webkit-appearance: none;
  appearance: none;
  max-width: 100%;
}

/* slightly smaller label text above file inputs so the * stays on one line */
#mfa-endorse .mfa-file label{
  font-size: .95rem;
  line-height: 1.25;
  margin-bottom: .35rem;
}
#mfa-endorse label.mfa-inline-conditions{
  font-size: .95rem;
  font-weight: 400;
  color: red; 
}
/* if you still see the * wrapping, allow a touch more room between columns */
@media (min-width: 981px){
  #mfa-endorse .mfa-grid{ gap: 1rem; }
}

/* Color the submit button by certificate */
#mfa-endorse[data-cert="spl"] .mfa-btn-primary {
	font-weight:600;
  	color:#fff;
	background-color: transparent;
    background-image: linear-gradient(172deg, #5DDA51 30%, #209016 100%);
	box-shadow: 1px 1px 4px 1px rgba(0, 0, 0, 0.4);
    border-radius: 6px 6px 6px 6px;
	border:none;
}
#mfa-endorse[data-cert="spl"] .mfa-btn-primary:hover {
	background-color: transparent;
    color: #000000;
    background-image: linear-gradient(180deg, #FFFFFF 0%, #4EC95ED6 100%);
	box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}

#mfa-endorse[data-cert="rpl"] .mfa-btn-primary {
	font-weight:600;
  	color:#fff;
	background-color: transparent;
    background-image: linear-gradient(172deg, #BA67FF 30%, #712CA9 100%);
	box-shadow: 1px 1px 4px 1px rgba(0, 0, 0, 0.4);
    border-radius: 6px 6px 6px 6px;
	border:none;
}
#mfa-endorse[data-cert="rpl"] .mfa-btn-primary:hover {
	background-color: transparent;
    color: #000000;
    background-image: linear-gradient(180deg, #FFFFFF 0%, #712CA9 100%);
	box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}

#mfa-endorse[data-cert="ppl"] .mfa-btn-primary {
    font-weight:600;
  	color:#fff;
	background-color: transparent;
    background-image: linear-gradient(172deg, #457FFF 30%, #2053C3 100%);
	box-shadow: 1px 1px 4px 1px rgba(0, 0, 0, 0.4);
    border-radius: 6px 6px 6px 6px;
	border:none;
}
#mfa-endorse[data-cert="ppl"] .mfa-btn-primary:hover {
	background-color: transparent;
    color: #000000;
    background-image: linear-gradient(180deg, #FFFFFF 0%, #6EBDFFD6 100%);
	box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}

#mfa-endorse[data-cert="cpl"] .mfa-btn-primary {
	font-weight:600;
  	color:#fff;
	background-color: transparent;
    background-image: linear-gradient(172deg, #FFCD6B 30%, #D5961A 100%);
	box-shadow: 1px 1px 4px 1px rgba(0, 0, 0, 0.4);
    border-radius: 6px 6px 6px 6px;
	border:none;
}
#mfa-endorse[data-cert="cpl"] .mfa-btn-primary:hover {
	background-color: transparent;
    color: #000000;
    background-image: linear-gradient(180deg, #FFFFFF 0%, #FFB700E3 100%);
	box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.4);
}


