@charset "UTF-8";

@import url("font.css");

/* =========================================================
   Reset / Base
========================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color: #000 !important;
  border: 1px solid #ced4da;
  transition: background-color 9999s ease-out 0s;
}

input[type="password"] {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}

.contents {
  padding: 32px 24px 60px;
  background: var(--bg-soft);
  height: 100vh;
}

.container-fluid {
  min-height: calc(100vh - (1.625rem * 2));
  padding-left: 30px;
  padding-right: 30px;
}

.vertical-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100vh - (1.625rem * 2));
}

.btn-lg {
  font-size: 18px;
}

.pr0 {
  padding-right: 0;
}

.pr-30 {
  padding-right: 30px;
}

.inline-area {
  display: inline-flex;
  align-items: center;
}

.txt-pointer,
.text-pointer {
  cursor: pointer;
}

.fst-italic {
  font-style: italic;
}

.font20 {
  font-size: 20px;
}
.font24 {
  font-size: 24px;
}
.font30 {
  font-size: 30px;
}
.font36 {
  font-size: 36px;
}
.font48 {
  font-size: 48px;
}

/* =========================================================
   Width Utility
========================================================= */
.w100 {
  width: 100px;
}
.w150 {
  width: 150px;
}
.w200 {
  width: 200px;
}
.w250 {
  width: 250px;
}
.w300 {
  width: 300px;
}
.w350 {
  width: 350px;
}
.w400 {
  width: 400px;
}

/* =========================================================
   Color Utility
========================================================= */
.c-blue {
  color: var(--blue);
}
.c-red {
  color: var(--red);
}
.c-gray {
  color: var(--gray);
}

/* =========================================================
   Form
========================================================= */
.form-check {
  padding-left: 0;
}

.form-check-label,
.form-check-text {
  cursor: pointer;
  font-size: 14px;
  color: #6c757d;
  font-weight: 500;
}

.form-check-input {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  top: 2px;
  margin-top: 0;
  margin-left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  cursor: pointer;

}

.form-check-input:checked {
  background-color: #15AABC !important;
  border-color: #15AABC !important;
}

.form-check-input:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 7px;
  height: 11px;
  border: solid #fff;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

.form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(21, 170, 188, 0.2);
}

/* 포커스 시 */
.form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(21, 170, 188, 0.25);
  border-color: #15AABC;
}

.form-check .form-check-input{
  position: relative;
  top: 3px;
  margin-right: 3px;
}
.form-floating {
  position: relative;
  margin-bottom: 20px;
}

.form-floating > .form-control {
  padding: 2.7rem 0.75rem 1.2rem 0.75rem;
}
.form-control-lg{
  font-size: 16px;
  height: auto;
}
.form-floating label {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  padding: 0.5rem 0.75rem 2rem 0.75rem;
  font-size: 14px;
  font-weight: 700;
}

/* =========================================================
   Search / List
========================================================= */
.list-search-box {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  align-self: stretch;
  text-align: center;
  gap: 10px;
  margin-bottom: 20px;
  border-radius: 16px;
  padding: 12px 10px;
  background: #fff;
  border: 1px solid #e3e6f0;
}

