/* security-v1 — layout/sidebar/nav/toast/table primitives removed.
 * Shared chrome + components: css/platform-v1.css
 * Original layout CSS archived beside this file as *.legacy-layout.bak
 * Domain-specific widgets (if any) may be re-added below.
 */
/* Preserve page root spacing when marketing footer remains */
body.pf-body .footer, body.pf-body .pb__footer { margin-top: 2rem; }

/* Domain-specific rules retained */
.sec1-pass { color: var(--pf-ok, #9fd4ad); }
.sec1-fail { color: var(--pf-danger, #e8a0a0); }
/* Safety Management V1 */
.sec1-lesson { margin-bottom: 1rem; padding: 1rem; border-radius: 10px; background: var(--pf-surface, #141414); border: 1px solid var(--pf-border, #2a2a2a); }
.sec1-lesson h3 { margin: 0 0 .5rem; font-size: 1.05rem; }
.sec1-quiz-q { margin-bottom: 1rem; padding: .85rem; border-radius: 8px; border: 1px solid var(--pf-border, #2a2a2a); background: var(--pf-surface-2, #101010); }
.sec1-quiz-q label { display: block; margin: .35rem 0; font-size: .88rem; cursor: pointer; }
.sec1-page {
  background: var(--pf-bg, var(--bg-primary, #0a0a0a));
  min-height: 100vh;
  color: var(--pf-text, var(--text-primary, #f2f2f2));
}
.sec1-dl { display: grid; grid-template-columns: 11rem 1fr; gap: .35rem .75rem; margin: .75rem 0 0; font-size: .88rem; }
.sec1-dl dt { color: var(--pf-muted, #888); margin: 0; }
.sec1-dl dd { margin: 0; color: var(--pf-text, #e8e8e8); }
.sec1 { padding: 1.25rem 0 3rem; }
.sec1__header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.sec1__title { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(1.7rem,3vw,2.4rem); margin: 0; font-weight: 500; }
.sec1__subtitle { margin: .25rem 0 0; color: var(--pf-muted, #a0a0a0); }
.sec1__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.sec1-section__title { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.25rem; margin: 0 0 .65rem; }
.sec1-panel { padding: 1rem; border-radius: 10px; background: var(--pf-surface, #141414); border: 1px solid var(--pf-border, #2a2a2a); }
.sec1-grid-2 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.sec1-check { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.sec1-check li { display: flex; gap: .55rem; align-items: flex-start; font-size: .86rem; }
.sec1-check input { margin-top: .2rem; }
.sec1-map {
  min-height: 12rem; border-radius: 10px; border: 1px dashed rgba(212,175,55,.35);
  background: radial-gradient(circle at 40% 45%, rgba(212,175,55,.1), transparent 50%), #101010;
  display: grid; place-items: center; text-align: center; padding: 1rem; color: #a0a0a0; font-size: .85rem;
}
.sec1-map-frame {
  width: 100%; min-height: 14rem; border: 0; border-radius: 10px; background: #101010;
}
.sec1-photos { display: grid; grid-template-columns: repeat(auto-fill,minmax(9rem,1fr)); gap: .65rem; }
.sec1-photos img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; border: 1px solid #2a2a2a; background: #111; }
.sec1-stat__value { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.6rem; color: #e8c547; }
.sec1-stat__label { font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; color: var(--pf-muted, #888); margin-top: .2rem; }
.sec1-list { margin: 0; padding-left: 1.1rem; display: grid; gap: .35rem; }
.sec1-photos {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: .65rem; margin-top: .5rem;
}
.sec1-photos img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; border: 1px solid #2a2a2a; background: #111; }
.sec1-offline-bar {
  position: sticky; top: 0; z-index: 30; padding: .55rem .85rem; background: #1a1508;
  border-bottom: 1px solid rgba(212,175,55,.35); color: #e8c547; font-size: .8rem;
}

/* Login page — minimal chrome: no module sidebar, no platform links */
.sec1-page--login .sec1-banner,
.sec1-page--login .sec1__actions {
  display: none;
}

.sec1-page--login .sec1__header {
  margin-bottom: 0.75rem;
}

.sec1-page--login .sec1__header .section__eyebrow::before,
.sec1-page--login .sec1__header .section__eyebrow::after {
  display: none;
}

.sec1-page--login .pf-crumb[hidden] {
  display: none !important;
}

/* MFA setup key sits on a light chip so inherited light text cannot vanish */
.sec1-mfa-secret {
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  word-break: break-all;
  padding: 0.5rem 0.75rem;
  display: inline-block;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 6px;
  background: #ffffff;
  color: #141414;
  border: 1px solid var(--pf-border, #2a2a2a);
}

.sec1-page--login .pf-content > .container {
  padding-top: 0.75rem;
}

/* Login page — fill the window on small screens; centered column on desktop */
@media (max-width: 900px) {
  .sec1-page--login .pf-content,
  .sec1-page--login .pf-content .container,
  .sec1-page--login .sec1,
  .sec1-page--login .sec1-banner,
  .sec1-page--login .sec1__header,
  .sec1-page--login #secPageRoot,
  .sec1-page--login #secPageRoot .sec1-section,
  .sec1-page--login #secPageRoot .sec1-form,
  .sec1-page--login #secPageRoot .sec1-panel {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (min-width: 901px) {
  .sec1-page--login .pf-content .container {
    max-width: 36rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sec1-page--login .sec1,
  .sec1-page--login .sec1-banner,
  .sec1-page--login .sec1__header,
  .sec1-page--login #secPageRoot {
    width: 100%;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
  }

  .sec1-page--login #secPageRoot {
    display: block;
  }

  .sec1-page--login #secPageRoot .sec1-section,
  .sec1-page--login #secPageRoot .sec1-form,
  .sec1-page--login #secPageRoot .sec1-panel {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }
}
