/**
 * UniSponsor Common CSS
 * 공통 스타일 정의
 */

/* CSS 변수 정의 */
:root {
    --brand: #2f55d4;
    --brand-soft: #eaf0ff;
    --ink: #1f2937;
    --muted: #6b7280;
    --line: #e5e7eb;
}

/* 기본 폰트 설정 */
body {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
}

/* 카드 스타일 */
.card-soft {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04);
}

/* 섹션 타이틀 */
.section-title {
    font-size: 1.05rem;
    font-weight: 600;
    padding: 0.65rem 0.9rem;
    background: #f1f5fb;
    border-left: 3px solid var(--brand);
    border-radius: 4px 4px 0 0;
}

/* 폼 테이블 */
.table-form {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.table-form th,
.table-form td {
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid var(--line);
    vertical-align: middle;
    font-size: 0.92rem;
}

.table-form th {
    background: #f9fafb;
    width: 160px;
    font-weight: 500;
    color: #374151;
    text-align: left;
}

.table-form tr:last-child th,
.table-form tr:last-child td {
    border-bottom: none;
}

/* 버튼 스타일 */
.btn-brand {
    background: var(--brand);
    color: #fff;
    border-color: var(--brand);
}

.btn-brand:hover {
    background: #234ac2;
    color: #fff;
}

/* 폼 라벨 */
.form-label {
    font-weight: 500;
    color: #374151;
}

/* 배지 스타일 */
.badge-deadline {
    background: var(--brand-soft);
    color: var(--brand);
    font-weight: 600;
}

/* AJAX 로딩 오버레이 */
#ajax-loading {
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.55);
    z-index: 1080;
    display: none;
    align-items: center;
    justify-content: center;
}

#ajax-loading.show {
    display: flex;
}

#ajax-loading .spinner-border {
    width: 3rem;
    height: 3rem;
    color: var(--brand);
}

/* 유틸리티 클래스 */
.text-brand {
    color: var(--brand) !important;
}

.text-muted {
    color: var(--muted) !important;
}

.bg-brand {
    background-color: var(--brand) !important;
}

.bg-brand-soft {
    background-color: var(--brand-soft) !important;
}

.border-brand {
    border-color: var(--brand) !important;
}
