/* =============================================================================
   THE PLATFORM CONSOLE — what is left of its own stylesheet.

   This file used to be four hundred lines: a shell, a sidebar, tables, buttons,
   cards, a modal, toasts and a sign-in page, all under a .pf- prefix, all drawn
   from scratch so that the console would look nothing like the app.

   That was the wrong instinct. Being a different PRODUCT is a matter of what the
   console can do — it acts across every school, it is reached at its own address
   and its session is a different cookie against a different table — not a matter
   of it having its own idea of what a table looks like. All that a second design
   language bought was a second design language to maintain, and the console was
   quietly the poorer of the two: no collapsing sidebar, no dark mode, no mobile
   menu, and a modal that could not be dismissed with Escape.

   The console now runs the Edudash shell the school runs, and its screens draw
   in the template's own classes — see the toolkit at the top of
   assets/js/platform/console_core.js. What it still says out loud is WHERE you
   are, and it says it in the top bar rather than in the paint.

   Left here are the three things the template has no word for.
   ========================================================================== */

/* -----------------------------------------------------------------------------
   A ONE-TIME PASSWORD, ON SCREEN ONCE.

   Shown when a school is created and never readable again, so it has to be easy
   to read off correctly and hard to mistake for ordinary prose — monospaced,
   spaced out, and boxed away from the sentence above it.
   -------------------------------------------------------------------------- */
.pf-credential {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px dashed var(--neutral-300, #d1d5db);
  border-radius: 8px;
  background: var(--neutral-50, #f8fafc);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 15px;
  letter-spacing: .5px;
  word-break: break-all;
  user-select: all;   /* one click selects the whole thing */
}

/* -----------------------------------------------------------------------------
   A PLACEHOLDER OR A FILENAME, INLINE.

   {{full_name}}, {{asset_base}}bgid.png — read as tokens to be copied rather
   than as words in the sentence around them.
   -------------------------------------------------------------------------- */
.pf-chipcode {
  display: inline-block;
  margin: 0 4px 4px 0;
  padding: 1px 6px;
  border-radius: 4px;
  background: var(--neutral-100, #f1f5f9);
  color: var(--text-secondary-light, #475569);
  font-size: 11.5px;
}

/* -----------------------------------------------------------------------------
   AN EDITOR, NOT A MESSAGE BOX.

   The markup and stylesheet of a printed card are edited in a textarea. In the
   template's proportional face a card layout is unreadable and every indent
   lies about where it is.
   -------------------------------------------------------------------------- */
textarea.pf-code {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
  line-height: 1.5;
  white-space: pre;
  overflow-wrap: normal;
  overflow-x: auto;
}

/* -----------------------------------------------------------------------------
   NOTHING IS ON SCREEN UNTIL THE SESSION CALL HAS ANSWERED.

   The `hidden` attribute is only a UA rule of `display: none`, and any class on
   the element that sets `display` beats it — .auth-page sets `display: flex`,
   so the sign-in sheet marked hidden would be shown anyway. Both panels are
   held shut here instead, or the console flashes the sign-in page at somebody
   who is signed in and its sidebar at somebody who is not.
   -------------------------------------------------------------------------- */
#pfShell[hidden],
#pfSignin[hidden] { display: none !important; }

/* -----------------------------------------------------------------------------
   THE TASKS BOARD — a column has to be something a card can be dropped on even
   when it is empty, and has to say so while a card is over it.
   -------------------------------------------------------------------------- */
.pf-column { min-height: 160px; transition: background-color .15s; }
.pf-column--over { background-color: var(--primary-50, rgba(72, 127, 255, .08)); }
.pf-task { cursor: grab; }
.pf-task:hover { border-color: var(--primary-600, #487fff) !important; }
.pf-task--dragging { opacity: .45; }