.list-search-box .search-keyword-area {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

.list-search-box .search-keyword-area.left {
  justify-content: flex-start;
}
.list-search-box .search-keyword-area .tickets{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
}
.list-search-box .search-keyword-area .tickets .tickets-title{
  padding-left: 10px;
}
.list-search-box .search-keyword-area .tickets .list-search-box .form-select{
  min-width: 500px;
}
.list-search-box .search-keyword-area.justify-between {
  justify-content: space-between;
}

.list-search-box .search-keyword-area.column {
  flex-direction: column;
  gap: 10px;
}

.list-search-box .form-control,
.list-search-box .form-select {
  height: 41px;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.list-search-box .form-select {
  width: auto;
  min-width: 200px;
  display: inline-block;
}

.list-search-box .search-keyword-area .btn-danger,
.list-search-box .search-btn-area .btn-primary,
.list-search-box .btn-danger,
.list-search-box .btn-primary,
.list-search-box .btn-outline-primary {
  width: 100px;
}

.list-search-box .btn-danger,
.list-search-box .btn-primary,
.list-search-box .btn-outline-primary {
  height: 40px;
  line-height: 40px;
  padding: 0;
  font-size: 15px;
}

.list-search-box .search-btn-area {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 40px;
}

.list-search-box .search-btn-area .btn i {
  padding-right: 10px;
}

.list-search-box .search-btn-area .btn-primary.btn-add,
.list-search-box .search-btn-area .btn-primary {
  height: 40px;
  width: 100px;
  font-weight: 600;
}

.list-search-box .search-btn-area .btn-file-upload .btn-primary {
  position: relative;
  top: 4px;
  width: 150px;
}

.list-search-box .form-check-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.list-search-box .form-check-btn label {
  margin: 0;
  font-size: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.list-search-box .form-check-btn .form-check-input {
  top:0px;
}

.list-search-box input[type="date"] {
  width: 20%;
  max-width: 150px;
}

.list-search-box .form-check-btn.deadlin {
  width: 600px;
  justify-content: flex-start;
}

.list-guide-box {
  border-radius: calc(0.5rem - 1px);
  margin-bottom: 20px;
  color: #0ea289;
  padding: 15px 10px 13px;
  text-align: center;
  background: #ebfffd;
  border: 1px solid #65d6c4;
}

.list-guide-box strong {
  color: #0060e6;
}

.list-form-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: stretch;
  gap: 20px;
}

.list-form-line {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 8px;
}
.list-form-line.v-top{
  align-items: flex-start;
}

.list-form-line label {
  width: 150px;
  text-align: left;
  color: var(--dark);
}

.list-form-line select {
  width: 100%;
}

.date-range {
  display: flex;
  align-items: center;
  gap: 10px;
}

.date-range .date-input {
  position: relative;
  display: flex;
  align-items: center;
}

.date-range .date-input input[type="date"] {
  height: 40px;
  max-width: 150px;
  min-width: 150px;
  padding: 0 6px 0 12px;
  border: 1px solid #dbe3ee;
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
  border-radius: 0.323rem;
  color: #374151;
  outline: none;
  transition: all 0.2s ease;
}

.date-range .date-input input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.date-range .date-input input:disabled{
  background: #909090;
}

.date-range .date-separator {
  font-size: 14px;
  color: #6b7280;
}
.date-range .date-search-btn:hover {
  background: #1d4ed8;
}

/* =========================================================
   Suggestions
========================================================= */
.linline-align-area {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 30px;
  margin: 0;
  padding: 0;
}

.linline-align-area.gap10 {
  gap: 10px;
}

.linline-align-area li {
  position: relative;
}

.linline-align-area li:nth-child(3) .suggestions-box {
  right: 0;
}

.linline-align-area .form-check-inline {
  width: 60px;
  margin-right: 0;
}

.suggestions-box {
  border: 1px solid #ccc;
  max-height: 150px;
  overflow-y: auto;
  background-color: #fff;
  position: absolute;
  top: 30px;
  width: 100%;
  min-width: 300px;
  max-width: 300px;
  display: none;
  z-index: 1000;
}

.suggestions-box div {
  padding: 8px;
  cursor: pointer;
}

.suggestions-box div:hover {
  background-color: #f0f0f0;
}

/* =========================================================
   File Upload
========================================================= */
.btn-file-upload {
  display: block;
}

.btn-file-upload input[type="file"],
.filebox input[type="file"],
.btn-filebox input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.filebox {
  float: left;
  margin-right: 20px;
}

.filebox label {
  display: inline-block;
  padding: 0.5em 0.75em;
  color: #6e707e;
  font-size: inherit;
  line-height: normal;
  vertical-align: middle;
  background-color: #fdfdfd;
  cursor: pointer;
  border: 1px solid #d1d3e2;
  border-bottom-color: #e2e2e2;
  border-radius: 0.25em;
  margin: 0;
}

.btn-filebox label {
  cursor: pointer;
  margin-bottom: 0;
}

.label-ex-text {
  display: inline-block;
  font-size: 12px;
}

.file-uplode-box {
  width: 100%;
  text-align: left;
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

.file-uplode-box .thumb-display {
  margin: 0;
}

.file-uplode-box .thumb-display.store {
  width: 130px;
  height: 90px;
}

.file-uplode-box .thumb-display.pc {
  width: 120px;
  height: 60px;
}

.file-uplode-box .thumb-display.mo {
  width: 50px;
  height: 60px;
}

.file-uplode-box .btn-file-uplode label {
  margin-bottom: 0;
  width: auto;
}

.file-uplode-box #file-uplode,
.file-uplode-box #banner-image {
  display: none;
}

/* =========================================================
   Dashboard
========================================================= */
.dashboard-warp {
  padding-top: 10px;
  margin-top: 10px;
}

.dashboard-warp .card-header {
  padding: 1.8rem 1.25rem 0.5rem;
  border-bottom: none;
  background: #fff;
}

.dashboard-warp .card-header .card-head-tit {
  padding: 0;
}

.dashboard-warp .card-header .card-head-tit h5 {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
}

.dashboard-warp .card-header .card-head-tit a {
  text-decoration: underline;
  font-size: 14px;
}

.dashboard-cont {
  display: flex;
  flex-wrap: wrap;
  min-height: 145px;
}

.dashboard-cont .cont-stats-box {
  width: 50%;
  text-align: center;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dashboard-cont .cont-stats-box p {
  margin-bottom: 10px;
  font-size: 1rem;
  color: #005e4f;
}

.dashboard-cont .cont-stats-box .stats-area {
  display: inline-block;
  background: #f4fffe;
  width: 90%;
  padding: 30px 0;
  border-radius: 30px;
}

.dashboard-cont .cont-stats-box .stats-box {
  font-size: 2rem;
  color: #005e4f;
}

.dashboard-cont .cont-stats-box .stats-box span {
  font-size: 2.5rem;
  font-weight: 700;
}

.dashboard-cont .cont-stats-box .stats-box em {
  font-size: 1.8rem;
  position: relative;
  top: -3px;
  font-style: normal;
}

.dashboard-cont .soon-user-box {
  width: 100%;
}

.dashboard-cont .soon-user-box p {
  color: var(--dark);
  margin-bottom: 2px;
}

.dashboard-cont .soon-user-box p span {
  display: block;
  padding-left: 20px;
  text-align: left;
}

.dashboard-cont .soon-user-box p span::before {
  content: "-";
  padding-right: 5px;
}

.dashboard-cont .soon-user-box .soon-user-add::before {
  content: "...";
  position: relative;
  top: -3px;
  display: block;
  line-height: 10px;
  text-align: center;
}

.dashboard-ranking .ranking-area .ranking-area-lst {
  width: 94%;
  margin: 0 3%;
}

.dashboard-ranking .ranking-area .ranking-area-lst tr:last-child {
  padding-bottom: 0;
}

.dashboard-ranking .ranking-area .ranking-area-lst tr td {
  line-height: 40px;
  padding-bottom: 5px;
}

.dashboard-ranking .ranking-area .ranking-area-lst tr td:nth-child(1) {
  font-weight: 700;
}

.dashboard-ranking .ranking-area .ranking-area-lst tr td:nth-child(1) strong {
  font-size: 18px;
  font-family: "Helvetica Neue";
  position: relative;
  top: 1px;
}

.dashboard-ranking .ranking-area .ranking-area-lst tr td:nth-child(3) {
  text-align: right;
}

.dashboard-ranking .ranking-area .ranking-lst-user {
  margin-bottom: 0;
}

.dashboard-ranking .ranking-area .ranking-lst-user dt {
  width: 40px;
  height: 40px;
  border-radius: 40px;
  margin-right: 10px;
  overflow: hidden;
  border: 1px solid #f2f2f2;
  float: left;
  background: url(/images/profile_thumb.jpg);
  background-size: cover;
}

.dashboard-ranking .ranking-area .ranking-lst-user dt.top {
  border-color: #4e73df;
}

.dashboard-ranking .ranking-area .ranking-lst-user dd {
  margin: 0;
  font-size: 14px;
}

.dashboard-ranking .ranking-area .ranking-lst-user dt img {
  width: 100%;
}

.dashboard-table-wrapper {
  height: 610px;
  overflow-x: hidden;
  overflow-y: scroll;
  border: 1px solid #e3e6f0;
  border-right: none;
}

.dashboard-table-wrapper table {
  margin-bottom: 0;
}

.dashboard-lstlist table {
  width: 100%;
}

.dashboard-lstlist table tr {
  border-bottom: 1px solid #eee;
  cursor: pointer;
}

.dashboard-lstlist table th,
.dashboard-lstlist table td {
  padding: 10px 5px;
}

.dashboard-lstlist table th {
  font-weight: 400;
  font-size: 14px;
  text-overflow: ellipsis;
}

.dashboard-lstlist table td {
  text-align: right;
  font-size: 12px;
  width: 84px;
}

.dashboard-lstlist.list-type-text tr th {
  vertical-align: middle;
  border: none;
  border-right: 1px solid #b6b8c1;
}

.dashboard-lstlist.list-type-text tr th:last-child {
  border-right: none;
}

.dashboard-lstlist.list-type-text tr td {
  vertical-align: middle;
  border-right: 1px solid #e3e6f0;
  border-bottom: 1px solid #e3e6f0;
  padding: 10px 0;
}

.dashboard-lstlist.list-type-text tr td.left {
  padding: 10px;
}

.dashboard-lstlist.list-type-text tr td:last-child {
  border-right: none;
}

.dashboard-lstlist .tbl-no-results td:last-child {
  padding: 20% 0 23%;
  color: #ccc;
  border-bottom: none;
}

.dashboard-lstlist .tbl-no-results .no-results-warp .title {
  color: #ccc;
}

.dashboard-chart {
  height: 360px;
}

.dashboard-chart-ui {
  width: 100%;
  position: relative;
}

.dashboard-chart-ui ul li {
  float: left;
  list-style: none;
  padding: 0;
}

.dashboard-chart-ui .chart-graph {
  padding: 0 120px 0 20px;
}

.dashboard-chart-ui .chart-category {
  width: 100px;
  position: absolute;
  top: 0;
  right: 0;
}

.dashboard-chart-ui .chart-category span {
  display: block;
  text-align: left;
  padding: 0 0 10px;
}

.dashboard-warp .progress {
  margin: 40px 30px;
  height: 30px;
  overflow: visible;
}

.dashboard-warp .progress .progress-bar {
  position: relative;
  overflow: visible;
  color: var(--primary);
}

.dashboard-warp .progress .progress-bar .progress-text {
  font-size: 18px;
  font-weight: 700;
  position: absolute;
  top: -15px;
  right: -30px;
  width: 60px;
  margin: 0 0 0 -30px;
}

/* =========================================================
   Hot Pick
========================================================= */
.hot-pick-list {
  display: flex;
  flex-wrap: wrap;
  min-height: 149px;
  width: 100%;
}

.hot-pick-list ul {
  margin: 0;
  padding: 0;
  width: 50%;
  display: inline-block;
}

.hot-pick-list ul li {
  margin-bottom: 7px;
}

.hot-pick-list .ranking {
  display: inline-block;
  width: 30px;
  text-align: right;
}

.hot-pick-list .keyword {
  padding: 0 3px 0 5px;
}

.hot-pick-list .follow {
  font-size: 0.875rem;
  color: #004f57;
}

/* =========================================================
   Layout / Sidebar / Navbar
========================================================= */


.navbar-user-warp {
  width: 100%;
  padding: 1rem 1.5rem 0.7rem;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1);
}

.navbar-user-data {
  color: #3c3d40;
}

.navbar-user-data span {
  display: inline-block;
}

.navbar-user-data .academy-name {
  font-weight: 600;
  font-size: 18px;
  color: #212529;
}

.navbar-user-data .academy-code {
  font-weight: 700;
  font-size: 18px;
  color: var(--primary);
}
.navbar-user-data .academy-code::before{
  content: '-';
  padding-right: 4px;
  padding-left: 5px;
  color: #212529;
}

.logout-btn {
  cursor: pointer;
  color: #3c3d40;
  background-color: #fff;
  border: 1px solid #3c3d40;
  font-size: 12px;
  border-radius: 3px;
  padding: 3px 0 2px;
  display: inline-block;
  width: 70px;
  text-align: center;
}

/* =========================================================
   Keyword / Tag
========================================================= */
.keyword-item {
  position: relative;
  margin: 0 10px 10px 0;
  font-size: 14px;
  display: inline-block;
}

.keyword-item span {
  display: inline-block;
}

.keyword-item.keyword-tit .keyword-btn {
  padding: 10px 35px 10px 15px;
}

.keyword-item.keyword-tit .keyword-btn.on + .remove-btn {
  color: #13b89c;
}

.keyword-btn {
  padding: 10px 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
  color: #333;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s, transform 0.2s;
}

.keyword-btn.on {
  background: #dbfffb;
  border-color: #27c0a7;
  color: #13b89c;
  transform: scale(1.05);
}

.keyword-btn.off {
  color: #333;
  border-color: #ccc;
  transform: scale(1);
}

.keyword-btn.add {
  background-color: #27c0a7;
  border: none;
  color: #fff;
}

.keyword-btn.add-press {
  background-color: #f9a825;
  border: none;
  color: #fff;
}

.keyword-btn.on.highlight-keyword {
  background-color: #fff3a0 !important;
  border-color: #f9a825 !important;
  color: #b8860b !important;
}

.remove-btn {
  position: absolute;
  top: 11px;
  right: 10px;
  display: inline-block;
  cursor: pointer;
  font-size: 14px;
}

.remove-btn.on.highlight-remove,
.keyword-btn.on.highlight-keyword + .remove-btn {
  color: #b8860b !important;
}

.word-list-tag {
  position: relative;
  display: inline-block;
}

.word-list-tag span {
  background-color: #fff;
  display: block;
  font-size: 14px;
  padding: 6px 12px 4px;
  font-weight: 400;
  color: #3c3d40;
  border: 1px solid #3c3d40;
  border-radius: 0.35rem;
  margin-right: 5px;
}

.word-list-tag.del-btn span {
  padding: 6px 30px 4px 12px;
}

.word-list-tag .btn-close {
  position: absolute;
  top: 4px;
  right: 2px;
  background-size: 10px;
}

.word-list-tag .form-control,
.word-list-tag .form-control-plaintext {
  padding: 6px 12px;
  font-size: 14px;
}

.word-list-tag .form-control.series-edit-number {
  padding: 3px 3px 3px 8px;
  margin: 0 auto;
  text-align: center;
  border: none;
  height: 16px;
  background-color: transparent;
  border-color: transparent;
}

.word-list-tag .form-control:focus.series-edit-number {
  color: #6e707e;
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}

/* =========================================================
   Ranking / Trophy
========================================================= */
.ranking-trophy {
  display: inline-block;
  background: url(/images/icon_trophy.png) no-repeat 0 50%;
  background-size: 25px;
  padding: 2px 0 0 25px;
  width: 80px;
  text-align: right;
  font-weight: 700;
}

/* =========================================================
   General Table
========================================================= */
/* wrapper */
.table-responsive {
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e7edf5;
  background: #fff;
}

/* 기본 테이블 */
.table {
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
}

/* 헤더 */
.table thead th {
  background: #f8fafc;
  color: #374151;
  font-weight: 700;
  font-size: 13px;
  padding: 14px 16px;
  border-bottom: 1px solid #e5e7eb;
  text-align: center;
  white-space: nowrap;
}

/* 바디 */
.table tbody td {
  padding: 12px 16px;
  color: #4b5563;
  font-weight: 500;
  border-top: 1px solid #f1f5f9;
  vertical-align: middle;
}

/* 첫 행 border 제거 */
.table tbody tr:first-child td {
  border-top: none;
}

/* hover 효과 */
.table tbody tr:hover {
  background: #f9fbff;
  transition: background 0.2s ease;
}

/* 키워드 컬럼 (자동 줄임) */
.table tbody td:nth-child(3) {
  max-width: 400px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 숫자 컬럼 강조 */
.table tbody td:last-child {
  text-align: center;
  font-weight: 700;
  color: #111827;
}

/* 회원사 강조 */
.table tbody td:nth-child(2) {
  font-weight: 700;
  color: #1f2937;
}

/* 테이블 border 제거 (bootstrap 덮기) */
.table-bordered > :not(caption) > * > * {
  border: none;
}

/* =========================================================
   Table Top
========================================================= */
.table-top-data {
  padding: 0 0 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
}

.table-top-data .list-total-state {
  font-size: 12px;
  display: inline-block;
  margin-right: 20px;
}

.btn-list-top {
  display: inline-block;
  padding: 2px 12px;
  margin-right: 3px;
  color: #202530;
  font-size: 12px;
  border: 1px solid #373e4e;
  border-radius: 30px;
  vertical-align: middle;
}

.btn-list-top:hover {
  color: var(--primary);
  border-color: var(--primary);
}

.btn-list-top i {
  padding-right: 5px;
}

.btn-list-top i.off {
  opacity: 0.3;
}



.card-header.justify-between{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.card-header .card-title{
  font-size: 20px;
  margin-bottom: 0;
  color: var(--dark);
  font-weight: 700;
}

.card-header .btn {
  display: inline-block;
  padding: 0 0 0 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  height: 28px;
  min-width: 70px;
}


.card-sub-title{
  display: block;
  margin-bottom: 7px;
  font-size: 14px;
  font-weight: 700;
  color: var(--dark);
}

.btn-list-detail {
  z-index: 10;
  display: inline-block;
  padding: 1px 10px;
  font-size: 12px;
  color: #212529;
  background-color: #fff;
  border: 1px solid #212529;
  border-radius: 1rem;
  margin-left: 5px;
  min-width: 60px;
  min-height: 20px;
}

.btn-list-detail.solid {
  color: #fff;
  background-color: #212529;
  padding: 5px 8px;
}

.btn-list-detail.disabled {
  color: #fff;
  background-color: #b8b8bb;
  border: 1px solid #b8b8bb;
  padding: 5px 8px;
  cursor: default;
}

.btn-list-detail i {
  margin-right: 5px;
}

.right-btn-area .text {
  float: left;
  line-height: 28px;
}

.right-btn-area .btn-list-detail {
  float: right;
}

.btn-add-ticket {
  display: inline-block;
  cursor: pointer;
  width: 20px;
  height: 20px;
  position: relative;
  top: -2px;
  
}
.btn-add-ticket svg{
  width: 18px;
  height: 18px;
  color: var(--primary);
}
.btn-add-ticket svg path{

  fill: currentColor;
}
.guide-text-form{
  width: 100%;
}
.guide-text-form .form-guide-text{
  margin-top: 3px;
  text-align: right;
}
.btn-copy {
  font-size: 18px;
}

.btn-listdata-del {
  font-size: 18px;
  cursor: pointer;
}

.btn-list-react {
  line-height: 100%;
  font-size: 13px;
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
}

.btn-list-react:hover {
  color: #1e1e1e;
}

.btn-list-react em {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 14px;
  font-style: normal;
  background: #c3c4c7;
  border: 1px solid #1e1e1e;
}

.btn-list-react .react-agree {
  background: rgb(0, 150, 0);
}

.btn-list-react .react-mute {
  background: rgb(255, 255, 0);
}

.btn-list-react .react-refuse {
  background: rgb(255, 0, 0);
}

.btn-list-react em.text {
  width: auto;
  border-radius: 0;
  border: none;
}

.btn-list-react .react-agree.text {
  background: transparent;
  color: rgb(0, 150, 0);
  cursor: pointer;
}

.btn-list-react .react-mute.text {
  background: transparent;
  color: rgb(255, 255, 0);
}

.btn-list-react .react-refuse.text {
  background: transparent;
  color: rgb(255, 0, 0);
  font-weight: 300;
}

/* =========================================================
   Status
========================================================= */
.user-state {
  font-size: 0.8rem;
  margin-right: 0.5rem;
}

.attendance-status {
  font-weight: 500;
  display: inline-block;
}

.attendance-status::before {
  content: "●";
  padding-right: 5px;
}

.attendance-status.present {
  color: var(--blue);
}

.attendance-status.absent {
  color: var(--red);
}

.attendance-status.early {
  color: var(--orange);
}

.attendance-status.late {
  color: var(--green);
}

.feedback-state-text {
  display: block;
}

.feedback-state-text.finish {
  color: #0d6efd;
}

.feedback-text-area {
  min-height: 200px;
}

/* =========================================================
   Card / Header
========================================================= */
.card-text-title {
  font-size: 16px;
}

.card-text-cont {
  font-size: 50px;
}

.card-text-cont .unit-text {
  font-size: 30px;
  position: relative;
  top: -3px;
  padding-left: 5px;
}

.card-head-tit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-self: stretch;
  padding: 10px 0 0;
}

.card-head-tit .head-tit {
  font-size: 22px;
  font-weight: 600;
  line-height: 100%;
}

.card-head-tit .head-btn {
  display: block;
  background: #212529;
  color: #fff;
  font-size: 12px;
  padding: 4px 10px 2px;
  border-radius: 5px;
}

.card-head-tit .head-btn:hover {
  color: #fff;
}

.card .table {
  margin-bottom: 0;
}

.card .table.table-bordered th {
  padding: 0.5rem 0;
}

.card .table th,
.card .table td {
  padding: 0.5rem 0.75rem;
}

.card.dashboard-courses {
  min-height: 697px;
}

.card .card-courses-area {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 10px;
  gap: 20px;
}

.card .card-courses {
  width: 100%;
  text-align: center;
  background: #f8f8f8;
  border: 1px solid #e3e6f0;
  padding: 25px 30px;
  border-radius: 30px;
}

.card .card-courses dt {
  padding-top: 10px;
  margin-bottom: 10px;
}

.card .card-courses dd span::after {
  content: "|";
  color: #3c3d40;
  padding: 0 10px;
}

.card .card-courses dd span:last-child::after {
  content: "";
  padding: 0;
}

.card.print-fix-height {
  min-height: 100px;
}

/* =========================================================
   GNB Title
========================================================= */
.gnb-title {
  position: relative;
  margin-bottom: 20px;
}

.gnb-title h1 {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 0;
}

.gnb-title h1 span {
  font-size: 30px;
  opacity: 0.5;
  font-weight: 400;
}

.gnb-title h1 span::after {
  content: "/";
  position: relative;
  bottom: 3px;
  font-size: 24px;
  padding: 0 8px;
}

.gnb-title h1 span:last-child {
  opacity: 1;
  font-weight: 500;
}

.gnb-title h1 span:last-child::after {
  content: "";
}

.gnb-title h1 .title-btn-back {
  display: inline-block;
  margin-right: 12px;
  background: #2e2f37;
  border: 2px solid #2e2f37;
  border-radius: 5px;
  position: relative;
  top: 3px;
  float: left;
  width: 28px;
  height: 31px;
}

.gnb-title h1 .title-btn-back::after {
  position: absolute;
  left: 9px;
  top: 7px;
  content: "";
  width: 13px;
  height: 13px;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  transform: rotate(225deg);
}

/* =========================================================
   Modal
========================================================= */
.btn-close {
  box-sizing: content-box;
  width: 1.7em;
  height: 1.7em;
  color: #000;
  background: transparent
    url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e")
    center/1em auto no-repeat;
  border: 0;
  opacity: 0.5;
  font-size: inherit;
  display: inline-block;
}

.modal-content {
  border-radius: 12px;
}

.modal-header {
  padding: 16px 16px 10px 16px;
}

.modal-header .btn-close {
  padding: calc(var(--bs-modal-header-padding-y) * 0.5)
    calc(var(--bs-modal-header-padding-x) * 0.5);
  margin: calc(-0.5 * var(--bs-modal-header-padding-y))
    calc(-0.5 * var(--bs-modal-header-padding-x))
    calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}


.modal-title {
  font-weight: 700;
  font-size: 24px;
  color: var(--dark);
}

.modal-title em {
  font-size: 16px;
  font-style: normal;
  color: #6e707e;
}

.modal-title .teacher-name,
.modal-title .cont-tit span {
  color: var(--primary);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: 1.5rem;
  font-size: 14px;
}

.modal-body .table th,
.modal-body .table td {
  padding: 0.5rem 1rem;
}
.modal-body .table-responsive{
  border-radius: 0;
 }
 .modal-body .table tbody td:nth-child(2) {
  font-weight: 500;
  color: unset;
}


.modal-footer .guide-text {
  font-size: 12px;
  color: var(--primary);
  margin: 10px 0 0;
}

.modal-footer .right-cont-text {
  display: inline-block;
  text-align: left;
  position: absolute;
  left: 15px;
  top: 19px;
  font-size: 14px;
}

.modal-footer .btn {
  min-width: 100px;
  height: 40px;
  font-size: 16px;
  font-weight: 600;
}

.modal-footer .btn-primary {
  min-width: 150px;
  background: var(--primary);
  border-color: var(--primary);
}

.modal-footer .btn-primary:hover {
  background: var(--cyan);
  border-color: var(--cyan);
}

.modal-footer .btn-outline-primary {
  border-color: #b1b3b5;
  background: #b1b3b5;
  color: #fff;
}

.modal-footer .btn-outline-primary:hover {
  border-color: #a2a3a4;
  background: #a2a3a4;
}

/* =========================================================
   DataTables / Table States
========================================================= */
.dataTables_length {
  text-align: right;
}

.card-header .usage-approve-notice {
  color: var(--primary);
  font-size: 14px;
  padding: 0;
  margin: 0;
  text-align: left;
}

.card-header .usage-approve-notice span {
  color: #3c3d40;
  float: right;
}

.card-header .control-btn-area{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7px;
}

.expected-date-area {
  width: 100%;
  padding: 5px 0 10px 115px;
}

/* =========================================================
   No Result
========================================================= */
.no-results-warp {
  text-align: center;
  padding: 60px 0 100px;
}

.no-results-warp .visual {
  margin: 0 0 20px;
}

.no-results-warp .visual i {
  font-size: 6rem;
}

.no-results-warp .title {
  color: #5a5c69;
  font-weight: 800;
  font-size: 1.5rem;
  margin: 0 0 5px;
}

.no-results-warp .text {
  color: #b7b9cc;
  font-weight: 500;
  font-size: 1rem;
}

.no-results-warp.height-full {
  padding: 8% 0 10%;
}

/* =========================================================
   Series Edit
========================================================= */
.series-edit-warp {
  width: 100%;
}

.series-edit-warp .series-edit-list {
  float: left;
  width: 45%;
}

.series-edit-warp .series-edit-move {
  float: left;
  width: 10%;
  text-align: center;
  padding-top: 19%;
}

.series-edit-warp .series-edit-move button {
  display: block;
  width: 70%;
  margin: 10px auto;
}

.series-edit-warp .series-edit-add {
  float: left;
  width: 45%;
}

/* =========================================================
   Floating
========================================================= */
.floating-title-box {
  position: relative;
  margin-bottom: 20px;
  display: block;
  width: 100%;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e707e;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #d1d3e2;
  border-radius: 0.35rem;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.floating-title-box h6 {
  position: absolute;
  top: 0;
  left: 3px;
  height: auto;
  padding: 1rem 0.75rem 0 0.75rem;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: #3c3d40;
  z-index: 10;
}

.floating-title-box .floating-cont {
  padding: 2.5rem 0.75rem 1rem;
}

.floating-cont.add-form form {
  display: inline-block;
}

.floating-cont .cb-add {
  position: relative;
  z-index: 100;
  color: #fff;
  background: #d1d3e2;
  cursor: pointer;
  border: 1px solid #d1d3e2;
  display: inline-block;
  padding: 1px 10px 0;
  margin: 3px;
  border-radius: 5px;
  height: 30px;
  line-height: 28px;
  font-size: 14px;
}

.floating-cont .cb-add i {
  margin-right: 5px;
}

/* =========================================================
   Tooltip
========================================================= */
.question-tooltip {
  position: relative;
  display: inline-block;
  background: #3c3d40;
  color: #fff;
  font-size: 10px;
  padding: 2px 5px 0;
  border-radius: 20px;
  cursor: pointer;
}

.question-tooltip .tooltip-content {
  visibility: hidden;
  min-width: 200px;
  max-width: 350px;
  border-radius: 5px;
  background-color: var(--primary);
  padding: 10px 15px;
  color: #fff;
  text-align: center;
  position: absolute;
  font-size: 12px;
  margin-top: 5px;
  z-index: 1;
  box-shadow: 0 17px 20px -18px rgba(0, 0, 0, 0.6);
  word-break: keep-all;
  font-weight: 400;
}

.question-tooltip:hover .tooltip-content {
  visibility: visible;
}

.question-tooltip.left .tooltip-content {
  top: -10px;
  right: 20px;
}

.tooltip-area {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
}

.tooltip-area .form-check-inline {
  width: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
}

.tooltip-area .form-check-inline .form-check-label {
  width: 60px;
  display: inline-block;
}

/* =========================================================
   Switch / Toggle
========================================================= */
.toggle-switch {
  position: relative;
  top: 3px;
  display: inline-block;
  width: 52px;
  height: 20px;
  margin: 0;
}

.toggle-switch input[type="checkbox"],
.toggle-switch .switch-btn {
  display: none;
}

.switch-slider {
  position: absolute;
  inset: 0;
  cursor: pointer;
  background-color: #ced4da;
  transition: 0.25s ease;
  border-radius: 999px;
}

.switch-slider::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 2px;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: 0.25s ease;
}

.switch-slider::after {
  content: "OFF";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  font-size: 11px;
  font-weight: 700;
  color: #fff;
}

.switch-btn:checked + .switch-slider,
.toggle-switch input[type="checkbox"]:checked + label .toggle-track {
  background-color: var(--primary);
}

.switch-btn:checked + .switch-slider::before {
  transform: translateX(30px);
}

.switch-btn:checked + .switch-slider::after {
  content: "ON";
  left: 8px;
  right: auto;
  letter-spacing: normal;
}

.switch-btn:focus + .switch-slider {
  box-shadow: 0 0 1px var(--primary);
}

/* legacy toggle */
.toggle-track {
  display: inline-block;
  position: relative;
  font-size: 12px;
  width: 50px;
  height: 18px;
  line-height: 19px;
  border-radius: 60px;
  background: #8b8b8b;
}

.toggle-track::before {
  content: "";
  display: block;
  position: absolute;
  top: -6px;
  left: -10px;
  width: 20px;
  height: 20px;
  margin: 5px;
  background: #fff;
  border-radius: 100%;
  border: 1px solid #8b8b8b;
  transition: left 0.3s;
}

.toggle-switch label {
  display: inline-block;
  margin-bottom: 0;
}

.toggle-switch input[type="checkbox"] + label .toggle-track::after {
  content: "OFF";
  display: inline-block;
  position: absolute;
  right: 8px;
  color: #fff;
}

.toggle-switch input[type="checkbox"]:checked + label .toggle-track {
  left: -2px;
  background: #0d6efd;
}

.toggle-switch input[type="checkbox"]:checked + label .toggle-track::before {
  left: 30px;
  border: 1px solid #0d6efd;
}

.toggle-switch input[type="checkbox"]:checked + label .toggle-track::after {
  content: "ON";
  left: 5px;
}

/* =========================================================
   Checkbox Button
========================================================= */
.checkbox-btn {
  display: inline-block;
  position: relative;
}

.checkbox-btn input[type="checkbox"] {
  display: none;
}

.cb-btn {
  color: #202530;
  background: #fff;
  cursor: pointer;
  border: 1px solid #202530;
  display: inline-block;
  padding: 1px 20px 0;
  margin: 3px;
  border-radius: 5px;
  height: 30px;
  line-height: 28px;
  font-size: 14px;
}

.checkbox-btn input[type="checkbox"]:checked + label .cb-btn {
  color: #fff;
  background: #202530;
}

.checkbox-btn input[type="checkbox"]:checked + label .cb-btn::before {
  border: 1px solid #202530;
}

.checkbox-btn.clear-btn {
  position: relative;
  z-index: 1;
}

.checkbox-btn.clear-btn label {
  margin-bottom: 0;
}

.checkbox-btn.clear-btn .cb-btn {
  text-align: left;
  padding: 1px 30px 0 15px;
}

.checkbox-btn.clear-btn .del-btn {
  position: absolute;
  top: 5px;
  right: 12px;
  cursor: pointer;
  font-style: normal;
  color: #202530;
  font-size: 12px;
  font-weight: 500;
  font-family: Arial, Helvetica, sans-serif;
}

.checkbox-btn.clear-btn .del-btn::after {
  content: "X";
  display: inline-block;
}

.checkbox-btn.clear-btn input[type="checkbox"]:checked + label .cb-btn,
.checkbox-btn.clear-btn input[type="checkbox"]:checked + label .cb-btn::before {
  display: none;
}

.file-layers {
  background: url(../images/file_list.png) no-repeat 0 53%;
  background-size: 14px;
  padding-left: 20px;
}

.checkbox-btn .cb-btn.file-layers,
.checkbox-btn.clear-btn .cb-btn.file-layers {
  background: url(../images/file_list.png) no-repeat 11px 53%;
  background-size: 14px;
  padding: 1px 30px 0;
}

/* =========================================================
   Utility Small Title / Block
========================================================= */
.sub-tit-sm {
  font-weight: 700;
  font-size: 14px;
}

.blok-list-box {
  margin: 0 0 30px;
  border: 1px solid #d1d3e2;
  border-radius: 0.35rem;
  padding: 1.2rem 1rem 0.5rem;
}

.blok-list-box .form-control-ex {
  font-size: 12px;
  display: inline-block;
  font-weight: 400;
}

.essential-mark{
  font-style: normal;
}

.mark-ess::after,
.essential-mark::after {
  content: "*";
  color: #ff0000;
  font-weight: 600;
}

.essential-mark::after {
  margin-left: 4px;
}

/* =========================================================
   Billing
========================================================= */
.bill-total-warp {
  margin-bottom: 20px;
}

.bill-total-warp ul {
  margin: 0;
  padding: 0;
}

.bill-total-warp .bill-card {
  background: #3c3d40;
  border-radius: calc(0.35rem - 1px);
  border: 1px solid #e3e6f0;
  display: block;
  clear: both;
  overflow: hidden;
}

.bill-total-warp .bill-card li {
  float: left;
  height: 100%;
  text-align: center;
}

.bill-total-warp .bill-card li i {
  color: #fff;
  display: block;
  margin-top: 60px;
  font-size: 40px;
}

.bill-total-warp .bill-card li dl {
  padding: 20px 20px 3px;
  margin: 20px 20px 15px;
  background: #fff;
  border-radius: calc(0.35rem - 1px);
}

.bill-total-warp .bill-card li dl dt {
  text-align: left;
}

.bill-total-warp .bill-card li dl dt span {
  font-size: 12px;
  font-weight: normal;
}

.bill-total-warp .bill-card li dl dd {
  text-align: right;
  font-size: 34px;
  font-weight: 800;
}

.bill-total-warp .bill-card li dl dd em {
  font-style: normal;
  font-size: 24px;
  font-weight: 700;
  position: relative;
  top: -2px;
}

.bill-total-warp .bill-card li:nth-child(1) {
  width: 30%;
}
.bill-total-warp .bill-card li:nth-child(2) {
  width: 3%;
}
.bill-total-warp .bill-card li:nth-child(3) {
  width: 30%;
}
.bill-total-warp .bill-card li:nth-child(4) {
  width: 3%;
}
.bill-total-warp .bill-card li:nth-child(5) {
  width: 34%;
}

.bill-total-warp .bill-total-description {
  font-size: 14px;
  color: #fff;
  padding: 0 25px;
}

.bill-total-warp .bill-total-description span {
  float: right;
}

/* =========================================================
   Thumb / Image
========================================================= */
img.check-needed {
  width: 20px;
  height: 20px;
}

.thumb-img {
  display: inline-block;
  width: 45px;
  border-radius: 5px;
  overflow: hidden;
  margin: 0 auto;
}

.thumb-img img {
  width: 100%;
}

.thumb-img span {
  display: none;
}

.thumb-img.w100 {
  width: 100px;
}

.thumb-img.w200 {
  width: 200px;
}

.thumb-display {
  width: 120px;
  height: 40px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #ccc;
  background: #f7f9fa;
  position: relative;
}

.thumb-display.pc {
  width: 120px;
  height: 60px;
}

.thumb-display.mo {
  width: 50px;
  height: 60px;
}

.thumb-display.store {
  width: 70px;
  height: 48px;
}

.thumb-display.popup {
  width: 55px;
  height: 60px;
}

.thumb-display img {
  width: 100%;
  height: 100%;
}

.thumb-display .default-label {
  position: absolute;
  top: 3px;
  left: 2px;
  background-color: #444946;
  color: #fff;
  padding: 2px 4px;
  border-radius: 5px;
  font-size: 12px;
  font-weight: bold;
}

.company-logo-thumb {
  width: 120px;
  height: 60px;
  border: 1px solid #c3c4c7;
}

.company-logo-thumb img {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

/* =========================================================
   Note Editor
========================================================= */
.note-toolbar.card-header {
  background: #f5f5f5;
  border-radius: 5px 5px 0 0;
}

.note-toolbar.card-header .btn {
  font-size: 12px;
  background: #fff;
}

.note-editor .note-toolbar > .note-btn-group {
  margin-right: 0;
}

.note-editor .note-toolbar {
  padding: 0 0 5px;
}

/* =========================================================
   Analysis
========================================================= */
.analysis-details-warp {
  border: 1px solid #5a5ad4;
  padding: 20px 30px;
  border-radius: calc(0.35rem - 1px);
}

.analysis-details-warp .sub-title {
  font-size: 14px;
  font-weight: 700;
  padding: 10px 0 5px;
  list-style-type: disc;
}

.analysis-details .table-bordered tbody tr th {
  background: #f8f9fc;
}

.analysis-details .table-bordered tbody tr td {
  background: #fff;
}

.analysis-details .table th,
.analysis-details .table td {
  padding: 0.5rem;
}

.analysis-details-box .cont-tit {
  font-size: 14px;
  color: #3c3d40;
  font-weight: 400;
}

.analysis-details-box .cont-box {
  border: 1px solid #e3e6f0;
  padding: 10px;
  margin: 5px 0 20px;
  background: #fff;
}

.analysis-details-box .cont-box span {
  background-color: #66ccff;
  padding: 3px 10px;
  font-weight: 400;
  display: inline-block;
  margin: 2px 3px;
}

.analysis-details-box .cont-box span.nodata {
  background-color: #fff;
  font-size: 14px;
  padding: 3px;
}

/* =========================================================
   Graph
========================================================= */
.mygraph-warp {
  padding: 0 0 0 20px;
}

.mygraph-warp .graph {
  width: 100%;
  height: 150px;
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  margin: 20px auto 10px;
  padding: 0 0 0 5px;
}

.mygraph-warp-nodata {
  padding-top: 150px;
  text-align: center;
}

.mygraph-warp .graph .graph-bar {
  position: relative;
  width: 6%;
  margin-left: 3.5%;
  height: 100%;
  background: #fff;
  display: inline-block;
  overflow: hidden;
  clear: both;
}

.mygraph-warp .graph .graph-bar .bar {
  display: block;
  margin: 0 auto;
  width: 100%;
  position: absolute;
  bottom: 0;
  background: #e6ebef;
  cursor: pointer;
  border-top-left-radius: calc(1rem - 1px);
  border-top-right-radius: calc(1rem - 1px);
}

.mygraph-warp .graph .graph-bar .bar:hover {
  background: #dbe4ec;
}

.mygraph-warp .graph .graph-bar .bar.on {
  background: #5a5ad4;
}

.mygraph-warp .graph .graph-bar .bar.on:hover {
  background: #4e73df;
}

.cont-box .mygraph-cont-box {
  padding: 35px 5px 0 0;
}

.mygraph-warp .graph-x {
  font-size: 14px;
  font-weight: 700;
}

.mygraph-warp .graph-x .left {
  float: left;
}

.mygraph-warp .graph-x .right {
  float: right;
}

/* =========================================================
   Table Card List
========================================================= */
.table-cardlist .table {
  border: 1px solid #47525c;
}

.table-cardlist .table tr th {
  background: rgb(42, 45, 62) !important;
  color: #fff;
  font-weight: 400;
  font-size: 16px;
  padding: 1rem;
  border-color: #47525c;
}

.table-cardlist .table tr td {
  background: #47525c;
  color: #fff;
  font-size: 16px;
  padding: 1rem;
  border-color: rgb(42, 45, 62);
}

/* =========================================================
   Choice List
========================================================= */
.choice-list tr {
  cursor: pointer;
}

.choice-list tr.select {
  background-color: #5a5ad4 !important;
}

.choice-list tr.select td {
  border: 1px solid #5a5ad4;
  font-weight: 800;
  color: #fff;
}

.choice-list tr.off {
  background-color: #eaecf4 !important;
  cursor: default;
}

/* =========================================================
   Processing
========================================================= */
.processing-data-area {
  max-width: 300px;
  font-size: 18px;
  font-weight: 700;
  margin: 0 auto 10px;
  position: relative;
}

.processing-data-area img {
  width: 100%;
}

.processing-data-area dd {
  text-align: center;
  position: absolute;
  bottom: 0;
  width: 100%;
}

table tbody tr.closing td {
  background: #dee2e6;
  color: #8899b3;
}

/* =========================================================
   Login / Member
========================================================= */
.login-warp {
  margin-top: 20%;
}

.login-area {
  border-left: 1px solid #eee;
  background: #f8f9fc;
}

.member-bg {
  background: #f3feff;
}

.member-bg .contents {
  margin-top: 0;
}

.member-wrapper {
  height: 100vh;
  padding: 0 30px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.member-wrapper .member-warp {
  min-width: 520px;
  padding: 50px 100px;
  border-radius: 30px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);
}

.member-wrapper .member-warp .member-warp-title {
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  padding-bottom: 20px;
  color: #19373d;
}

.member-wrapper .member-warp .member-warp-title .logo {
  width: 250px;
  height: 71px;
  margin: 0 auto 5px;
  background: url(../images/logo.png) no-repeat 0 0;
  background-size: 100%;
}

.member-wrapper .member-warp .member-warp-text {
  margin-bottom: 20px;
  word-break: keep-all;
  text-align: center;
  font-weight: 600;
}

.member-wrapper .member-warp .member-type {
  margin-bottom: 23px;
  display: flex;
  justify-content: center;
}

.member-wrapper .member-warp .member-input-group form {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.member-wrapper .member-warp .member-input-group .form-control {
  border-radius: 4px;
  border: 1px solid #ced2e0;
  background: #fff;
  color: #19373d;
  height: 50px;
  padding: 0 12px 0 15px;
}

.member-wrapper .member-warp .member-input-group .btn-primary {
  padding: 15px 20px;
  width: 100%;
  font-weight: 600;
  font-size: 16px;
}

.member-wrapper .member-warp .form-check label {
  cursor: pointer;
}

.member-btn {
  background-color: var(--primary);
  border: 1px solid var(--primary);
  padding: 16px 0 14px;
  font-size: 18px;
  color: #fff !important;
  font-weight: 700;
}

.member-btn:hover {
  background-color: var(--primary);
  border: 1px solid var(--primary);
  color: #fff;
}

.member-btn:focus,
.member-btn.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 163, 163, 0.3);
}

.member-btn:not(:disabled):not(.disabled):active,
.member-btn:not(:disabled):not(.disabled).active {
  background-color: #e11826;
  border-color: #e11826;
}

.member-btn:not(:disabled):not(.disabled):active:focus,
.member-btn:not(:disabled):not(.disabled).active:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 163, 163, 0.3);
}

.member-btn-error {
  color: #fff;
  font-weight: 700;
  background: var(--primary);
  padding: 0.75rem 2.5rem;
  font-size: 1rem;
  border-radius: 0.35rem;
  text-decoration: none;
}

.input-essential-mark {
  color: #d62516;
  padding-left: 5px;
  display: inline-block;
}

.text-link {
  color: #0d6efd;
  text-decoration: underline;
}

.text-blank-link {
  color: #3c3d40;
}

.text-blank-link em {
  font-style: normal;
}

.text-blank-link i {
  opacity: 0.7;
  font-size: 12px;
  position: relative;
  top: -1px;
  right: -3px;
}
.link{
  color: var(--primary);
}

.link-icon-right {
  display: inline-block;
  background: url(../images/icon_link.svg) no-repeat 100% 3px;
  background-size: 12px;
  padding-right: 16px;
}

.link-underline {
  display: inline-block;
  text-decoration: underline !important;
  color: #212529;
}

/* =========================================================
   Nav Icon / Sort
========================================================= */

.btn-th-sort {
  margin-left: 8px;
  padding: 2px 3px 0;
  position: relative;
  top: 2px;
  width: 14px;
  height: 14px;
  display: inline-block;
  background: url(../images/btn-arrow-none.png) no-repeat 50% 50%;
  background-size: cover;
}

.btn-th-sort.up {
  background: url(../images/btn-arrow-up.png) no-repeat 50% 50%;
  background-size: cover;
}

.btn-th-sort.down {
  background: url(../images/btn-arrow-down.png) no-repeat 50% 50%;
  background-size: cover;
}

/* =========================================================
   Divider
========================================================= */
.divider {
  display: block;
  text-align: center;
  margin: 1rem 0;
  overflow: hidden;
  white-space: nowrap;
}

.divider .divider-text {
  position: relative;
  display: inline-block;
  font-size: 0.8rem;
  padding: 0 1rem;
  color: #6e707e;
}

.divider .divider-text::before,
.divider .divider-text::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 100vw;
  border-top: 1px solid rgba(67, 89, 113, 0.2);
}

