/* ====================================================
   레벨업 계산기 스타일 (levelup_calc.php)
   공통 요소(검색 카드·배너·카드·안내)는 exp_efficiency.css 재사용
   ==================================================== */

/* ============ 2단 그리드 ============ */
.lvc-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 18px;
    align-items: flex-start;
}

/* ============ 컨텐츠 선택 ============ */
.lvc-group-title {
    font-size: 13.5px;
    font-weight: 700;
    color: #3C3744;
    margin: 18px 0 8px;
    padding-left: 8px;
    border-left: 3px solid #B4C5E4;
}
.lvc-options .lvc-group-title:first-of-type { margin-top: 4px; }
.lvc-group-title-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.lvc-select-btns { display: inline-flex; gap: 4px; flex-shrink: 0; }
.lvc-select-btns button {
    border: 1px solid #d4d8e2;
    background: #fff;
    color: #666;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
}
.lvc-select-btns button:hover { background: #f4f5f9; color: #3C3744; }

.lvc-opt {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 2px;
    font-size: 13.5px;
    color: #444;
    cursor: pointer;
}
.lvc-opt input[type="checkbox"],
.lvc-opt input[type="radio"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #3C3744;
    flex-shrink: 0;
}
.lvc-opt small { color: #aab1c3; font-size: 11.5px; }
/* 레벨 제한으로 잠긴 옵션은 흐리게 */
.lvc-opt:has(input:disabled) { opacity: 0.45; }
.lvc-opt input:disabled, .lvc-select:disabled { cursor: not-allowed; }
.lvc-opt-sub { padding-left: 20px; }
.lvc-opt-inline {
    justify-content: space-between;
    cursor: default;
}
.lvc-opt-inline > label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
.lvc-opt-head { font-weight: 600; color: #444; }
.lvc-group-note { font-weight: 400; color: #aab1c3; font-size: 11px; margin-left: 4px; }
.lvc-done {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    color: #888;
    cursor: pointer;
    white-space: nowrap;
}
.lvc-done input[type="checkbox"] { width: 14px; height: 14px; accent-color: #b07d1a; }
.lvc-inline-input { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; color: #666; }
.lvc-num {
    width: 64px;
    border: 1px solid #d4d8e2;
    border-radius: 7px;
    padding: 5px 8px;
    font-size: 13px;
    color: #3C3744;
    text-align: right;
    outline: none;
}
.lvc-num:focus { border-color: #B4C5E4; }
.lvc-select {
    border: 1px solid #d4d8e2;
    border-radius: 7px;
    padding: 5px 8px;
    font-size: 12.5px;
    color: #3C3744;
    background: #fff;
    outline: none;
}

/* ============ 결과 ============ */
.lvc-target-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-bottom: 14px;
    margin-bottom: 14px;
    border-bottom: 1px solid #eef0f5;
}
.lvc-target-row label { font-size: 14px; font-weight: 700; color: #3C3744; }
/* 썬데이 메이플 몬파 예정일 배지 (목표 레벨 행 오른쪽 끝) */
.lvc-sunday-mp {
    margin-left: auto;
    background: #e8e3fb;
    color: #5b3fbf;
    border-radius: 10px;
    font-size: 11.5px;
    font-weight: 700;
    padding: 3px 9px;
    white-space: nowrap;
    cursor: help;
}
.lvc-burning {
    margin: -6px 0 12px;
    padding: 7px 10px;
    background: #fff3ec;
    border: 1px solid #f3d5c2;
    border-radius: 8px;
}
.lvc-burning input[type="checkbox"] { accent-color: #e67e22; }
.lvc-target-input {
    width: 100px;
    border: 1px solid #d4d8e2;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 15px;
    font-weight: 700;
    color: #3C3744;
    outline: none;
}
.lvc-target-input:focus { border-color: #B4C5E4; }

.lvc-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}
.lvc-stat {
    background: #f7f8fb;
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.lvc-stat-label { font-size: 12px; color: #888; }
.lvc-week-toggle { margin-left: 6px; vertical-align: -2px; }
.lvc-week-toggle button { padding: 2px 8px; font-size: 10.5px; }
.lvc-stat-label small { color: #aab1c3; font-size: 10.5px; }
.lvc-stat-value { font-size: 17px; color: #3C3744; word-break: break-all; }
.lvc-stat-main { background: #f0f7ee; }
.lvc-stat-main .lvc-stat-value { font-size: 22px; color: #27ae60; }
.lvc-stat-wide { grid-column: 1 / -1; align-items: center; }

.lvc-warning {
    margin: 0 0 12px;
    padding: 10px 14px;
    background: #fdf3f2;
    border: 1px solid #f5d3cf;
    border-radius: 8px;
    font-size: 13px;
    color: #c0392b;
}

/* ============ 레벨별 일정 테이블 ============ */
.lvc-schedule-wrap {
    max-height: 420px;
    overflow-y: auto;
    border: 1px solid #eef0f5;
    border-radius: 10px;
}
.lvc-schedule {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.lvc-schedule th, .lvc-schedule td {
    padding: 8px 10px;
    text-align: center;
    border-bottom: 1px solid #f0f2f7;
}
.lvc-schedule thead th {
    position: sticky;
    top: 0;
    background: #f7f8fb;
    color: #888;
    font-weight: 600;
    font-size: 12px;
}
.lvc-schedule tbody tr:last-child td { border-bottom: 0; }
.lvc-schedule tbody td:first-child { font-weight: 700; color: #3C3744; }
.lvc-empty { color: #999; padding: 20px !important; }

/* ============ 반응형 ============ */
@media (max-width: 860px) {
    .lvc-grid { grid-template-columns: 1fr; }
    .lvc-stats { grid-template-columns: repeat(2, 1fr); }
}
