@charset "utf-8";

/* ============================================
   논문 심사 규정 (rule_review) 전용 스타일
   심사 프로세스 플로우 + 조문 카드 + 색상 코드 판정표
   색상/폰트는 레이아웃 공통(--color) 사용
   ============================================ */

.rule_review {counter-reset: article;}

/* ---------- 심사 프로세스 플로우 ---------- */
.review_flow {margin-bottom:2.75rem;}
.review_flow .flow_title {display:flex; align-items:center; gap:9px; font-size:1.25rem; font-weight:700; color:#1e2a44; margin-bottom:1.25rem;}
.review_flow .flow_title::before {content:''; width:6px; height:22px; background:var(--gradient); border-radius:50rem;}
.review_flow .steps {display:grid; grid-template-columns:1fr; gap:0.875rem;}
.review_flow .step {position:relative; display:flex; align-items:center; gap:1rem; background:#fff; border:1px solid #e3e9f2; border-radius:16px; padding:1.125rem 1.25rem; box-shadow:0 5px 16px rgba(30,50,90,0.05);}
.review_flow .step .no {flex:0 0 44px; width:44px; height:44px; display:inline-flex; justify-content:center; align-items:center; background:var(--gradient); color:#fff; border-radius:14px; font-size:1.25rem; font-weight:700; font-family:"Roboto", sans-serif;}
.review_flow .step .tx strong {display:block; font-size:1.0625rem; color:#1e2a44;}
.review_flow .step .tx span {font-size:0.9063rem; color:#7a869a;}

/* ---------- 조문 카드 ---------- */
.rule_review dl {background:#fff; border:1px solid #e2e7f0; border-radius:16px; overflow:hidden; box-shadow:0 4px 14px rgba(30,50,90,0.05); transition:box-shadow .2s ease-out, transform .2s ease-out;}
.rule_review dl:hover {box-shadow:0 10px 24px rgba(30,50,90,0.1); transform:translateY(-2px);}
.rule_review dl + dl {margin-top:1.125rem;}
.rule_review dl > dt {display:flex; align-items:center; gap:11px; background:linear-gradient(100deg, #f4f7fd 0%, #eef4fb 100%); border-bottom:1px solid #e6ecf5; padding:0.9375rem 1.375rem; font-size:1.125rem; font-weight:700; color:var(--color);}
.rule_review dl > dt::before {counter-increment: article; content: counter(article); display:inline-flex; justify-content:center; align-items:center; flex:0 0 32px; width:32px; height:32px; background:var(--color); color:#fff; border-radius:50rem; font-size:0.9375rem; font-family:"Roboto", sans-serif;}
.rule_review dl > dd {padding:1.25rem 1.5rem; line-height:1.8; color:#333;}

/* 부칙(마지막 dl) 강조 */
.rule_review dl:last-of-type > dt {background:#eef7f4; color:#1f8a6d; border-color:#d3ebe1;}
.rule_review dl:last-of-type > dt::before {counter-increment:none; content:'\e5ca'; font-family:var(--material); background:#2ca985; font-size:1.125rem;}

/* ---------- 제5조 판정 종류(numlist) ---------- */
.rule_review .numlist {counter-reset: number 0; margin:0.875rem 0 0; padding:0; list-style:none;}
.rule_review .numlist > li {position:relative; background:#f8fafd; border:1px solid #e7edf5; border-left:4px solid var(--color); border-radius:10px; padding:0.875rem 1rem 0.875rem 2.75rem; line-height:1.7;}
.rule_review .numlist > li::before {counter-increment: number 1; content: counter(number); position:absolute; left:0.75rem; top:0.875rem; display:inline-flex; justify-content:center; align-items:center; width:22px; height:22px; background:var(--color); color:#fff; border-radius:50rem; font-size:0.75rem; font-weight:700;}
.rule_review .numlist > li + li {margin-top:8px;}
.rule_review .numlist > li:nth-child(1) {border-left-color:#2ca985;}
.rule_review .numlist > li:nth-child(2) {border-left-color:#3674b5;}
.rule_review .numlist > li:nth-child(3) {border-left-color:#e8912a;}
.rule_review .numlist > li:nth-child(4) {border-left-color:#e0554a;}
.rule_review .numlist > li:nth-child(1)::before {background:#2ca985;}
.rule_review .numlist > li:nth-child(2)::before {background:#3674b5;}
.rule_review .numlist > li:nth-child(3)::before {background:#e8912a;}
.rule_review .numlist > li:nth-child(4)::before {background:#e0554a;}

/* ---------- 제4조 판정표 ---------- */
.rule_review .scroll_in {display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:1rem;}
.judge_tb {width:100%; border-top:2px solid var(--color); border-collapse:collapse; min-width:520px; text-align:center;}
.judge_tb th, .judge_tb td {border:1px solid #e2e7ee; padding:0.625rem 0.5rem; font-size:1rem;}
.judge_tb thead th {background:#eef3fb; color:#26364f; border-bottom-color:#c6d4e8;}
.judge_tb tbody th, .judge_tb tbody td {background:#fff;}
.judge_tb .res {font-weight:700; white-space:nowrap;}
.judge_tb .r-pass {background:#e9f7f1; color:#1f8a6d;}
.judge_tb .r-mod {background:#eaf2fb; color:#2c62a8;}
.judge_tb .r-modrev {background:#e9f5f6; color:#1f8290;}
.judge_tb .r-rev {background:#fdf1e3; color:#c9781c;}
.judge_tb .r-revfail {background:#fbeee7; color:#c56a2c;}
.judge_tb .r-fail {background:#fbeceb; color:#c53d33;}

.rule_review a {color:var(--color); text-decoration:underline; word-break:break-all;}

@media screen and (min-width:769px) {
	.review_flow .steps {grid-template-columns:repeat(5, 1fr); gap:0.75rem;}
	.review_flow .step {flex-direction:column; text-align:center; gap:0.625rem; padding:1.375rem 0.75rem;}
	.review_flow .step:not(:last-child)::after {content:'\e5cc'; font-family:var(--material); position:absolute; top:50%; right:-0.6rem; transform:translateY(-50%); color:#c2cee1; font-size:1.375rem; z-index:1;}
	.review_flow .step .tx span {font-size:0.875rem;}
}

@media screen and (max-width:768px) {
	.rule_review dl > dt {font-size:1.0625rem; padding:0.8125rem 1.125rem;}
	.rule_review dl > dd {padding:1.125rem; font-size:1rem;}
	.review_flow .step .no {flex-basis:38px; width:38px; height:38px; font-size:1.125rem;}
}