.divider .divider-text::before {
  right: 100%;
}

.divider .divider-text::after {
  left: 100%;
}

/* =========================================================
   Class Detail
========================================================= */
.table-borderless .title-label {
  text-align: left;
}

.class-detail-cont .class-detail-box {
  border: 1px solid #dbdee6;
  background: #e3e6f0;
  border-radius: 5px;
  padding: 1.5rem 1.5rem 0.5rem;
  margin-bottom: 1rem;
  text-align: center;
}

.class-detail-cont .class-detail-box h5 {
  font-weight: 700;
  font-size: 18px;
  padding-bottom: 5px;
}

.class-detail-cont .class-detail-box ul {
  padding: 0;
}

.class-detail-cont .class-detail-box ul li {
  background: #fff;
  border: 1px solid #fff;
  margin: 10px 0;
  padding: 10px 0;
  border-radius: 20px;
}

.class-detail-cont .class-detail-box ul li:hover {
  border: 1px solid #405f71;
  font-weight: 700;
  cursor: pointer;
}

.class-detail-cont .class-detail-box ul li.on,
.class-detail-cont .class-detail-box ul li.on:hover {
  border: 1px solid #405f71;
  background: #405f71;
  color: #fff;
  font-weight: 700;
}

.class-detail-cont .class-detail-box-cont {
  border: 1px solid #405f71;
  background: #405f71;
  color: #fff;
  padding: 1rem;
  margin-top: 1.5rem;
}

