/* ========================================================================== */
/* 1SAFETY LEARNING V10 — unified course / lesson / test visual layer         */
/* Visual-only overrides. No controller, DB, auth or route changes.           */
/* ========================================================================== */

:root{
  --learn-yellow:#FFC400;
  --learn-yellow-soft:#FFF7D6;
  --learn-yellow-line:#E6B400;
  --learn-text:#111318;
  --learn-muted:#69717D;
  --learn-line:#E5E8EC;
  --learn-bg:#F7F8FA;
  --learn-green:#22B65B;
  --learn-red:#FF3B3B;
  --learn-radius:18px;
  --learn-shadow:0 8px 28px rgba(18,25,38,.045);
}

/* Common desktop density */
.rs-site .question-page,
.rs-site .course-page{
  font-family:'SF Pro Text',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  color:var(--learn-text)!important;
}
.rs-site .question-page{
  background:var(--learn-bg)!important;
}
.rs-site .question-page>.container.wrapper,
.rs-site .container.wrapper:has(.course-page){
  max-width:1500px!important;
}

/* ========================================================================== */
/* COURSE VIEW                                                                */
/* ========================================================================== */
.rs-site .course-page{
  gap:16px!important;
}
.rs-site .course-page>.course-article.card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:250px minmax(0,1fr)!important;
  gap:22px!important;
  margin:0!important;
  padding:14px!important;
  border:1px solid var(--learn-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--learn-shadow)!important;
  overflow:hidden!important;
}
.rs-site .course-article__image{
  width:250px!important;
  min-width:250px!important;
  aspect-ratio:16/10!important;
  overflow:hidden!important;
  border-radius:13px!important;
  margin:0!important;
}
.rs-site .course-article__image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
.rs-site .course-article__info{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(210px,280px)!important;
  grid-template-areas:
    "head action"
    "data action"
    "progress action"!important;
  column-gap:28px!important;
  row-gap:10px!important;
  align-content:center!important;
  padding:4px 8px 4px 0!important;
}
.rs-site .course-article__head{grid-area:head!important;min-width:0!important;display:block!important;}
.rs-site .course-article__title{
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  font-size:26px!important;
  line-height:1.17!important;
  letter-spacing:-.35px!important;
  font-weight:760!important;
  color:var(--learn-text)!important;
}
.rs-site .course-article__actions{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  display:flex!important;
  gap:8px!important;
}
.rs-site .course-article__actions button{
  width:36px!important;
  height:36px!important;
  padding:0!important;
  border:1px solid var(--learn-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rs-site .course-article__actions img,
.rs-site .course-article__actions svg{width:18px!important;height:18px!important;}
.rs-site .course-article__data{
  grid-area:data!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:8px 20px!important;
  margin:0!important;
  padding:0!important;
}
.rs-site .course-article__data>span{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  font-size:13px!important;
  line-height:1.35!important;
  color:var(--learn-muted)!important;
  white-space:nowrap!important;
}
.rs-site .course-article__data img{width:17px!important;height:17px!important;margin:0!important;opacity:.82!important;}
.rs-site .course-article__data strong{margin:0 0 0 2px!important;color:#20242A!important;font-weight:680!important;}
.rs-site .course-article__action{
  grid-area:action!important;
  align-self:center!important;
  padding-top:30px!important;
}
.rs-site .course-article__continue{
  width:100%!important;
  min-height:48px!important;
  padding:11px 18px!important;
  border:1px solid var(--learn-yellow-line)!important;
  border-radius:12px!important;
  background:var(--learn-yellow)!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:14px!important;
  font-weight:760!important;
}
.rs-site .course-article__continue:hover{filter:brightness(.985)!important;}
.rs-site .course-article__continue:active{background:var(--learn-yellow)!important;transform:translateY(1px)!important;}
.rs-site .course-article__stats{display:none!important;}
.rs-site .course-article__progress{grid-area:progress!important;max-width:640px!important;margin-top:1px!important;}
.rs-site .course-article__progress-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:6px!important;font-size:12px!important;color:var(--learn-muted)!important;}
.rs-site .course-article__progress-head strong{font-size:12px!important;color:#343A43!important;font-weight:720!important;}
.rs-site .course-article__progress-track{height:7px!important;border-radius:999px!important;background:#E9ECF0!important;overflow:hidden!important;}
.rs-site .course-article__progress-track>span{display:block!important;height:100%!important;border-radius:inherit!important;background:var(--learn-yellow)!important;}
.rs-site .course-page__box{
  padding:24px 28px!important;
  border:1px solid var(--learn-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rs-site .course-description{font-size:14px!important;line-height:1.58!important;color:#4A525D!important;}
.rs-site .course-page .h3{font-size:21px!important;line-height:1.25!important;font-weight:760!important;margin:0 0 16px!important;color:var(--learn-text)!important;text-transform:none!important;}
.rs-site .course-content__list{display:grid!important;gap:10px!important;}
.rs-site .course-module.module{
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--learn-line)!important;
  border-radius:14px!important;
  background:#fff!important;
}
.rs-site .module__summary{
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) 34px!important;
  align-items:center!important;
  gap:16px!important;
  padding:12px 14px!important;
  list-style:none!important;
}
.rs-site .module__summary::-webkit-details-marker{display:none!important;}
.rs-site .module__summary::after{
  content:'›'!important;
  position:static!important;
  width:32px!important;
  height:32px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #E3E6EA!important;
  border-radius:9px!important;
  background:#F7F8FA!important;
  color:#3F4650!important;
  font-size:22px!important;
  transform:rotate(90deg)!important;
  transition:transform .16s ease!important;
}
.rs-site .module__head[open]>.module__summary::after{transform:rotate(-90deg)!important;}
.rs-site .module__stats{display:flex!important;align-items:center!important;gap:7px!important;min-width:max-content!important;}
.rs-site .module-badge{
  min-height:26px!important;
  padding:4px 9px!important;
  border-radius:8px!important;
  background:#FFF4C5!important;
  color:#443700!important;
  font-size:12px!important;
  font-weight:700!important;
}
.rs-site .module__score{padding:4px 8px!important;border-radius:999px!important;background:#F1F3F5!important;color:#515A66!important;font-size:11px!important;font-weight:700!important;}
.rs-site .module__summary h3{margin:0!important;padding:0!important;font-size:16px!important;line-height:1.35!important;font-weight:700!important;color:#191D22!important;}
.rs-site .module__content{display:block!important;padding:14px!important;border-top:1px solid #EDF0F3!important;background:#FBFCFD!important;}
.rs-site .module__details{margin:0 0 12px!important;}
.rs-site .module-progress{font-size:12px!important;color:var(--learn-muted)!important;}
.rs-site .module-progress__bar{height:6px!important;margin:6px 0 0!important;border-radius:999px!important;background:#E8EBEF!important;overflow:hidden!important;}
.rs-site .module-progress__bar span{display:block!important;height:100%!important;border-radius:inherit!important;background:var(--learn-yellow)!important;}
.rs-site .module__description{font-size:13px!important;line-height:1.5!important;color:#58616D!important;}
.rs-site .module__description>div{margin-bottom:12px!important;}
.rs-site .module__themes>p{margin:8px 0 8px!important;font-size:13px!important;font-weight:700!important;color:#252A31!important;}
.rs-site .module-slim{
  margin:7px 0!important;
  padding:0!important;
  border:1px solid #E1E5E9!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.rs-site .module-slim__head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) minmax(120px,170px)!important;
  align-items:center!important;
  gap:12px!important;
  padding:11px 12px!important;
}
.rs-site .module-slim__head>div:first-child{display:flex!important;align-items:center!important;gap:7px!important;}
.rs-site .module-slim__head h3{margin:0!important;padding:0!important;font-size:14px!important;line-height:1.35!important;font-weight:680!important;color:#22272D!important;}
.rs-site .module-slim__score{font-size:11px!important;font-weight:700!important;color:#515A66!important;background:transparent!important;}
.rs-site .module-slim__actions,
.rs-site .module__actions{display:flex!important;align-items:center!important;gap:8px!important;padding:0 12px 11px!important;margin:0!important;}
.rs-site .module__actions{padding:10px 14px 12px!important;border-top:1px solid #EEF1F3!important;}
.rs-site .module-continue,
.rs-site .module-repeat,
.rs-site .course-page .btn-bordered{
  min-height:36px!important;
  padding:8px 12px!important;
  border-radius:10px!important;
  box-shadow:none!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
.rs-site .module-continue{background:var(--learn-yellow)!important;border:1px solid var(--learn-yellow-line)!important;color:#111!important;}
.rs-site .module-repeat,
.rs-site .course-page .btn-bordered{background:#fff!important;border:1px solid #D5DAE0!important;color:#292E35!important;}
.rs-site .module-continue:active{background:var(--learn-yellow)!important;}

/* ========================================================================== */
/* TEST QUESTION                                                              */
/* ========================================================================== */
.rs-site .rs-test-question{padding:18px 0 48px!important;min-height:70vh!important;}
.rs-site .rs-test-question .question-view{width:100%!important;max-width:none!important;}
.rs-site .rs-test-question .question__head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin:0 0 12px!important;
  padding:16px 18px!important;
  border:1px solid var(--learn-line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.rs-site .rs-test-question .question__title{margin:0!important;font-size:17px!important;line-height:1.35!important;font-weight:720!important;color:#20242A!important;}
.rs-site .rs-test-question .question__head-actions{display:flex!important;align-items:center!important;gap:10px!important;}
.rs-site .rs-test-question .question__remain,
.rs-site .rs-test-question .question__timer{
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:7px 11px!important;
  border:1px solid #E1E5E9!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#353C46!important;
  font-size:13px!important;
  font-weight:620!important;
}
.rs-site .rs-test-question .question__timer{border-color:#EBC34A!important;background:#FFF9E8!important;color:#A87500!important;}
.rs-site .rs-test-question .question__timer img{width:18px!important;height:18px!important;}
.rs-site .rs-test-question .question__btn-end{
  min-height:38px!important;
  padding:7px 12px!important;
  border:1px solid #FF6666!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#F12B2B!important;
  font-size:12px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
.rs-site .rs-test-question .question__btn-end:active{background:#FFF6F6!important;}
.rs-site .rs-question-progress{height:7px!important;margin:0 0 12px!important;border-radius:999px!important;background:#E7EAEE!important;overflow:hidden!important;}
.rs-site .rs-question-progress>*{background:var(--learn-yellow)!important;}
.rs-site .rs-test-question .question__list{
  display:flex!important;
  justify-content:center!important;
  gap:9px!important;
  margin:0 0 14px!important;
  padding:0!important;
  list-style:none!important;
  overflow-x:auto!important;
}
.rs-site .rs-test-question .question__list li{flex:0 0 auto!important;}
.rs-site .rs-test-question .question__list input,
.rs-site .rs-test-question .question__list button{
  width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border-radius:50%!important;border:1px solid #E1E5E9!important;background:#F1F3F5!important;color:#626A75!important;font-size:12px!important;font-weight:650!important;box-shadow:none!important;
}
.rs-site .rs-test-question .question-card{
  max-width:1080px!important;
  margin:0 auto!important;
  padding:28px 28px 26px!important;
  border:1px solid var(--learn-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--learn-shadow)!important;
}
.rs-site .rs-test-question .question-card__number{margin:0 0 14px!important;padding:0!important;background:none!important;color:#59616C!important;font-size:13px!important;font-weight:650!important;}
.rs-site .rs-test-question .question-card__title{margin:0 0 18px!important;font-size:24px!important;line-height:1.35!important;letter-spacing:-.25px!important;font-weight:760!important;color:#171A1F!important;}
.rs-site .rs-test-question .question-card__answers{display:grid!important;gap:10px!important;margin:0!important;padding:0!important;list-style:none!important;}
.rs-site .rs-test-question .question-card__answers>.text{display:block!important;margin:0 0 2px!important;color:#6A727E!important;font-size:13px!important;font-weight:520!important;}
.rs-site .rs-test-question .question-card__answer{
  min-height:58px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 16px!important;
  border:1px solid #DCE1E6!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#2A2F36!important;
  font-size:15px!important;
  line-height:1.4!important;
  transition:border-color .15s ease,background .15s ease!important;
}
.rs-site .rs-test-question .question-card__answer:hover{border-color:#C8CED5!important;background:#FCFCFD!important;}
.rs-site .rs-test-question .question-card__answer:has(input:checked){border-color:var(--learn-yellow-line)!important;background:#FFF9E6!important;box-shadow:inset 0 0 0 1px rgba(255,196,0,.18)!important;}
.rs-site .rs-test-question .question-card__answer input{accent-color:var(--learn-yellow)!important;}
.rs-site .rs-test-question .question-card__actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;margin-top:18px!important;}
.rs-site .rs-test-question .question-card__btn-next,
.rs-site .rs-test-question .question-btn--next{
  min-width:260px!important;min-height:48px!important;padding:11px 18px!important;border:1px solid var(--learn-yellow-line)!important;border-radius:11px!important;background:var(--learn-yellow)!important;color:#111!important;font-size:14px!important;font-weight:760!important;box-shadow:none!important;
}
.rs-site .rs-test-question .question-card__btn-next:active,
.rs-site .rs-test-question .question-btn--next:active{background:var(--learn-yellow)!important;transform:translateY(1px)!important;}

/* ========================================================================== */
/* TEST RESULT                                                                */
/* ========================================================================== */
.rs-site .question-page .question-view--completed{width:100%!important;max-width:1120px!important;margin:0 auto!important;}
.rs-site .question-page .question-complete{
  padding:34px 32px!important;
  border:1px solid var(--learn-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:var(--learn-shadow)!important;
  text-align:center!important;
}
.rs-site .question-page .question-complete__title{max-width:800px!important;margin:0 auto 24px!important;font-size:30px!important;line-height:1.2!important;font-weight:780!important;color:#111!important;}
.rs-site .question-page .question-complete__stats{max-width:920px!important;margin:0 auto!important;display:grid!important;grid-template-columns:170px minmax(0,1fr)!important;gap:26px!important;align-items:center!important;text-align:left!important;}
.rs-site .question-page .progressbar{width:136px!important;height:136px!important;}
.rs-site .question-page .question-complete__percent-info .percent{font-size:34px!important;font-weight:800!important;}
.rs-site .question-page .question-complete__stats-list{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important;}
.rs-site .question-page .question-complete__stats-item{min-height:88px!important;border-radius:12px!important;background:#FAFBFC!important;box-shadow:none!important;}
.rs-site .question-page .question-complete__text{max-width:760px!important;margin:18px auto 0!important;text-align:center!important;font-size:14px!important;color:#65707E!important;}
.rs-site .question-page .question-complete__actions{justify-content:center!important;margin-top:20px!important;}
.rs-site .question-page .question-complete__actions .question-btn--next{background:var(--learn-yellow)!important;border-color:var(--learn-yellow-line)!important;box-shadow:none!important;}
.rs-site .question-page .question__results,
.rs-site .question-page .question-card--completed{border-color:var(--learn-line)!important;box-shadow:none!important;}

/* ========================================================================== */
/* TEST START                                                                 */
/* ========================================================================== */
.rs-site .rs-test-hero,
.rs-site .test-card.rs-test-hero{border-radius:18px!important;border:1px solid var(--learn-line)!important;box-shadow:var(--learn-shadow)!important;}
.rs-site .rs-test-primary,
.rs-site .test-card__start-test.rs-test-primary{background:var(--learn-yellow)!important;border-color:var(--learn-yellow-line)!important;}
.rs-site .rs-test-primary:active,
.rs-site .test-card__start-test.rs-test-primary:active{background:var(--learn-yellow)!important;}

/* ========================================================================== */
/* MOBILE                                                                     */
/* ========================================================================== */
@media(max-width:825px){
  .rs-site .container.wrapper:has(.course-page),
  .rs-site .question-page>.container.wrapper{padding-left:12px!important;padding-right:12px!important;}

  .rs-site .course-page>.course-article.card{
    display:block!important;
    padding:0!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .rs-site .course-article__image{width:100%!important;min-width:0!important;aspect-ratio:16/9!important;border-radius:0!important;}
  .rs-site .course-article__info{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    padding:16px 14px 14px!important;
  }
  .rs-site .course-article__title{font-size:22px!important;line-height:1.22!important;}
  .rs-site .course-article__actions{top:10px!important;right:10px!important;}
  .rs-site .course-article__data{gap:8px 14px!important;}
  .rs-site .course-article__data>span{font-size:12px!important;}
  .rs-site .course-article__action{order:5!important;width:100%!important;padding:0!important;}
  .rs-site .course-article__progress{order:4!important;width:100%!important;max-width:none!important;}
  .rs-site .course-article__continue{min-height:50px!important;}
  .rs-site .course-page__box{padding:18px 14px!important;border-radius:16px!important;background:#fff!important;border:1px solid var(--learn-line)!important;}
  .rs-site .course-description{font-size:14px!important;}
  .rs-site .course-page .h3{font-size:20px!important;}
  .rs-site .module__summary{grid-template-columns:1fr 32px!important;gap:6px 9px!important;padding:12px!important;}
  .rs-site .module__stats{grid-column:1!important;grid-row:1!important;}
  .rs-site .module__summary h3{grid-column:1!important;grid-row:2!important;font-size:15px!important;}
  .rs-site .module__summary::after{grid-column:2!important;grid-row:1/3!important;align-self:center!important;}
  .rs-site .module__content{padding:12px!important;}
  .rs-site .module-slim__head{grid-template-columns:1fr!important;gap:7px!important;padding:11px!important;}
  .rs-site .module-slim__head h3{font-size:14px!important;}
  .rs-site .module-slim__actions,.rs-site .module__actions{display:grid!important;grid-template-columns:1fr!important;padding:0 11px 11px!important;}
  .rs-site .module__actions{padding-top:9px!important;}
  .rs-site .module-continue,.rs-site .module-repeat{width:100%!important;}

  .rs-site .rs-test-question{padding:12px 0 88px!important;}
  .rs-site .rs-test-question .question__head{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:10px!important;
    margin:0 0 12px!important;
    padding:0 0 14px!important;
    border:0!important;
    border-bottom:1px solid var(--learn-line)!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .rs-site .rs-test-question .question__title{grid-column:1/-1!important;font-size:13px!important;color:#6C7480!important;font-weight:600!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .rs-site .rs-test-question .question__head-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;}
  .rs-site .rs-test-question .question__remain{justify-self:start!important;min-height:46px!important;padding:9px 14px!important;border-radius:11px!important;background:#fff!important;font-size:15px!important;}
  .rs-site .rs-test-question .question__timer{justify-self:end!important;min-height:46px!important;padding:9px 14px!important;border-radius:11px!important;font-size:15px!important;}
  .rs-site .rs-test-question .question__btn-end--desktop{display:none!important;}
  .rs-site .rs-test-question .question__btn-end--mobile,
  .rs-site .rs-test-question .question__btn-end:not(.question__btn-end--desktop){grid-column:1/-1!important;width:100%!important;min-height:48px!important;border-radius:11px!important;font-size:14px!important;}
  .rs-site .rs-question-progress{height:7px!important;margin-bottom:13px!important;}
  .rs-site .rs-test-question .question__list{display:none!important;}
  .rs-site .rs-test-question .question-card{padding:20px 14px 16px!important;border-radius:16px!important;box-shadow:none!important;}
  .rs-site .rs-test-question .question-card__number{font-size:12px!important;margin-bottom:10px!important;}
  .rs-site .rs-test-question .question-card__title{font-size:22px!important;line-height:1.33!important;margin-bottom:16px!important;}
  .rs-site .rs-test-question .question-card__answer{min-height:64px!important;padding:13px 14px!important;border-radius:12px!important;font-size:15px!important;}
  .rs-site .rs-test-question .question-card__actions{display:block!important;margin-top:16px!important;}
  .rs-site .rs-test-question .question-card__btn-next,
  .rs-site .rs-test-question .question-btn--next{width:100%!important;min-width:0!important;min-height:52px!important;border-radius:11px!important;font-size:15px!important;}

  .rs-site .question-page .question-complete{padding:24px 14px!important;border-radius:18px!important;}
  .rs-site .question-page .question-complete__title{font-size:24px!important;margin-bottom:18px!important;}
  .rs-site .question-page .question-complete__stats{grid-template-columns:1fr!important;gap:14px!important;}
  .rs-site .question-page .question-complete__percent{min-height:128px!important;}
  .rs-site .question-page .question-complete__stats-list{grid-template-columns:1fr 1fr!important;}
  .rs-site .question-page .question-complete__actions{display:grid!important;grid-template-columns:1fr!important;}
  .rs-site .question-page .question-complete__actions .question-btn{width:100%!important;justify-content:center!important;}
}
