@charset "utf-8";

.agreement-viewer p { margin:0 0 .8em; }
.agreement-viewer ul, .agreement-viewer ol { padding-left:1.5em; margin:.6em 0; }
.agreement-viewer ul { list-style:disc; }
.agreement-viewer ol { list-style:decimal; }
.agreement-viewer h2, .agreement-viewer h3, .agreement-viewer h4 { font-weight:700; margin:1em 0 .5em; }
.agreement-viewer table { border-collapse:collapse; width:100%; }
.agreement-viewer td, .agreement-viewer th { border:1px solid #cbd5e1; padding:8px; }
.agreement-viewer { overflow-wrap:anywhere; }

/* 접수 페이지 */
.registration-page .fee-amount { display:inline-flex; align-items:baseline; gap:8px; white-space:nowrap; }
.reg-page input[type="radio"], .reg-page input[type="checkbox"] { accent-color:#58743a; }
.reg-page .field { width:100%; height:42px; border:1px solid #d8ded1; border-radius:10px; background:#fff; padding:0 12px; font-size:14px; color:#1f2937; outline:none; transition:.18s ease; }
.reg-page .field:focus { border-color:#6f8d48; box-shadow:0 0 0 3px rgba(111,141,72,.12); }
.reg-page .field::placeholder { color:#a3a3a3; }
.reg-page .field[readonly] { background:#f8faf7; color:#64748b; }
.reg-page .field.sm { height:38px; padding:0 6px; font-size:14px; border-radius:4px;}
.reg-page select.field { appearance:none; background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%); background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:32px; }
.reg-page textarea.field { min-height:82px; height:auto; padding:12px; resize:vertical; line-height:1.6; }
.reg-page .required:after { content:"*"; margin-left:3px; color:#ef4444; }
.reg-page .section-card { border-radius:16px; background:#fff; padding:20px; box-shadow:0 10px 35px rgba(39,55,31,.07); }
.reg-page .section-head { display:flex; align-items:flex-start; gap:12px; padding-bottom:16px; border-bottom:1px solid #f1f5f9; }
.reg-page .section-icon { display:flex; width:36px; height:36px; flex:0 0 36px; align-items:center; justify-content:center; border-radius:12px; background:#f5f7f1; color:#58743a; }
.reg-page .course-card { display:flex; min-height:96px; cursor:pointer; flex-direction:column; border:1px solid #dce3d6; border-radius:14px; background:#fff; padding:13px; transition:.18s ease; }
.reg-page .course-card:hover { border-color:#9db382; background:#fafbf8; }
.reg-page .course-radio:checked + .course-card { border-color: #0275c1; background: #f0f7ff; box-shadow:0 0 0 3px rgba(88,116,58,.13); }
.reg-page .summary-card { overflow:hidden; border-radius:22px; background:#232f69; color:#fff; box-shadow:0 16px 35px rgba(34,53,28,.16); }
.reg-page .summary-row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; font-size:13px; }
.reg-page .summary-row dt { color:rgba(255,255,255,.8); }
.reg-page .summary-row dd { max-width:190px; text-align:right; font-weight:800; color:#fff; }
.reg-page .floating-column { position:sticky; top:135px; align-self:start; }
.reg-page .table-scroll::-webkit-scrollbar { height:8px; }
.reg-page .table-scroll::-webkit-scrollbar-thumb { background:#cbd5c0; border-radius:999px; }
.reg-page .participant-row td { vertical-align:middle; }
.reg-page .paste-grid-scroll { max-height:410px; overflow:auto; scrollbar-gutter:stable; }
.reg-page .paste-grid-scroll thead { position:sticky; top:0; z-index:5; }
.reg-page .paste-cell { width:100%; min-width:0; height:34px; border:0; border-radius:0; background:transparent; padding:5px 7px; font-size:12px; line-height:1.2; color:#334155; outline:none; box-shadow:none; }
.reg-page .paste-cell:hover { background:#f8fafc; }
.reg-page .paste-cell:focus { background:#fff; box-shadow:inset 0 0 0 2px #6f8d48; }
.reg-page .paste-cell.is-valid { background:transparent; color:#334155; }
.reg-page .paste-cell.is-invalid { background:#fff1f2; color:#b91c1c; box-shadow:inset 0 0 0 1px #fca5a5; }
.reg-page .paste-error { display:none; }
.reg-page .paste-cell.is-invalid + .paste-error { display:block; padding:0 7px 5px; font-size:9px; line-height:1.25; color:#dc2626; }
.reg-page .excel-sheet-wrap { width:100%; overflow-x:auto; border:1px solid #d8ded1; border-radius:10px; background:#fff; padding:10px 10px 0 10px; max-height:300px; }
.reg-page .jexcel_content table { border-right:solid 1px #ccc !important; border-bottom:solid 1px #ccc !important; }
.reg-page #spreadsheet { min-width:820px; }
.reg-page #spreadsheet .jexcel { border:0; font-family:'Pretendard','Noto Sans KR',sans-serif; font-size:13px; }
.reg-page #spreadsheet .jexcel > thead > tr > td { height:36px; background:#f1f5f9; color:#64748b; font-weight:700; }
.reg-page #spreadsheet .jexcel > tbody > tr > td { height:34px; color:#334155; }
.reg-page #spreadsheet .jexcel td.highlight, .reg-page #spreadsheet .jexcel td.selected { background:#f5f7f1; }
.reg-page #spreadsheet .jexcel_corner { background:#58743a; }

@media (max-width:1023px) {
    .reg-page .floating-column { position:static; }
}
@media (max-width:767px) {
    .reg-page .participant-table-wrap { overflow:visible; }
    .reg-page .participant-mobile-table { display:block; min-width:0!important; width:100%; }
    .reg-page .participant-mobile-table thead { display:none; }
    .reg-page .participant-mobile-table tbody { display:block; }
    .reg-page .participant-mobile-table .participant-row { display:block; margin-bottom:16px; overflow:hidden; border:1px solid #e2e8f0; border-radius:14px; background:#fff; box-shadow:0 4px 14px rgba(15,23,42,.05); }
    .reg-page .participant-mobile-table .participant-row td { display:grid; grid-template-columns:74px minmax(0,1fr); align-items:center; gap:10px; width:100%; padding:7px 10px; border-bottom:1px solid #f1f5f9; }
    .reg-page .participant-mobile-table .participant-row td::before { color:#64748b; font-size:12px; font-weight:700; }
    .reg-page .participant-mobile-table .participant-row td:nth-child(1) { display:block; padding:10px 12px; background:#f6f7f4; color:#58743a; text-align:left; }
    .reg-page .participant-mobile-table .participant-row td:nth-child(1)::before { content:'참가자 '; }
    .reg-page .participant-mobile-table .participant-row td:nth-child(2)::before { content:'이름'; }
    .reg-page .participant-mobile-table .participant-row td:nth-child(3)::before { content:'생년월일'; }
    .reg-page .participant-mobile-table .participant-row td:nth-child(4)::before { content:'성별'; }
    .reg-page .participant-mobile-table .participant-row td:nth-child(5)::before { content:'참가부문'; }
    .reg-page .participant-mobile-table .participant-row td:nth-child(6)::before { content:'기념품'; }
    .reg-page .participant-mobile-table .participant-row td:nth-child(7)::before { content:'휴대전화'; }
    .reg-page .participant-mobile-table .participant-row td:nth-child(8) { display:block; padding:10px; border-bottom:0; text-align:right; }
    .reg-page .participant-mobile-table .participant-row td:nth-child(8) button { width:100%; }
    .reg-page .participant-mobile-table .field { min-width:0!important; width:100%; height:46px; font-size:16px; }
}
@media (max-width:639px) {
.reg-page .section-card { padding:16px; }
.reg-page .field { height:46px; font-size:16px; }
.reg-page textarea.field { height:auto; }
.reg-page .course-card { min-height:92px; padding:12px; }
}
/* //접수 페이지 */