.class-detail-cont .class-detail-box-cont h6 {
  font-weight: 700;
  font-size: 18px;
}

.class-detail-cont .class-detail-box .accordion-header .accordion-button {
  background: #fff;
  border: 1px solid #fff;
  display: block;
  width: 100%;
  margin: 10px 0;
  padding: 10px 0;
  border-radius: 20px;
  font-size: 16px;
}

.class-detail-cont .class-detail-box .accordion-body {
  font-size: 14px;
}

.unit-objective-title {
  font-size: 18px;
  width: 100px;
  height: 100px;
  padding-top: 32px;
  border-radius: 100px;
  line-height: 120%;
  font-weight: 700;
  text-align: center;
  background: #ede6ff;
  color: var(--primary);
}

.unit-objective-text {
  font-size: 16px;
  line-height: 140%;
}

.class-code-summary {
  display: inline-block;
}

.class-code-summary ul {
  padding: 7px 0 0;
}

.class-code-summary ul li {
  float: left;
  font-size: 16px;
  padding-right: 10px;
}

.class-code-summary ul li p {
  display: inline-block;
  margin: 0;
  padding: 0 13px 0 10px;
  font-weight: 700;
  line-height: 15px;
  border-right: 1px solid #5a5c69;
}

.class-code-summary ul li p:last-child {
  border: none;
}

