/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./src/design-system/FkButton.module.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************/
.FkButton_btn__2LlWk {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--fk-space-2);
  min-height: var(--fk-skin-controlHeight);
  padding: 0 var(--fk-space-5);
  border-radius: var(--fk-skin-radiusControl); /* never a pill */
  font-family: var(--fk-font-body);
  font-size: var(--fk-skin-labelSize);
  font-weight: var(--fk-type-label-lg-weight);
  letter-spacing: var(--fk-type-label-lg-tracking);
  line-height: var(--fk-type-label-lg-lh);
  border: none;
  cursor: pointer;
  position: relative;
  transition:
    transform var(--fk-duration-fast) var(--fk-ease-out),
    opacity var(--fk-duration-fast) var(--fk-ease-out),
    background-color var(--fk-duration-quick) var(--fk-ease-out);
}
.FkButton_btn__2LlWk:active:not(:disabled) {
  transform: scale(0.96);
  opacity: var(--fk-opacity-pressed);
}
.FkButton_btn__2LlWk:disabled { opacity: var(--fk-opacity-disabled); cursor: default; }
.FkButton_btn__2LlWk[aria-busy="true"] { cursor: progress; }
.FkButton_compact__B68_z { min-height: var(--fk-control-touchMin); padding: 0 var(--fk-space-3); }

/* Trust default: solid green + white. */
.FkButton_primary__2indo { background: var(--fk-action-solid); color: var(--fk-ink-inverse); }
/* Kid: the soft pair — #86D483 fill with deep-green ink (4.99:1). */
[data-skin="kid"] .FkButton_primary__2indo {
  background: var(--fk-action-300);
  color: var(--fk-action-800);
}

.FkButton_secondary__SSXWj {
  background: var(--fk-surface);
  color: var(--fk-action-text);
  box-shadow: inset 0 0 0 var(--fk-border-thick) var(--fk-action-solid);
}
.FkButton_ghost__5q5i9 { background: var(--fk-surface-sunken); color: var(--fk-ink-secondary); }

