.hsa-dashboard,.hsa-admin-progress{font-family:inherit;color:#172b3f}
.hsa-dashboard-head{margin-bottom:22px}
.hsa-dashboard-head h2{margin:.2em 0 0;color:#0f2f4f}
.hsa-dashboard .hsa-dashboard-head h2,.hsa-admin-progress .hsa-dashboard-head h2{color:#fff!important}
.hsa-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;color:#e67e22}
.hsa-card,.hsa-complete-box,.hsa-overall-progress,.hsa-group-card{border:1px solid #dce5ed;border-radius:14px;background:#fff;padding:18px 20px;box-sizing:border-box}
.hsa-continue-card{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.hsa-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:10px 16px;border-radius:8px;text-decoration:none!important;border:1px solid #0f2f4f;background:#fff;color:#0f2f4f;font-weight:700;cursor:pointer}
.hsa-button-primary{background:#e67e22;border-color:#e67e22;color:#fff!important}
.hsa-complete-box{margin:28px 0;text-align:center;background:#f8fafc}
.hsa-complete-box form{margin:0 0 8px}
.hsa-complete-box small,.hsa-is-completed span{display:block;margin-top:8px;color:#667788}
.hsa-is-completed{background:#eef8f4;border-color:#cfe7dd;color:#2f7d68}
.hsa-success{margin:0 0 12px;color:#2f7d68;font-weight:700}
.hsa-notice{padding:14px 16px;border-left:4px solid #e67e22;background:#fff7ef}
.hsa-overall-progress{margin-bottom:20px}
.hsa-overall-progress>div:first-child{display:flex;justify-content:space-between;gap:12px}
.hsa-progress-track{height:8px;background:#e8eef3;border-radius:999px;overflow:hidden;margin:10px 0}
.hsa-progress-track span{display:block;height:100%;background:#0f2f4f;border-radius:999px}
.hsa-group-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0 28px}
.hsa-group-card{padding:14px}
.hsa-group-card strong,.hsa-group-card span,.hsa-group-card small{display:block}
.hsa-group-card span{margin-top:6px;font-size:14px}
.hsa-group-card small{color:#69798a}
.hsa-training-list h3{color:#0f2f4f}
.hsa-training-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid #e6edf2;color:inherit;text-decoration:none!important}
.hsa-training-row:hover{opacity:.8}
.hsa-training-row em{font-style:normal;white-space:nowrap;font-size:13px;font-weight:700}
.hsa-status-completed{color:#2f7d68}
.hsa-status-in_progress{color:#e67e22}
.hsa-status-not_started{color:#7a8793}
.hsa-optional{display:inline-block;margin-left:8px;padding:2px 6px;border-radius:999px;background:#eef3f7;color:#637485}
.hsa-table-wrap{overflow-x:auto}
.hsa-table{width:100%;border-collapse:collapse;background:#fff}
.hsa-table th,.hsa-table td{padding:12px 10px;border-bottom:1px solid #e4eaf0;text-align:left;white-space:nowrap}
.hsa-table th{background:#0f2f4f;color:#fff}
.hsa-stale{color:#b26a00;font-weight:700}
.hsa-stale-strong{color:#a33a2b;font-weight:700}
.hsa-login-status{display:flex;align-items:center;gap:12px}
.hsa-login-status a{text-decoration:none}
@media(max-width:900px){.hsa-group-grid{grid-template-columns:1fr 1fr}.hsa-training-row{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:600px){.hsa-group-grid{grid-template-columns:1fr}.hsa-card,.hsa-complete-box,.hsa-overall-progress,.hsa-group-card{padding:15px}.hsa-button{width:100%;box-sizing:border-box}}

/* Ver.0.2.1｜確認テスト */
.hsa-quiz{margin:32px 0;border:1px solid #dce5ed;border-radius:14px;background:#fff;padding:22px;box-sizing:border-box;color:#172b3f}
.hsa-quiz-head{margin-bottom:20px}
.hsa-quiz-head h2{margin:.25em 0 .4em;color:#fff!important}
.hsa-quiz-head p{margin:.4em 0}
.hsa-quiz-note{padding:10px 12px;background:#f7fafc;border-radius:8px;color:#667788;font-size:14px}
.hsa-quiz-question{margin:0 0 22px;padding:18px;border:1px solid #e2e9ef;border-radius:12px}
.hsa-quiz-question legend{padding:0 8px;font-weight:700;color:#0f2f4f}
.hsa-quiz-question legend span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:8px;border-radius:50%;background:#0f2f4f;color:#fff;font-size:12px}
.hsa-quiz-options{display:grid;gap:10px;margin-top:12px}
.hsa-quiz-options label{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid #dce5ed;border-radius:9px;cursor:pointer;background:#fff}
.hsa-quiz-options label:hover{background:#f7fafc}
.hsa-quiz-options input{margin-top:.25em}
.hsa-quiz-submit{margin-top:2px}
.hsa-quiz-result{margin:0 0 20px;padding:16px 18px;border-radius:10px;border:1px solid}
.hsa-quiz-result strong,.hsa-quiz-result span{display:block}
.hsa-quiz-result span{margin-top:4px}
.hsa-quiz-result p{margin:.5em 0 0}
.hsa-quiz-pass{background:#eef8f4;border-color:#cfe7dd;color:#256a58}
.hsa-quiz-fail{background:#fff7ef;border-color:#f1d3b5;color:#8b541d}
.hsa-quiz-feedback{display:grid;gap:10px;margin-bottom:22px}
.hsa-quiz-feedback-row{padding:14px 16px;border-radius:9px;background:#f8fafc;border-left:4px solid #9aa8b5}
.hsa-quiz-feedback-row.is-correct{border-left-color:#2f7d68}
.hsa-quiz-feedback-row.is-wrong{border-left-color:#d97a24}
.hsa-quiz-feedback-row p{margin:.4em 0 0}
.hsa-quiz-feedback-answer{font-size:14px;color:#40566b}
.hsa-quiz-feedback-correct{font-size:14px;font-weight:700;color:#256a58}
.hsa-quiz-feedback-explanation{padding-top:4px;color:#40566b}
.hsa-quiz-required-lock{border-color:#f1d3b5;background:#fffaf4}
@media(max-width:600px){.hsa-quiz{padding:16px}.hsa-quiz-question{padding:14px}.hsa-quiz-options label{padding:11px}}

/* Ver.0.2.4｜MY LEARNING 研修一覧アコーディオン */
.hsa-training-accordion{display:grid;gap:10px;margin-top:14px}
.hsa-training-group{border:1px solid #dce5ed;border-radius:12px;background:#fff;overflow:hidden}
.hsa-training-group summary{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;
  padding:15px 18px;cursor:pointer;list-style:none;color:#0f2f4f;background:#f8fafc
}
.hsa-training-group summary::-webkit-details-marker{display:none}
.hsa-training-group summary::before{content:'＋';grid-column:3;grid-row:1;color:#0f2f4f;font-weight:700}
.hsa-training-group[open] summary::before{content:'−'}
.hsa-training-group-title{font-weight:700}
.hsa-training-group-meta{font-size:13px;color:#53687b;white-space:nowrap}
.hsa-training-group-meta small{display:inline;margin-left:8px;color:#e67e22}
.hsa-training-group-percent{font-size:13px;font-weight:700;color:#0f2f4f;white-space:nowrap}
.hsa-training-group summary::before{justify-self:end}
.hsa-training-group summary .hsa-training-group-percent{grid-column:2;grid-row:1}
.hsa-training-group-body{padding:0 18px 8px}
.hsa-training-group-body .hsa-training-row:last-child{border-bottom:0}
@media(max-width:700px){
  .hsa-training-group summary{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:14px}
  .hsa-training-group-title{grid-column:1;grid-row:1}
  .hsa-training-group summary::before{grid-column:2;grid-row:1}
  .hsa-training-group-meta{grid-column:1;grid-row:2;white-space:normal}
  .hsa-training-group summary .hsa-training-group-percent{grid-column:2;grid-row:2}
  .hsa-training-group-body{padding:0 14px 6px}
}

/* Ver.0.2.5｜ログイン状態・ログイン導線 */
.hsa-login-status{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin:0 0 20px;padding:11px 14px;border:1px solid #dce5ed;border-radius:10px;
  background:#f8fafc;color:#40566b;font-size:14px;box-sizing:border-box
}
.hsa-login-status span{display:flex;align-items:center;gap:6px;min-width:0}
.hsa-login-status strong{color:#0f2f4f}
.hsa-login-status.hsa-is-logged-in i{
  display:inline-block;width:8px;height:8px;border-radius:50%;background:#2f7d68;flex:0 0 auto
}
.hsa-login-status>a:not(.hsa-button){color:#0f2f4f;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.hsa-login-prompt{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0
}
.hsa-login-prompt>span{line-height:1.7}
.hsa-login-prompt .hsa-button{flex:0 0 auto}
@media(max-width:600px){
  .hsa-login-status,.hsa-login-prompt{align-items:stretch;flex-direction:column}
  .hsa-login-status .hsa-button,.hsa-login-prompt .hsa-button{width:100%}
}