.class-code-summary ul li p span {
  display: inline-block;
  padding: 0 1px 0 7px;
}

.class-code-summary ul li p span.point,
.class-code-summary ul li p span.text-assigned {
  color: var(--primary);
}

.class-code-summary ul li p span.text-unused {
  color: #0057ff;
}

.class-code-summary ul li p span.text-used {
  color: #62666a;
}

/* =========================================================
   Give Exam / Rules / Week Slider
========================================================= */
.give-exam-warp .data-text-area {
  font-size: 18px;
  line-height: 30px;
  min-width: 300px;
  background: #f8f8f8;
  box-shadow: rgba(60, 64, 67, 0.3) 0 1px 2px 0,
    rgba(60, 64, 67, 0.15) 0 1px 3px 1px;
  text-align: center;
  border: 3px solid #dfe1e2;
  margin-bottom: 20px;
  display: inline-block;
  padding: 15px 50px;
}

.give-exam-warp .data-text-area .text-amount {
  display: inline-block;
  font-size: 26px;
  line-height: 30px;
  min-width: 40px;
  padding: 0 5px;
  font-weight: 800;
  text-align: right;
  position: relative;
  top: 3px;
}

.give-exam-warp .data-text-area .text-amount.red {
  color: var(--primary);
}

.give-exam-warp .guide-text {
  color: var(--primary);
}

.rules-warp {
  padding: 1rem;
}

.rules-warp .rules-head {
  margin-bottom: 50px;
}

.rules-warp .rules-foot {
  background: #dbe1e5;
  padding: 20px 30px;
  border-radius: 5px;
}

.rules-warp .rules-cont h5 {
  font-size: 1rem;
  font-weight: 700;
}

.rules-warp .rules-cont .rules-text {
  word-break: keep-all;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 1.25rem;
}

.rules-warp .rules-cont .rules-text ul {
  padding: 0;
}

.rules-warp .rules-cont .rules-text ul li {
  padding-bottom: 10px;
}

.rules-warp .rules-cont .rules-text strong {
  font-weight: 400;
  display: block;
  margin-bottom: 5px;
}

.rules-warp .rules-cont .rules-text ol {
  padding: 7px 0 0 30px;
}

.rules-warp .rules-cont .rules-text ol li {
  padding: 0 0 3px;
  list-style: decimal;
}

.rules-warp .rules-cont .rules-text ol li:last-child {
  padding-bottom: 0;
}

.week-slide-warp {
  text-align: center;
}

.week-slide-area h4 {
  display: inline-block;
  margin: 0 10px;
  font-size: 32px;
  font-weight: 700;
}

.week-slide-area a {
  opacity: 0.5;
  font-size: 26px;
  display: inline-block;
  padding: 0 5px 5px;
  position: relative;
  top: -2px;
}

.week-slide-area a:hover {
  opacity: 1;
}

/* =========================================================
   Card Body Sub Title
========================================================= */
.card-body-sub-title {
  font-weight: 700;
}

.card-body-sub-title span {
  font-weight: 400;
  padding: 0 0 0 5px;
  display: inline-block;
  font-size: 16px;
}

.card-body-sub-title .right-area {
  float: right;
}

.card-body-sub-title .right-area span {
  font-weight: 400;
  font-size: 14px;
}

.card-body-table .table-responsive .table thead th{
  border-top: none;
}

.mail-settings-panel .card-body{
  min-height: 300px;
}


/* =========================================================
   Canvas / Error
========================================================= */
.myCanvas ul {
  padding: 0;
}

.myCanvas ul li {
  float: left;
}

.myCanvas ul li:nth-child(1) {
  width: 30%;
}

.myCanvas ul li:nth-child(2) {
  width: 70%;
}

.error-cont-area dl {
  text-align: center;
}

.error-cont-area dl dt {
  max-width: 400px;
  width: 70%;
  margin: 0 auto 30px;
}

.error-cont-area dl dt img {
  width: 100%;
  max-width: 300px;
}

.error-cont-area dl dd {
  font-size: 16px;
  padding: 0 30px;
  word-break: keep-all;
  line-height: 180%;
}

