:root{--pss-navy:#001f3f;--pss-silver:#c0c0c0;--pss-bg:#f8fafc;--pss-border:#e5e7eb;--pss-text:#0f172a;--pss-muted:#475569}
.pss-training-wrap{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--pss-bg);border:1px solid var(--pss-border);border-radius:14px;padding:24px;max-width:1280px;margin:20px auto;box-shadow:0 12px 30px rgba(15,23,42,.08)}
.pss-training-header h2{margin:0 0 8px;color:var(--pss-navy)}.pss-training-header p{margin:0 0 16px;color:var(--pss-muted)}
.pss-training-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--pss-border);padding-bottom:8px;margin-bottom:16px}
.pss-training-tab,.pss-training-btn{border:1px solid var(--pss-navy);background:var(--pss-navy);color:#fff;padding:10px 16px;border-radius:999px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;margin:4px 4px 4px 0}
.pss-training-tab.active,.pss-training-tab:hover,.pss-training-btn:hover,.pss-training-btn.secondary{background:var(--pss-silver);color:#000;border-color:var(--pss-silver)}
.pss-training-panel{display:none}.pss-training-panel.active{display:block}.pss-training-panels{background:#fff;border:1px solid var(--pss-border);border-radius:14px;padding:18px}
.pss-training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.pss-training-card{background:#fff;border:1px solid var(--pss-border);border-radius:12px;padding:16px}
.pss-training-card h3{margin:0 0 8px;color:var(--pss-text)}.pss-training-card p{color:var(--pss-muted)}
.pss-training-field{margin-bottom:12px}.pss-training-field label{display:block;font-weight:700;margin-bottom:6px;color:var(--pss-text)}
.pss-training-field input,.pss-training-field textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px}
.pss-training-alert{padding:12px 14px;border-radius:10px;margin-bottom:14px;font-weight:700}.pss-training-alert.success{background:#ecfdf5;border:1px solid #10b981;color:#065f46}.pss-training-alert.error{background:#fef2f2;border:1px solid #ef4444;color:#7f1d1d}
.pss-training-table-wrap{overflow:auto}.pss-training-table{width:100%;border-collapse:collapse}.pss-training-table th,.pss-training-table td{padding:10px;border-bottom:1px solid var(--pss-border);text-align:left}.pss-training-table th{background:#f3f4f6}
.pss-secure-viewer{margin-top:12px;user-select:none;-webkit-user-select:none}.pss-view-only-note{font-size:12px;color:#64748b;margin-top:6px}


/* v5: full document view while preserving v3 admin manager */
.pss-full-document-viewer{
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.pss-training-document-frame{
  width:100% !important;
  height:min(82vh, 900px) !important;
  min-height:680px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#ffffff;
  display:block;
}
.pss-training-external-frame{
  height:min(70vh, 760px) !important;
  min-height:520px;
}
.pss-training-video{
  width:100%;
  max-height:82vh;
  border-radius:10px;
  background:#000;
}
.pss-image-fit-wrap{
  width:100%;
  max-height:82vh;
  overflow:auto;
  border:1px solid #e5e7eb;
  border-radius:10px;
  background:#fff;
  text-align:center;
}
.pss-training-image{
  max-width:100%;
  height:auto;
  object-fit:contain;
}
@media (max-width:768px){
  .pss-training-document-frame{
    height:78vh !important;
    min-height:520px;
  }
  .pss-training-external-frame{
    height:70vh !important;
    min-height:460px;
  }
}


/* v7 mobile accessibility, readability, progress, and full document fit */
.pss-training-wrap{font-size:18px;line-height:1.7}
.pss-training-card{font-size:18px}
.pss-training-card h3{font-size:24px;line-height:1.35}
.pss-training-header h2{font-size:32px}
.pss-training-header p,.pss-training-card p,.pss-view-only-note{font-size:17px}
.pss-training-btn,.pss-training-tab{font-size:16px;line-height:1.35}
.pss-training-field input,.pss-training-field textarea{font-size:17px}
.pss-progress-box{margin:12px 0 16px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}
.pss-progress-label{font-size:16px;margin-bottom:8px}
.pss-progress-track{width:100%;height:14px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-bottom:10px}
.pss-progress-fill{height:100%;background:#001f3f;border-radius:999px}
.pss-training-document-frame{width:100%!important;height:82vh!important;min-height:720px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;display:block}
.pss-training-video{width:100%;max-height:82vh;border-radius:10px;background:#000}
.pss-image-fit-wrap{width:100%;max-height:82vh;overflow:auto;border:1px solid #e5e7eb;border-radius:10px;background:#fff;text-align:center}
.pss-training-image{max-width:100%;height:auto;object-fit:contain}
.pss-training-panels,.pss-training-card,.pss-secure-viewer{max-width:100%}
@media (max-width:768px){
  .pss-training-wrap{width:100%;max-width:100%;margin:0;padding:12px;border-radius:0;font-size:18px;line-height:1.75}
  .pss-training-header h2{font-size:30px}
  .pss-training-card h3{font-size:24px}
  .pss-training-grid{grid-template-columns:1fr!important;gap:16px}
  .pss-training-panels{padding:10px;border-radius:10px}
  .pss-training-card{padding:14px;font-size:18px}
  .pss-training-tabs{display:grid;grid-template-columns:1fr}
  .pss-training-tab,.pss-training-btn{width:100%;text-align:center;padding:14px 16px;font-size:17px}
  .pss-training-document-frame{width:100%!important;height:78vh!important;min-height:620px}
  .pss-training-video{width:100%;max-height:78vh}
  .pss-training-table th,.pss-training-table td{font-size:16px;padding:10px}
}


/* v8 fullscreen/new-window reader and stronger mobile readability */
.pss-viewer-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 12px;
  position:sticky;
  top:0;
  z-index:5;
  background:#ffffff;
  padding:8px;
  border:1px solid #e5e7eb;
  border-radius:12px;
}
.pss-zoom-stage{
  width:100%;
  transition:transform .15s ease;
}
.pss-training-document-frame{
  width:100% !important;
  height:86vh !important;
  min-height:780px !important;
}
.pss-training-wrap{
  font-size:20px !important;
  line-height:1.85 !important;
}
.pss-training-card,
.pss-training-card p,
.pss-training-field input,
.pss-training-field textarea{
  font-size:20px !important;
}
.pss-training-card h3{
  font-size:28px !important;
}
.pss-training-header h2{
  font-size:36px !important;
}
.pss-training-btn,
.pss-training-tab{
  font-size:18px !important;
  min-height:48px;
}
@media(max-width:768px){
  .pss-training-wrap{
    font-size:20px !important;
    line-height:1.9 !important;
    padding:10px !important;
  }
  .pss-training-header h2{
    font-size:34px !important;
  }
  .pss-training-card h3{
    font-size:28px !important;
  }
  .pss-training-card,
  .pss-training-card p{
    font-size:20px !important;
  }
  .pss-training-document-frame{
    height:84vh !important;
    min-height:720px !important;
  }
  .pss-viewer-toolbar{
    position:relative;
    display:grid;
    grid-template-columns:1fr;
  }
  .pss-viewer-toolbar .pss-training-btn{
    width:100%;
    font-size:19px !important;
    padding:16px !important;
  }
}


/* v10 fixed video-link trainee playback */
.pss-training-video-frame{
  height:min(72vh, 720px) !important;
  min-height:420px !important;
  background:#000;
}
.pss-video-viewer .pss-viewer-toolbar{
  margin-bottom:10px;
}
@media(max-width:768px){
  .pss-training-video-frame{
    height:62vh !important;
    min-height:360px !important;
  }
}