.FkButton_loadingLabel__UWnJs { color: transparent; }
.FkButton_spinner__wKGRO {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}
.FkButton_spinner__wKGRO::after {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2.5px solid currentColor;
  border-top-color: transparent;
  animation: FkButton_spin__Y03_f 0.8s linear infinite;
}
@keyframes FkButton_spin__Y03_f { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .FkButton_spinner__wKGRO::after { animation-duration: 1.6s; }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./src/features/admin/admin.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
/* The Admin skin: 8px cards, 40px controls, dense. The tightest register in
   the system — this is a console, not a classroom. */
.admin_shell__uVDnS {
  min-height: 100vh; background: var(--fk-surface-sunken);
  display: grid; grid-template-columns: 232px minmax(0, 1fr);
}

/* ── sidebar ─────────────────────────────────────────────────────────────── */
.admin_side__7MFvI {
  position: -webkit-sticky;
  position: sticky; top: 0; height: 100vh; overflow-y: auto;
  display: flex; flex-direction: column; gap: var(--fk-space-4);
  padding: var(--fk-space-4) var(--fk-space-3);
  /* Deep brand green (client's choice, 14 Sep 2026) — darker than the action
     green so buttons in the page still read as buttons. Everything on it is
     white or a white tint, and focus rings turn white (see below). */
  background: var(--fk-brand-800);
  color: #fff;
}
.admin_brandRow__ACoJC { display: flex; align-items: center; gap: var(--fk-space-2); min-height: 40px; padding: 0 var(--fk-space-2); }
.admin_brandMark__fnJbz { width: 30px; height: 30px; flex: none; padding: 2px; border-radius: 50%; background: #fff; box-sizing: border-box; }
.admin_brandText__9KOVX { font-size: 15px; font-weight: 800; color: #fff; white-space: nowrap; }
.admin_brandTag__2wYGp { font-weight: 600; color: rgb(255 255 255 / 0.75); }
.admin_nav__KVeP1 { display: flex; flex-direction: column; gap: var(--fk-space-4); }
.admin_navGroup___w4UW { display: flex; flex-direction: column; gap: 2px; }
.admin_navLabel__fUpz1 { margin: 0 0 4px; padding: 0 var(--fk-space-3); font-size: 12px; font-weight: 600; color: rgb(255 255 255 / 0.72); }
.admin_navLink__irNQk {
  display: flex; align-items: center; gap: 10px; min-height: 36px;
  padding: 0 var(--fk-space-3); border-radius: 6px;
  color: rgb(255 255 255 / 0.88); font-size: 14px; font-weight: 500;
  transition: background-color var(--fk-duration-quick) var(--fk-ease-out), color var(--fk-duration-quick) var(--fk-ease-out);
}
.admin_navLink__irNQk svg { flex: none; color: rgb(255 255 255 / 0.75); }
.admin_navLink__irNQk:hover { background: rgb(255 255 255 / 0.10); color: #fff; }
.admin_navLink__irNQk:hover svg { color: #fff; }
/* The current section: a white fill with green text, the clearest mark on a
   green ground. */
.admin_navLinkOn__2Nac_, .admin_navLinkOn__2Nac_:hover { background: #fff; color: var(--fk-brand-800); font-weight: 700; }
.admin_navLinkOn__2Nac_ svg, .admin_navLinkOn__2Nac_:hover svg { color: var(--fk-brand-800); }
.admin_navLinkOn__2Nac_ .admin_navCount__SeF8I { background: var(--fk-brand-800); color: #fff; }
.admin_navCount__SeF8I {
  margin-left: auto; min-width: 20px; padding: 0 6px; border-radius: 10px;
  background: rgb(255 255 255 / 0.2); color: #fff;
  font-size: 12px; font-weight: 700; line-height: 20px; text-align: center; font-feature-settings: "tnum";
}
.admin_me__miAe6 {
  margin-top: auto; display: flex; align-items: center; gap: var(--fk-space-2);
  padding: var(--fk-space-3) var(--fk-space-2) 0;
  border-top: var(--fk-border-hairline) solid rgb(255 255 255 / 0.16);
}
.admin_avatar__bqJdG {
  width: 32px; height: 32px; flex: none; border-radius: 50%; display: grid; place-items: center;
  background: rgb(255 255 255 / 0.16); color: #fff; font-size: 12px; font-weight: 700;
}
.admin_meText__URmNa { display: flex; flex-direction: column; min-width: 0; flex: 1 1; }
.admin_meName__Shy_X { font-size: 13px; font-weight: 700; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin_meRole__nsdoI { font-size: 12px; color: rgb(255 255 255 / 0.75); }
.admin_iconBtn__DLvac {
  display: inline-grid; place-items: center; flex: none; width: 36px; height: 36px;
  border: 0; border-radius: 6px; background: transparent; color: rgb(255 255 255 / 0.85); cursor: pointer;
}
.admin_iconBtn__DLvac:hover { background: rgb(255 255 255 / 0.12); color: #fff; }
/* The global focus ring is action green, which would vanish on this ground. */
.admin_side__7MFvI :focus-visible, .admin_mobileBar__l3voF :focus-visible { outline-color: #fff; }
.admin_drawerClose__qqBHM { display: none; margin-left: auto; }
.admin_main__DiTg8 { min-width: 0; display: flex; flex-direction: column; }
.admin_mobileBar__l3voF, .admin_drawerScrim__oaHn7 { display: none; }
@media (max-width: 999px) {
  .admin_shell__uVDnS { grid-template-columns: minmax(0, 1fr); }
  .admin_mobileBar__l3voF {
    display: flex; align-items: center; gap: var(--fk-space-2);
    position: -webkit-sticky;
    position: sticky; top: 0; z-index: var(--fk-z-sticky);
    min-height: 56px; padding: 0 var(--fk-space-3);
    background: var(--fk-brand-800); color: #fff;
  }
  .admin_mobileTitle__Iqce3 { margin-left: auto; font-size: 13px; color: rgb(255 255 255 / 0.8); }
  .admin_side__7MFvI { display: none; }
  .admin_sideOpen__aW7vD {
    display: flex; position: fixed; inset: 0 auto 0 0; z-index: var(--fk-z-modal);
    width: min(280px, 85vw); height: 100%;
    box-shadow: var(--fk-elevation-3);
    animation: admin_drawerIn__a2Ul3 var(--fk-duration-base) var(--fk-ease-out);
  }
  .admin_drawerClose__qqBHM { display: inline-grid; }
  .admin_drawerScrim__oaHn7 {
    display: block; position: fixed; inset: 0; z-index: var(--fk-z-overlay);
    background: color-mix(in srgb, var(--fk-ink) 40%, transparent);
  }
}
@keyframes admin_drawerIn__a2Ul3 { from { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) {
  .admin_sideOpen__aW7vD { animation: none; }
  .admin_navLink__irNQk { transition: none; }
}

.admin_page__kZ_El {
  flex: 1 1; width: 100%; max-width: 1240px; margin: 0 auto;
  padding: var(--fk-space-6) var(--fk-space-5) var(--fk-space-12);
  display: flex; flex-direction: column; gap: var(--fk-space-5);
}
@media (max-width: 999px) { .admin_page__kZ_El { padding: var(--fk-space-4) var(--fk-space-4) var(--fk-space-12); } }
.admin_pageHead__vagTx { display: flex; flex-direction: column; gap: 4px; }
.admin_toolbar__znfTt { display: flex; align-items: center; gap: var(--fk-space-3); flex-wrap: wrap; }
.admin_search__JLiVo { max-width: 280px; margin-left: auto; min-height: 36px; }
@media (max-width: 640px) { .admin_search__JLiVo { max-width: none; margin-left: 0; } }
/* A segmented switch for sibling views (students / teachers / families). */
.admin_segmented__M27Et { display: inline-flex; gap: 2px; padding: 3px; border-radius: 8px; background: var(--fk-neutral-100); }
.admin_segment___cgdO {
  display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px;
  border: 0; border-radius: 6px; background: transparent; cursor: pointer;
  color: var(--fk-ink-secondary); font-size: 13px; font-weight: 600;
}
.admin_segment___cgdO:hover { color: var(--fk-ink); }
.admin_segment___cgdO[aria-pressed="true"] { background: var(--fk-surface); color: var(--fk-ink); box-shadow: var(--fk-elevation-1); }
.admin_segmentCount___KUO4 { color: var(--fk-ink-secondary); font-weight: 500; font-feature-settings: "tnum"; }
.admin_h1__Yvsel {
  font-family: var(--fk-font-display);
  font-variation-settings: var(--fk-fraunces-register);
  font-size: var(--fk-type-heading-md-size);
  font-weight: 700;
}
.admin_h2__MaxbP { font-size: var(--fk-type-label-lg-size); font-weight: 700; }
.admin_sub__7vCI3 { color: var(--fk-ink-secondary); font-size: var(--fk-type-body-sm-size); }
.admin_card__bq5Sl {
  background: var(--fk-surface);
  border: var(--fk-border-hairline) solid var(--fk-line);
  border-radius: var(--fk-skin-radiusCard);
  padding: var(--fk-space-5);
}
/* A table in a card runs to the card's edges, its first and last columns
   lined up with the card's own padding: one inset, not two. */
.admin_card__bq5Sl .admin_tableWrap__d26bF { margin-inline: calc(-1 * var(--fk-space-5)); }
.admin_card__bq5Sl .admin_table__IIW4t th:first-child, .admin_card__bq5Sl .admin_table__IIW4t td:first-child { padding-left: var(--fk-space-5); }
.admin_card__bq5Sl .admin_table__IIW4t th:last-child, .admin_card__bq5Sl .admin_table__IIW4t td:last-child { padding-right: var(--fk-space-5); }
.admin_tableWrap__d26bF { overflow-x: auto; }
.admin_table__IIW4t { width: 100%; border-collapse: collapse; font-size: var(--fk-type-body-sm-size); }
.admin_table__IIW4t th {
  text-align: left; padding: 8px 10px;
  font-size: 12px; font-weight: 600;
  color: var(--fk-ink-secondary);
  border-bottom: var(--fk-border-hairline) solid var(--fk-line);
  white-space: nowrap;
}
/* Oct-15 — a sortable heading reads as the heading it replaces */
.admin_sortHead__sZa6T {
  display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; background: none;
  font: inherit; color: inherit; cursor: pointer;
}
.admin_sortHead__sZa6T:hover, .admin_sortHead__sZa6T[aria-pressed="true"] { color: var(--fk-ink); }
.admin_sortHead__sZa6T svg { opacity: 0.4; flex: none; }
.admin_sortHead__sZa6T[aria-pressed="true"] svg { opacity: 1; }
.admin_table__IIW4t td {
  padding: 10px;
  border-bottom: var(--fk-border-hairline) solid var(--fk-line);
  vertical-align: middle; line-height: 1.4;
}
.admin_table__IIW4t tr:last-child td { border-bottom: none; }
.admin_table__IIW4t tbody tr:hover td { background: var(--fk-neutral-50); }
/* Row actions: one line, right-aligned, the column only as wide as its
   buttons, and quiet — a neutral outline or plain text, so a table of
   twenty rows is not twenty rows of green. Page-level actions keep FkButton. */
.admin_table__IIW4t td:has(> button), .admin_table__IIW4t td:has(> .admin_actions__aQqxd) { width: 1%; white-space: nowrap; text-align: right; }
.admin_table__IIW4t .admin_actions__aQqxd { flex-wrap: nowrap; gap: 4px; justify-content: flex-end; }
.admin_table__IIW4t td button {
  min-height: 32px; padding: 0 10px; border-radius: 6px;
  font-size: 13px; font-weight: 600; white-space: nowrap;
  background: var(--fk-surface); color: var(--fk-ink);
  box-shadow: inset 0 0 0 1px var(--fk-line-strong);
}
.admin_table__IIW4t td button:hover:not(:disabled) { background: var(--fk-neutral-50); }
.admin_table__IIW4t td button[class*="ghost"] { background: transparent; box-shadow: none; color: var(--fk-ink-secondary); }
.admin_table__IIW4t td button[class*="ghost"]:hover:not(:disabled) { background: var(--fk-neutral-100); color: var(--fk-ink); }
/* Inline editors in a row: compact, and as wide as their longest choice so a
   school name is never cut off. */
.admin_table__IIW4t .admin_select__ouAhy, .admin_table__IIW4t .admin_input__VQPjB { min-height: 32px; padding: 4px 8px; font-size: 13px; }
.admin_table__IIW4t .admin_select__ouAhy { width: auto; min-width: 120px; }
/* Oct-08 — the Students table's School and Classroom dropdowns. One cell has
   a line of text under its dropdown and the other does not, so centring each
   cell put the two dropdowns at different heights; and each was as wide as
   its longest option, so the column was ragged. Top-aligned and one width. */
.admin_table__IIW4t td.admin_pickCell__Th5VF { vertical-align: top; width: 190px; min-width: 160px; }
.admin_table__IIW4t .admin_pickCell__Th5VF .admin_select__ouAhy { width: 100%; }
.admin_cellMain__gEtfy { display: block; font-weight: 600; color: var(--fk-ink); }
.admin_cellSub__DaZxt { display: block; margin-top: 2px; font-size: 12px; color: var(--fk-ink-secondary); }
.admin_cellLine__fsfeO { display: block; }
.admin_nowrap__nxkKQ { white-space: nowrap; }
.admin_cap__Xmy2W { text-transform: capitalize; }
.admin_truncate__0Y0qR { display: block; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin_actions__aQqxd { display: flex; gap: var(--fk-space-2); flex-wrap: wrap; }
.admin_pill__OeL1x::first-letter { text-transform: uppercase; }
.admin_pill__OeL1x {
  display: inline-block; padding: 2px 8px;
  border-radius: var(--fk-radius-sm);
  font-size: var(--fk-type-caption-size); font-weight: 700; white-space: nowrap;
}
.admin_ok__BFiY2 { background: var(--fk-brand-tint); color: var(--fk-brand-on-tint); }
.admin_warn__sulP8 { background: var(--fk-warning-tint); color: var(--fk-warning-on-tint); }
.admin_off__qEWR6 { background: var(--fk-surface-sunken); color: var(--fk-ink-secondary); }
.admin_info__ACiXN { background: var(--fk-info-tint); color: var(--fk-info-on-tint); }
.admin_stats__le_2O { display: grid; grid-gap: var(--fk-space-3); gap: var(--fk-space-3); grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.admin_stat__vbqNc { background: var(--fk-surface); border: var(--fk-border-hairline) solid var(--fk-line); border-radius: var(--fk-skin-radiusCard); padding: var(--fk-space-4); }
.admin_statN__tz1Wb { font-size: var(--fk-type-numeric-md-size); font-weight: 700; font-feature-settings: "tnum"; }
.admin_field__5nLK0 { display: flex; flex-direction: column; gap: 4px; }
.admin_label___9WBS { font-size: 13px; font-weight: 600; color: var(--fk-ink-secondary); }
.admin_input__VQPjB, .admin_select__ouAhy, .admin_textarea__07C20 {
  min-height: var(--fk-skin-controlHeight);
  border-radius: var(--fk-skin-radiusInput);
  border: var(--fk-border-hairline) solid var(--fk-line-strong);
  background: var(--fk-surface);
  padding: var(--fk-space-2) var(--fk-space-3);
  font: inherit; color: inherit; width: 100%;
}
.admin_textarea__07C20 { min-height: 90px; resize: vertical; padding-top: var(--fk-space-3); }
.admin_input__VQPjB:focus, .admin_select__ouAhy:focus, .admin_textarea__07C20:focus {
  outline: none; border-color: var(--fk-action-solid);
  box-shadow: 0 0 0 1.5px var(--fk-action-solid);
}
/* the video description's editor: a textarea's frame with a toolbar on top */
.admin_rte__vijoT {
  border-radius: var(--fk-skin-radiusInput);
  border: var(--fk-border-hairline) solid var(--fk-line-strong);
  background: var(--fk-surface); overflow: hidden;
}
.admin_rte__vijoT:focus-within { border-color: var(--fk-action-solid); box-shadow: 0 0 0 1.5px var(--fk-action-solid); }
.admin_rteBar__iy5qf { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-bottom: var(--fk-border-hairline) solid var(--fk-line); background: var(--fk-neutral-50); }
.admin_rteTool__4rbZl {
  min-width: 36px; min-height: 32px; padding: 0 10px; border: 0; border-radius: var(--fk-radius-sm, 6px);
  background: none; cursor: pointer; font-size: 13px; color: var(--fk-ink-secondary);
}
.admin_rteTool__4rbZl:hover { background: var(--fk-surface); color: var(--fk-ink); }
.admin_rteBody__8ehKR { min-height: 110px; padding: var(--fk-space-3); outline: none; line-height: 1.5; }
.admin_rteBody__8ehKR ul { list-style: disc; padding-left: 22px; }
.admin_rteBody__8ehKR ol { list-style: decimal; padding-left: 22px; }
.admin_formGrid__gz9iU { display: grid; grid-gap: var(--fk-space-3); gap: var(--fk-space-3); grid-template-columns: 1fr; }
@media (min-width: 700px) { .admin_formGrid__gz9iU { grid-template-columns: 1fr 1fr; } }
/* Footnotes explain; they are not alerts, so they sit quietly under their
   table instead of in a blue box. */
.admin_note__NYvAe {
  background: var(--fk-neutral-50); color: var(--fk-ink-secondary);
  border: var(--fk-border-hairline) solid var(--fk-line);
  border-radius: var(--fk-radius-md); padding: 10px 12px;
  font-size: 13px; line-height: 1.5;
}
.admin_note__NYvAe strong { color: var(--fk-ink); }
/* width: 100% — with auto margins inside a flex column the card shrank to its
   widest line, so the reset form was narrower than sign-in and changed width
   as a hint became an error (Oct-09). */
.admin_signIn__mENfW { width: 100%; max-width: 400px; margin: 10vh auto; display: flex; flex-direction: column; gap: var(--fk-space-4); }
/* Sign-in renders .page straight inside .shell with no sidebar, so from 1000px
   it fell into the 232px sidebar column and sat at the left edge. Span the
   whole grid; the logo and title centre over the card. */
.admin_shell__uVDnS > .admin_page__kZ_El { grid-column: 1 / -1; }
.admin_signIn__mENfW > img, .admin_signIn__mENfW > .admin_h1__Yvsel { align-self: center; text-align: center; }

/* ── row editing (Sep-07 admin tracker) ──────────────────────────────────── */
.admin_scrim__Z9rmI {
  position: fixed;
  inset: 0;
  background: color-mix(in srgb, var(--fk-ink) 45%, transparent);
  display: grid;
  place-items: center;
  padding: 16px;
  z-index: 50;
}

.admin_modal__xIN0m {
  background: var(--fk-surface);
  border-radius: 16px;
  border: 1px solid var(--fk-border);
  width: min(680px, 100%);
  max-height: min(86vh, 900px);
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 60px rgb(0 0 0 / 22%);
}

.admin_modalHead__grKne {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 20px 12px;
  border-bottom: 1px solid var(--fk-border);
}

.admin_modalHead__grKne > div { flex: 1 1; }

.admin_close__ouktl {
  font-size: 26px;
  line-height: 1;
  min-width: 44px;
  min-height: 44px;
  color: var(--fk-ink-secondary);
}

.admin_modalBody__qqoe9 { padding: 20px; overflow: auto; }

.admin_checks__ZKISC {
  border: 1px solid var(--fk-border);
  border-radius: 12px;
  padding: 12px 14px;
  display: grid;
  grid-gap: 8px;
  gap: 8px;
}

.admin_check__lRsyb {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  cursor: pointer;
}

.admin_check__lRsyb input { width: 18px; height: 18px; }

.admin_detailGrid__UntlU {
  display: grid;
  grid-template-columns: max-content 1fr;
  grid-gap: 8px 18px;
  gap: 8px 18px;
  align-items: baseline;
}

.admin_detailGrid__UntlU dt { color: var(--fk-ink-secondary); font-size: 13px; }
.admin_detailGrid__UntlU dd { margin: 0; font-weight: 600; }

/* ── sign-in, 2FA, forgot and reset ─────────────────────────────────────── */
.admin_signIn__mENfW > .admin_authSub__3kHaV { margin-top: calc(-1 * var(--fk-space-2)); text-align: center; }
.admin_linkBtn__n31Ky {
  justify-self: center; display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
  padding: 0 var(--fk-space-2); border: 0; background: none; cursor: pointer;
  color: var(--fk-ink-secondary); font-size: var(--fk-type-body-sm-size);
  text-decoration: underline; text-underline-offset: 3px;
}
.admin_linkBtn__n31Ky:hover { color: var(--fk-ink); }
.admin_formError__Sh7X6 { margin: 0; color: var(--fk-danger-text); font-size: 13px; }
/* Oct-09 — the eye inside a password field (sign-in, reset, first password) */
.admin_passwordWrap__eld45 { position: relative; display: block; }
.admin_passwordWrap__eld45 .admin_input__VQPjB { padding-right: 44px; }
.admin_reveal__hltHq {
  position: absolute; top: 0; right: 4px; height: 100%; width: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 0; background: none; padding: 0; cursor: pointer;
  color: var(--fk-ink-secondary); border-radius: 6px;
}
.admin_reveal__hltHq:hover { color: var(--fk-ink); }
.admin_reveal__hltHq:focus-visible { outline: 2px solid var(--fk-action-solid); outline-offset: -2px; }
/* a code is read digit by digit, so it gets a fixed-width face */
.admin_codeInput__HAiZU { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 22px; letter-spacing: 0.35em; text-align: center; }

/* ── Nov-12: legal text, set as the website sets it (preview and editor) ── */
.admin_legalDoc__UNaqP { max-width: 72ch; color: var(--fk-ink-secondary); font-size: 15px; line-height: 1.65; }
.admin_legalDoc__UNaqP > :first-child { margin-top: 0; }
.admin_legalDoc__UNaqP h2, .admin_legalDoc__UNaqP h3, .admin_legalDoc__UNaqP h4 { margin: 20px 0 6px; color: var(--fk-ink); line-height: 1.3; }
.admin_legalDoc__UNaqP h2 { font-size: 19px; }
.admin_legalDoc__UNaqP h3 { font-size: 16px; }
.admin_legalDoc__UNaqP h4 { font-size: 15px; }
.admin_legalDoc__UNaqP p, .admin_legalDoc__UNaqP ul, .admin_legalDoc__UNaqP ol, .admin_legalDoc__UNaqP blockquote { margin: 0 0 10px; }
.admin_legalDoc__UNaqP ul { list-style: disc; padding-left: 22px; }
.admin_legalDoc__UNaqP ol { list-style: decimal; padding-left: 22px; }
.admin_legalDoc__UNaqP strong { color: var(--fk-ink); }
.admin_legalDoc__UNaqP a { color: var(--fk-action-text); text-decoration: underline; }
.admin_legalDoc__UNaqP table { display: block; overflow-x: auto; border-collapse: collapse; margin: 0 0 12px; font-size: 14px; }
.admin_legalDoc__UNaqP th, .admin_legalDoc__UNaqP td { min-width: 120px; padding: 8px 10px; border: 1px solid var(--fk-line); text-align: left; vertical-align: top; }
.admin_legalDoc__UNaqP th { background: var(--fk-neutral-50); color: var(--fk-ink); }
.admin_rteBody__8ehKR.admin_legalDoc__UNaqP { max-width: none; min-height: 360px; max-height: 70vh; overflow-y: auto; }

/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./src/design-system/FkStateView.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
.FkStateView_wrap__ddrvF {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--fk-space-4);
  padding: var(--fk-space-10) var(--fk-space-6);
}
.FkStateView_disc__W9dyC {
  width: 80px;
  height: 80px;
  border-radius: var(--fk-radius-full);
  background: var(--fk-surface-sunken);
  display: grid;
  place-items: center;
  color: var(--fk-ink-muted);
}
.FkStateView_title__w8fIk {
  font-family: var(--fk-font-display);
  font-variation-settings: var(--fk-fraunces-register);
  font-size: var(--fk-type-heading-sm-size);
  line-height: var(--fk-type-heading-sm-lh);
  font-weight: var(--fk-type-heading-sm-weight);
}
.FkStateView_message__iaKQX {
  font-size: var(--fk-type-body-md-size);
  line-height: var(--fk-type-body-md-lh);
  color: var(--fk-ink-secondary);
  max-width: 40ch;
}
.FkStateView_spinner__8mRf5 {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 3px solid var(--fk-brand-tint);
  border-top-color: var(--fk-brand-solid);
  animation: FkStateView_spin__kMTqq 0.9s linear infinite;
}
@keyframes FkStateView_spin__kMTqq { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .FkStateView_spinner__8mRf5 { animation-duration: 1.8s; } }