.error-cont-area dl dd p {
  font-size: 32px;
  padding: 10px 0;
  font-weight: 700;
  font-family: "Pretendard";
}

.error-cont-area dl dd span {
  font-size: 18px;
  line-height: 140%;
}

.error-cont-area dl dd .btn {
  max-width: 200px;
  width: 100%;
}

.error-cont-area dl dd a {
  background: #fffecd;
  color: #000;
  display: inline-block;
  padding: 0 5px;
  border-radius: 3px;
}

.error-cont-area dl dd a:hover {
  color: #000;
}

.error-cont-area .btn-primary {
  padding: 15px 20px;
  width: 100%;
  font-weight: 600;
}

/* =========================================================
   Print / Worksheet
========================================================= */
.modal-print-warp .print-preview-area {
  float: left;
  width: 70%;
  height: 750px;
  overflow: hidden;
  overflow-y: scroll;
}

.print-preview-area .print-preview ul {
  padding: 20px 0 30px 20px;
  margin: 0;
}

.print-preview-area .print-preview ul li {
  width: 32%;
  display: inline-block;
}

.print-preview-area .print-preview .print-thumb-box {
  display: block;
  padding: 20px;
}

.print-preview-area .print-preview .print-thumb-box p {
  display: block;
  font-size: 1.1rem;
  text-align: center;
  font-weight: 700;
  color: #3c3d40;
  padding: 0 0 10px;
  margin: 0;
}

.print-preview-area .print-preview ul.print-final {
  padding: 0 0 0 10px;
  margin: 0;
}

.print-preview-area .print-preview ul.print-final li {
  width: 100%;
  display: inline-block;
  vertical-align: top;
}

.print-preview-area .print-preview .print-thumb {
  position: relative;
  cursor: pointer;
}

.print-preview-area .print-preview .print-thumb .thumb-img-box {
  width: 130px;
  height: 197px;
  border: 1px solid #ccc;
}

.print-preview-area .print-preview .print-thumb img,
.print-preview-area .print-preview .print-thumb-box img {
  width: 100%;
}

.print-preview-area .print-preview .print-thumb-box img {
  opacity: 0.8;
}

.print-preview-area .print-preview .print-thumb-box.on img {
  opacity: 1;
}

.print-preview-area .print-preview .print-thumb .check-box {
  position: absolute;
  top: 36%;
  left: 50%;
}

.print-preview-area .print-preview .print-thumb .check-box span {
  position: relative;
  top: -50%;
  left: -50%;
  width: 70px;
  height: 70px;
  text-align: center;
  border-radius: 100px;
  background: #4e73df;
  display: block;
}

.print-preview-area .print-preview .print-thumb .check-box span i {
  color: #fff;
  font-size: 2rem;
  line-height: 70px;
}

.modal-print-warp .print-action-area {
  width: 30%;
  height: 100%;
  float: right;
  text-align: left;
  border-left: 1px solid #ccc;
}

.modal-print-warp .print-action {
  width: 100%;
  height: 100%;
  position: relative;
  display: block;
}

.modal-print-warp .print-action .print-btn {
  display: block;
  padding: 5px 0 3px;
  margin: 0 30px;
}

.modal-print-warp .print-action .position-top {
  position: absolute;
  top: 30px;
  width: 100%;
}

.modal-print-warp .print-action .position-top .print-btn {
  margin-bottom: 15px;
  font-weight: 500;
}

.modal-print-warp .print-action .position-bottom {
  position: absolute;
  bottom: 30px;
  width: 100%;
}

.modal-print-warp .print-action .position-bottom .print-btn {
  margin-top: 15px;
}

.dropdown-list-worksheet a {
  display: block;
  width: 100px;
  float: left;
}

.dropdown-list-worksheet a img {
  width: 100%;
}

.dropdown-list-worksheet a p {
  display: block;
}

.worksheet-print-choice {
  border: 1px solid #4e73df;
  color: #4e73df;
  border-radius: 3px;
  padding: 4px 8px 3px;
  position: relative;
  top: 1px;
}

.print-area-btn {
  position: relative;
}

.print-area-btn .print-btn {
  position: absolute;
  right: 0;
  display: inline-block;
}

.worksheet-warp p,
.worksheet-warp ol,
.worksheet-warp ul,
.worksheet-warp ul li {
  padding: 0;
  margin: 0;
}

.worksheet-warp ul li.left {
  float: left;
}

.worksheet-warp ul li.right {
  float: right;
}

.worksheet-page {
  width: 21cm;
  min-height: 29.7cm;
  padding: 2cm;
  margin: 1cm auto;
  background: #fff;
  font-family: "NanumSquareNeo";
}

.worksheet-warp.popup .worksheet-page {
  width: 100%;
}

.worksheet-subpage {
  background: #fff;
  position: relative;
  font-size: 14px;
}

.ws-head {
  clear: both;
}

.ws-head img,
canvas {
  height: 44px;
}

.ws-head .logo-academy-img {
  display: inline-block;
  padding-right: 10px;
  float: none;
}

.ws-head .logo-academy-text {
  display: inline-block;
  vertical-align: middle;
  font-weight: 800;
  font-size: 1.8rem;
}

.ws-head .class-data {
  text-align: right;
  line-height: 140%;
}

.ws-head .ws-qrcode {
  margin-left: 5px;
}

.ws-cont {
  clear: both;
  padding: 10px 0;
}

.ws-cont .ws-title {
  position: relative;
  border: 3px solid #4e73df;
  margin: 5px 0 0 5px;
  min-height: 43px;
  border-radius: 10px;
}

.ws-cont .ws-title .worksheet-title {
  background: #4e73df;
  color: #fff;
  padding: 0 10px;
  margin: 5px 0 0 -8px;
  display: inline-block;
  border-radius: 6px;
  font-weight: 700;
  font-size: 18px;
}

.ws-cont .ws-title .worksheet-sub-title {
  color: #4e73df;
  font-size: 15px;
  padding: 7px 10px 3px 5px;
  font-weight: 700;
  display: inline-block;
}

.ws-cont .ws-sign {
  padding: 30px 10px 30px 0;
}

.ws-cont .ws-sign th {
  padding-right: 5px;
  padding-left: 10px;
  font-weight: 400;
}

.ws-cont .ws-sign td {
  border-bottom: 1px solid #222;
}

.ws-cont .ws-sheet-script {
  padding-bottom: 5px;
  font-weight: 700;
}

.ws-cont .print-tbl-com {
  width: 100%;
  word-break: keep-all;
}

.ws-cont .print-tbl-com tr th,
.ws-cont .print-tbl-com tr td {
  border: 1px solid #6e707e;
  height: 35px;
}

.ws-cont .print-tbl-com tr td.left {
  text-align: left;
}

.ws-cont .print-tbl-com tr td.right {
  text-align: right;
}

.ws-cont .print-tbl-com tr td.center {
  text-align: center;
}

.ws-cont .print-tbl-com thead tr th {
  text-align: center;
  background-color: #e0e4f0;
}

.ws-cont .print-tbl-com tbody tr th {
  font-weight: 400;
  text-align: center;
}

.ws-cont .print-tbl-com tbody tr td {
  padding: 5px 10px;
}

.ws-cont .print-tbl-com .sheet-point-word {
  font-size: 1.5rem;
  font-family: Nunito;
  font-weight: 800;
}

.ws-cont .print-tbl-com .sheet-point-word .blank-area {
  padding: 0 10px;
  border-bottom: 2px solid #4e73df;
}

.ws-cont .print-tbl-com .sheet-point-word .blank-area em {
  opacity: 0;
}

.ws-cont .print-tbl-com.write-word tr td {
  height: 75px;
}

.ws-cont .print-tbl-com.mean-choose tr td {
  height: 144px;
}

.ws-cont .print-tbl-com.mean-choose tr td p {
  font-weight: 700;
  padding: 0 0 5px 10px;
  font-size: 16px;
}

.ws-cont ol {
  margin: 0 0 0 2.5rem;
}

.ws-cont ol li {
  list-style: decimal;
}

.ws-cont ol[data-list-style-type="ko"] > li:nth-child(1)::marker {
  content: "① ";
}
.ws-cont ol[data-list-style-type="ko"] > li:nth-child(2)::marker {
  content: "② ";
}
.ws-cont ol[data-list-style-type="ko"] > li:nth-child(3)::marker {
  content: "③ ";
}
.ws-cont ol[data-list-style-type="ko"] > li:nth-child(4)::marker {
  content: "④ ";
}
.ws-cont ol[data-list-style-type="ko"] > li:nth-child(5)::marker {
  content: "⑤ ";
}
.ws-cont ol[data-list-style-type="ko"] > li:nth-child(6)::marker {
  content: "⑥ ";
}
.ws-cont ol[data-list-style-type="ko"] > li:nth-child(7)::marker {
  content: "⑦ ";
}
.ws-cont ol[data-list-style-type="ko"] > li:nth-child(8)::marker {
  content: "⑧ ";
}
.ws-cont ol[data-list-style-type="ko"] > li:nth-child(9)::marker {
  content: "⑨ ";
}
.ws-cont ol[data-list-style-type="ko"] > li:nth-child(10)::marker {
  content: "⑩ ";
}

.ws-cont ol li.ok,
.ws-cont tr td.ok {
  color: #4e73df;
}

.ws-cont ol li.ok {
  text-decoration: underline;
  font-weight: 700;
}

.ws-cont .follow-up {
  font-size: 16px;
  display: block;
  text-align: center;
}

.ws-cont .follow-up span {
  display: block;
  font-size: 14px;
  font-weight: 400;
}

.ws-cont .follow-up.title {
  font-weight: 500;
  line-height: 20px;
}

.ws-cont .follow-up.text {
  position: relative;
  font-size: 18px;
  font-family: "Raleway Dots", cursive;
  border-top: 1px solid #dbe2f1;
  border-bottom: 1px solid #dbe2f1;
  padding: 8px 0;
}

.ws-cont .follow-up.text .text-box {
  border-top: 0.5px solid #dbe2f1;
  border-bottom: 0.5px solid #dbe2f1;
  letter-spacing: 2px;
  height: 10px;
  line-height: 6px;
  padding-bottom: 4px;
  color: #d9d9d9;
}

.ws-cont .print-tbl-com.ggoggomu-study tr td {
  height: 90px;
}

.ws-cont .print-tbl-com.ggoggomu-study .arrow-icon-area {
  position: relative;
}

.ws-cont .print-tbl-com.ggoggomu-study .arrow-icon-area .arrow-icon {
  position: absolute;
  left: 44%;
  bottom: -12px;
}

.ws-cont .print-tbl-com.ggoggomu-study tr.guide-text td,
.ws-cont .print-tbl-com.ggoggomu-study tr.guide-text .sheet-point-word {
  color: #e9e9e9;
}

.ws-cont .print-tbl-com.fill-blank tr td {
  height: 72px;
}

.ws-cont .print-tbl-com.fill-blank .sheet-point-word {
  font-size: 1.1rem;
}

.ws-cont .print-tbl-com.word-arrangement tr td {
  padding: 20px 0 25px;
}

.ws-cont .word-view-area {
  padding: 10px 0 5px;
  font-size: 16px;
}

.ws-cont .word-view-area span {
  font-weight: 700;
}

.ws-cont .given-word-title {
  font-size: 16px;
}

.ws-cont .given-word-title .hint-text {
  display: block;
  font-size: 14px;
}

.ws-cont .word-view-option {
  padding: 15px 0 0;
  font-size: 14px;
}

.ws-cont .word-view-option span {
  display: inline-block;
  margin: 0 15px;
}

.ws-cont .print-tbl-com.choice-grammar tr td {
  padding: 30px 0;
}

.ws-cont .print-tbl-com.choice-grammar tr td .sheet-point-word {
  margin: 10px 0 0;
}

.ws-cont .print-tbl-com.grammar-blank-fill tr td {
  padding: 40px 0;
}

.ws-cont .print-tbl-com.grammar-blank-fill tr td .sheet-point-word {
  margin: 20px 0 0;
}

.ws-cont .print-tbl-com.word-interpreting tr td {
  padding: 40px 30px;
  text-align: left;
}

.word-blank-full {
  border-bottom: 2px solid #4e73df;
  width: 100%;
  height: 36px;
  margin-top: 20px;
}

.ws-foot {
  width: 100%;
  clear: both;
  padding: 10px 0 0;
}

.ws-foot ul li {
  font-size: 0.8rem;
  float: left;
}

.ws-foot ul li:nth-child(1) {
  width: 70%;
  text-align: left;
}

.ws-foot ul li:nth-child(2) {
  width: 30%;
  text-align: right;
}

.worksheet-warp.popup .worksheet-page .ws-cont .ws-title .worksheet-sub-title {
  font-size: 20px;
  padding: 6px 10px 6px 5px;
}

.worksheet-warp.popup .worksheet-page .ws-cont .ws-sheet-script {
  font-size: 16px;
  padding: 0 0 5px 5px;
}

.worksheet-warp.popup .worksheet-page .ws-cont .print-tbl-com {
  font-size: 15px;
}

.chevron {
  position: relative;
  text-align: center;
  padding: 6px;
  margin-bottom: 6px;
  height: 6px;
  width: 30px;
}

.chevron::before,
.chevron::after {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  background: #4e73df;
}

.chevron::before {
  left: 0;
  width: 51%;
  transform: skew(0deg, 36deg);
}

.chevron::after {
  right: 0;
  width: 50%;
  transform: skew(0deg, -36deg);
}

.print-preview-area .worksheet-page {
  width: 100%;
  min-height: auto;
  padding: 1cm;
  margin: 0 auto;
  font-size: 12px;
}

.print-preview-area .ws-head .ws-logo {
  height: 30px;
}

.print-preview-area .ws-head .ws-qrcode {
  width: 30px;
  height: 30px;
  margin-left: 5px;
}

.print-preview-area .ws-head .ws-qrcode img {
  width: 100%;
}

.print-preview-area .ws-head .class-data {
  text-align: right;
  line-height: 140%;
}

.print-preview-area .ws-head .class-data span {
  display: block;
  font-weight: 700;
  font-size: 1.2rem;
}

.print-preview-area .ws-head .class-data img {
  height: 30px;
}

.print-preview-area .worksheet-page .ws-head .logo-academy-img {
  padding-right: 6px;
  float: left;
}

.print-preview-area .worksheet-page .ws-head .logo-academy-text {
  font-size: 1.2rem;
  height: 30px;
  line-height: 30px;
}

.print-preview-area .worksheet-page .ws-cont .ws-title .worksheet-title {
  padding: 2px 10px;
  font-size: 15px;
}

.print-preview-area .worksheet-page .ws-cont .ws-title .worksheet-sub-title {
  font-size: 14px;
}

.print-preview-area .worksheet-page .ws-cont .print-tbl-com .sheet-point-word {
  font-size: 1.2rem;
}

/* =========================================================
   Word List / Dropdown
========================================================= */
.word-list-warp .word-list-area {
  display: inline-block;
  padding: 0 10px 15px 0;
}

.word-list-warp .word-list-area .word-list {
  position: relative;
  width: 260px;
}

.word-list-warp .word-list-area .word-list .dropdown-menu {
  border: 1px solid #b7b9cc;
  position: absolute;
  top: -2px;
  left: 240px;
  width: 250px;
  box-shadow: 0 0.3rem 0.3rem rgba(0, 0, 0, 0.2) !important;
}

.word-list-warp .word-list-area .word-list .dropdown-menu li {
  position: relative;
  top: 0;
}

.word-list-warp .word-list-area .word-list .dropdown-menu li em {
  font-style: normal;
  font-size: smaller;
  font-weight: 700;
  padding-left: 3px;
  vertical-align: super;
  color: #d62516;
}

.word-list-warp
  .word-list-area
  .word-list
  .dropdown-menu
  li:hover
  .dropdown-item-menu {
  display: block;
}

.word-list-warp .word-list-area .word-list .dropdown-menu .dropdown-item {
  font-size: 15px;
  position: relative;
  padding: 0.5rem 1.5rem;
  font-weight: 400;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.dropdown-item:active {
  color: #2e2f37;
  text-decoration: none;
  background-color: #eaecf4;
}

.dropdown-item.disabled {
  pointer-events: none;
  color: #999;
}

.word-list-warp .word-list-area .word-list .dropdown-menu .dropdown-item i {
  margin: 0 10px 0 0;
}

.word-list-warp
  .word-list-area
  .word-list
  .dropdown-menu
  .dropdown-item
  .right-btn {
  position: absolute;
  top: 8px;
  right: 10px;
  display: block;
}

.word-list-warp .word-list-area .word-list .vocabulary {
  height: 60px;
  padding: 0 20px;
  display: block;
  border-radius: 10px;
  background: #f2f6fb;
  cursor: pointer;
  word-break: keep-all;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  justify-content: center;
  align-items: center;
}

.word-list-warp .word-list-area .word-list .vocabulary .line {
  font-size: 14px;
  line-height: 22px;
  font-weight: 400;
  text-align: left;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  color: #202530;
  display: block;
  padding: 5px 0 0;
}

.word-list-warp .word-list-area .word-list .vocabulary:hover {
  background: #e2e5e9;
}

.word-list-warp .word-list-area.on .word-list .vocabulary {
  background: #c9e5fc;
}

.word-list-warp .word-list-area.not-mine .word-list .vocabulary {
  background: #fdf2f5;
}

.word-list-warp .word-list-area.not-mine .word-list .vocabulary:hover {
  background: #efe0e2;
}

.word-list-warp.series-list .word-list-area .word-list .vocabulary .line {
  padding: 5px 0 0 45px;
  background: url(../images/file_lists_bg.png) 0 50% no-repeat;
  background-size: 30px;
  min-height: 30px;
}

.dropdown-menu-area .dropdown-item-menu {
  position: absolute;
  top: -9px;
  left: 200px;
  border: 1px solid #b7b9cc;
  width: 200px;
  z-index: 1;
  background: #fff;
  border-radius: 10px;
  padding: 5px 0;
  box-shadow: 0 0.3rem 0.1rem rgba(0, 0, 0, 0.2) !important;
  animation-name: dropdown-item-menu;
  animation-duration: 0.5s;
  animation-duration: leaner;
  animation-iteration-count: 1;
  animation-direction: alternate;
  animation-fill-mode: forwards;
  display: none;
  list-style: none;
}

@-webkit-keyframes dropdown-item-menu {
  0% {
    top: -20px;
  }
  100% {
    top: -9px;
  }
}

.dropdown-menu-area .dropdown-item-menu li a {
  text-decoration: none;
  color: #000;
  display: block;
  padding: 10px 15px;
}

.dropdown-item-menu li a:hover,
.dropdown-item-menu li a:focus,
.dropdown-item-menu li a.active,
.dropdown-item-menu li a:active {
  color: #2e2f37;
  text-decoration: none;
  background-color: #eaecf4;
}

.dropdown-menu-area input[type="checkbox"] {
  display: none;
}

.dropdown-menu-area input[type="checkbox"] + label > span {
  font-weight: bold;
}

.dropdown-menu-area input[type="checkbox"]:checked + label {
  background: #eaecf4;
}

.card-header .academy-made {
  min-width: 180px;
  margin: 9px 0 0 15px;
}

.card-header .academy-made label {
  margin: 0;
}

/* =========================================================
   Print Wrapper
========================================================= */
#wrapper #content-wrapper.print-wapper {
  background-color: #fff;
  padding: 3rem 0;
}

.print-wapper .print-container {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.print-wapper .print-container .gnb-title {
  border-bottom: 1px solid #6c8692;
  margin-bottom: 3rem;
}

.print-wapper .print-container .gnb-title h1 {
  line-height: 50px;
  color: #366073;
  font-family: var(--font);
}

.print-wapper .print-container .gnb-title h1 span {
  font-size: 24px;
  font-weight: 500;
}

.print-wapper .print-container .gnb-title .title-simbol {
  display: block;
  width: 71px;
  height: 50px;
  background: url(/images/logo_simbol.png) no-repeat;
  background-size: cover;
}

.print-wapper .print-container .print-table table {
  border: 1px solid #e3e6f0;
}

.print-wapper .print-container .print-table table th {
  border: 1px solid #bbbfcd;
  vertical-align: middle;
  line-height: 120%;
  background: #cecfd3;
}

.print-wapper .print-container .print-table table td {
  border: 1px solid #e3e6f0;
}

.print-wapper .ludi-level-chart-area {
  top: 38%;
  left: 60%;
  transform: translate(-62%, -60%);
}

.print-wapper .ludi-level-chart {
  width: 100px;
  height: 100px;
}

.print-wapper .ludi-level-chart::after {
  width: 70px;
  height: 70px;
}

.print-wapper .ludi-level-box .ludi-level {
  line-height: 100%;
}

/* =========================================================
   Misc
========================================================= */
.cont-srch-area {
  margin: 0.3rem 0 1.2rem;
}

.cont-srch-area .card-header {
  border-bottom: none;
  border-radius: calc(0.35rem - 1px);
}

.cont-srch-area .card-header .form-control {
  min-height: 38px;
}

.card-body.height-full {
  min-height: 550px;
}

.overflow-list {
  height: 520px;
  overflow: hidden;
  overflow-y: scroll;
}

.modal-form-check-area {
  padding: 0.375rem 0;
}

.text-right-check {
  min-width: 45px;
  position: relative;
}

.text-right-check label {
  margin: 0;
}

.text-right-check input {
  position: absolute;
  right: 0;
}

.result-chart-warp {
  height: 400px;
  margin-top: 20px;
}

.result-grade-total {
  background: #858796;
  border-radius: calc(0.35rem - 1px);
  border: 1px solid #e3e6f0;
  display: block;
  clear: both;
  overflow: hidden;
  padding: 10px 20px;
}

.result-grade-total .total-text {
  float: left;
  padding-top: 3px;
  font-weight: 700;
  color: #fff;
  font-size: 16px;
}

.result-grade-total .total-text span {
  color: #faff00;
  font-size: 18px;
}

.result-grade-total .r-cont {
  float: right;
}

.result-grade-total .r-cont .btn {
  margin-left: 10px;
}

.result-grade-total .r-cont .btn-sm {
  padding: 0.25rem 1rem;
}

.exams-warp {
  padding: 10px;
}

.exams-warp .exams-area h5 {
  font-size: 14px;
  font-weight: 700;
}

.tag {
  color: #202530;
  background: #fff;
  cursor: pointer;
  border: 1px solid #202530;
  display: inline-block;
  padding: 0 20px;
  margin: 3px;
  border-radius: 5px;
  height: 30px;
  line-height: 28px;
}

.tag.on {
  color: #fff;
  background: #202530;
}

.btn-warp {
  text-align: center;
  padding-top: 20px;
}

.btn-warp .btn {
  width: 200px;
  margin: 0 5px;
}

.btn-warp .btn span {
  padding: 0.3rem 0.75rem;
  font-size: 16px;
  display: block;
}

.btn-warp .btn-warp-ex {
  font-size: 14px;
}

.input-group.student-search {
  position: relative;
}

.input-group.student-search input {
  display: inline-block;
  width: 100%;
  margin-right: 50px;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #6e707e;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #d1d3e2;
  border-radius: 0.35rem;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group.student-search input:focus {
  outline: none;
}

.input-group.student-search button {
  position: absolute;
  right: 0;
  display: inline-block;
  font-weight: 400;
  color: #858796;
  text-align: center;
  vertical-align: middle;
  user-select: none;
  background-color: #fff;
  border: 1px solid #858796;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.35rem;
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.input-group.student-search button:hover {
  background-color: #858796;
  color: #fff;
}

.footer-link {
  margin-bottom: 5px;
}

.footer-link a {
  padding: 0 5px;
}

.logo-name-inlinebox {
  display: flex;
  align-items: center;
  justify-content: left;
  padding: 0 20px;
}

.logo-name-inlinebox div:first-child {
  margin-right: 20px;
}

.logo-name-inlinebox span {
  font-size: 18px;
}

.tbl-learn-plan span::after {
  content: "|";
  padding: 0 5px;
  color: #99a0b6;
}

.tbl-learn-plan span:last-child::after {
  content: "";
}

/* =========================================================
   Account Settings Card
========================================================= */
.account-settings-card {
  max-width: 720px;
  margin: 24px auto 0;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 20px;
  box-shadow: 0 16px 36px rgba(36, 54, 103, 0.08);
  overflow: hidden;
}

.account-settings-card__body {
  padding: 28px 32px 10px;
}

.account-settings-card__row {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid #f1f3f7;
}

.account-settings-card__row label {
  color: var(--text-main);
  font-size: 14px;
}

.account-settings-card__row:last-child {
  border-bottom: 0;
}

.account-settings-card__input.form-control {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #d7dee8;
  border-radius: 12px;
  font-size: 14px;
  transition: all 0.2s ease;
}

.account-settings-card__input.form-control:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(21, 170, 188, 0.15);
}

.account-settings-card__input.form-control:disabled {
  background: #f3f5f8;
  color: #9ca3af;
}

.account-settings-card__footer {
  display: flex;
  justify-content: flex-end;
  padding: 20px 32px 28px;
  border-top: 1px solid var(--border);
}

.btn-point {
  min-width: 120px;
  background-color: var(--primary);
  border-color: var(--primary);
  box-shadow: 0 8px 18px rgba(36, 167, 243, 0.25);
  transition: all 0.2s ease;
}

.btn-point:hover {
  background-color: #e88314;
  border-color: #e88314;
  transform: translateY(-1px);
}

.btn-point:focus {
  box-shadow: 0 0 0 0.25rem rgba(243, 146, 36, 0.3);
}

/* =========================================================
   Mail Settings
========================================================= */
.layout-grid-2{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}

.policy-daily-area,
.policy-weekly-area {
  padding: 16px 0 0 0;
}

.policy-time-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
}

.policy-time-row .form-select {
  flex: 1 1 0;
  min-width: 0;
}

.policy-time-row .form-check-text {
  flex: 0 0 auto;
  white-space: nowrap;
  font-size: 14px;
  color: #6c757d;
}

.policy-week-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 5px;
}

.policy-week-days .policy-day-item {
  position: relative;
  margin: 0 0 10px 0;
  cursor: pointer;
  width: 100%;
}

.policy-week-days .policy-day-item span {
  width: 100%;
  min-width: 0;
}

.policy-day-item input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.policy-day-item span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 32px;
  padding: 0 14px;
  border: 1px solid #dee2e6;
  border-radius: 10px;
  background: #fff;
  color: #495057;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s ease;
}

.policy-day-item input:checked + span {
  border-color: var(--primary);
  color: var(--primary);
}

#mail-new-recipient {
  height: 48px;
  border-radius: 12px;
}

.card {
  border-radius: 20px;
  overflow: hidden;
}

.card-header {
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #f9fafb 100%
  );
  border-bottom: 1px solid #f1f3f5;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.9),
    inset 0 -1px 0 rgba(0, 0, 0, 0.02);
}

.card-header-select {
  width: 20%;
  margin-right: 10px;
}

.keyword-settings-wrap{
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}



/* =========================
   Sidebar
========================= */
.rm-sidebar {
  min-width: 220px;
  background: linear-gradient(
    180deg,
    #2a2d31 0%,
    #222529 50%,
    #191c1f 100%
  );
}

.rm-sidebar__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 10px 0px 5px;
  text-decoration: none;
}

.rm-sidebar__logo img {
  display: block;
  width: 100%;
  max-width: 150px;
  height: auto;
}

.rm-sidebar__title {
  margin: 18px 16px 10px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rm-sidebar__divider {
  width: 100%;
  height: 1px;
  margin: 16px 0;
  border: 0;
  background: rgba(255, 255, 255, 0.1);
}

.rm-sidebar__item {
  list-style: none;
  margin: 0;
  padding: 0 12px;
}

.rm-sidebar__item + .rm-sidebar__item {
  margin-top: 4px;
}

.rm-sidebar__link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px;
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.rm-sidebar__link:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.09);
  text-decoration: none;
}

.rm-sidebar__link.is-active {
  color: #fff;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.14);
}

.rm-sidebar__link i,
.rm-sidebar__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  min-width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.rm-sidebar__icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  display: block;
}




/* =========================
   대시보드
========================= */

.dashboard {
  width: 100%;
}

.dashboard .dashboard-title {
  font-size: 28px;
  font-weight: 800;
  margin: 0 0 24px;
}

.dashboard .dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.dashboard .card {
  background: #fff;
  border: 1px solid #e7edf5;
  border-radius: 20px;
  padding: 24px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.04);
}

.dashboard .card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}

.dashboard .card-title {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 0;
  color: #1f2937;
}

.dashboard .card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: #eff6ff;
  color: var(--primary);
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
}

.dashboard .summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  height: 100%;
}

.dashboard .summary-box {
  border: 1px solid #e7edf5;
  border-radius: 16px;
  padding: 20px;
  background: #fafcff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 20px;
}

.dashboard .summary-label {
  font-size: 18px;
  font-weight: 500;
  color: #6b7280;
}

.dashboard .summary-value-wrap {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: 10px;
}

.dashboard .summary-value {
  font-size: 72px;
  font-weight: 800;
  line-height: 1;
  color: #1f2937;
}

.dashboard .summary-unit {
  font-size: 36px;
  position: relative;
  font-weight: 600;
  top: -3px;
}

.dashboard .flex-box {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 14px;
}

.dashboard .company-count {
  border: 1px solid #e7edf5;
  border-radius: 16px;
  padding: 20px;
  background: #fff7f7;
}

.dashboard .company-count .summary-value-wrap {
  margin-top: 10px;
}

.dashboard .company-count .summary-value {
  color: #ef4444;
}
.dashboard .company-list-box {
  padding: 5px 20px;
  border: 1px solid #e7edf5;
  border-radius: 16px;
  background: #fff;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.dashboard .company-list{
  margin: 0;
  padding: 0;
}

.dashboard .company-list li {
  list-style: none;
  padding: 5px 5px;
  font-weight: 600;
  color: #374151;
  font-size: 14px;
  border-bottom: 1px dashed #e5e7eb;
}

.dashboard .company-list li:last-child {
  border-bottom: 0;
}

.dashboard .company-list-box .more {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 0;
  margin-top: 3px;
  border-radius: 5px;
  background: #eeeeee;
  color: rgba(0, 0, 0, 0.4);
  font-weight: 500;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.dashboard .company-list-box .more:hover {
  color: rgba(0, 0, 0, 0.7);
}

.dashboard .company-list-box .more::before {
  content: "+";
  margin-right: 4px;
  font-weight: 600;
}

.dashboard .history-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 8px;
}

.dashboard .history-table tr {
  background: #f8fafc;
}
.dashboard .history-table tr:hover {
  background: #f4f9ff;
  transform: scale(1.02);
}

.dashboard .history-table td {
  padding: 14px;
  font-size: 14px;
  color: #374151;
  vertical-align: middle;
}

.dashboard .history-table td:first-child {
  border-radius: 10px 0 0 10px;
}

.dashboard .history-table td:last-child {
  border-radius: 0 10px 10px 0;
}

.dashboard .history-table strong {
  color: #1f2937;
  font-weight: 800;
}

.dashboard .hit-keyword-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.dashboard .hit-keyword-grid > div {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dashboard .hit-keyword-grid .keyword-item {
  display: flex;
  align-items: baseline;
  gap: 10px;
  padding: 14px;
  background: #f8fafc;
  margin: 0 0 0 0;
  height: 49px;
  
}

.dashboard .hit-keyword-grid .keyword-item:hover{
  transform: scale(1.02);
  background: #f4f9ff;
}

.dashboard .hit-keyword-grid .keyword-rank {
  width: 24px;
  font-weight: 800;
  color: #9ca3af;
  flex-shrink: 0;
}

.dashboard .hit-keyword-grid .keyword-name {
  font-weight: 700;
  color: #374151;
}

.dashboard .hit-keyword-grid .keyword-count {
  color: #9ca3af;
  font-size: 13px;
  margin-left: 3px;
  position: relative;
  top: -1px;
}



/* =========================================================
   pagination
========================================================= */

.pagination-area{
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-item {
  display: flex;
}

.page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid #dbe3ee;
  border-radius: 12px;
  background: #fff;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.page-link:hover {
  background: #f8fbff;
  border-color: #bfdbfe;
  color: #2563eb;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.12);
  transform: translateY(-1px);
}

.page-item.active .page-link {
  border-color:  var(--dark);
  background: var(--dark);
  color: #fff;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.22);
}

.page-link.arrow {
  min-width: 42px;
  padding: 0;
  font-size: 13px;
}

.page-link span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.page-link i {
  font-size: 12px;
}

.page-item.disabled .page-link,
.page-link[aria-disabled="true"] {
  border-color: #e5e7eb;
  background: #f9fafb;
  color: #c0c7d1;
  box-shadow: none;
  pointer-events: none;
}

.page-item .page-link,
.page-item:first-child .page-link,
.page-item:last-child .page-link{
  border-radius: 999px;
}







/* =========================================================
   키워드 설정 현황
========================================================= */
.keyword-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 15px;
}

.keyword-status-item {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  width: auto;
  max-width: 100%;
  padding: 10px 14px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 999px;
  background: #fff;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.keyword-status-item .keyword-name {
  font-size: 18px;
  font-weight: 700;
  color: #1b2025;
  white-space: nowrap;
}

.keyword-status-item .keyword-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--secondary);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.keyword-status-item .keyword-count::before{
  content: 'Follow 중 회원사';
  font-size: 12px;
  color: #636d7a;
  font-weight: 500;
  margin-right: 5px;
}
.keyword-status-item .keyword-count::after{
  content: '개';
  font-size: 14px;
  font-weight: 600;
}


.keyword-status-item:hover {
  background: #effffd;
  transform: scale(1.02);
}
.keyword-status-item:hover .keyword-name{
  color: var(--primary);
}