/* ══════════════════════════════════
   카비서 미니멀 프리미엄 테마
   토스/당근 스타일 — 절제된 색감, 넓은 여백
   ══════════════════════════════════ */

/* ──────── 전역 ──────── */
body {
    background: var(--color-bg-page);
    font-family: 'Pretendard Variable', 'Pretendard', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans KR', sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* ──────── 헤더 — 웜 글래스 ──────── */
.app-header {
    background: rgba(255,251,242,0.88);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    box-shadow: 0 1px 0 rgba(162,128,60,0.08);
    padding: 10px 16px;
}

/* ──────── 페이지 타이틀 — 대형 볼드 ──────── */
.page-title {
    font-size: 26px;
    font-weight: 800;
    text-align: left;
    letter-spacing: -0.5px;
    margin-bottom: 2px;
    color: var(--color-text);
}
.page-subtitle {
    text-align: left;
    font-size: 14px;
    margin-bottom: 20px;
    color: var(--color-text-muted);
}

/* ──────── 검색창 ──────── */
.campaign-search-input {
    background: var(--color-bg-muted);
    border: none;
    border-radius: var(--radius-md);
    padding: 11px 40px;
    font-size: 15px;
}
.campaign-search-input:focus {
    background: var(--color-border);
    border: none;
    box-shadow: none;
}
.campaign-search-input::placeholder { color: var(--color-text-faint); }
.campaign-search-clear {
    background: var(--color-text-faint);
    color: #fff;
    width: 20px; height: 20px;
    font-size: 13px; line-height: 20px;
}

/* ──────── 카드 — 미니멀 ──────── */
.campaign-card {
    background: #fff;
    border: none;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    transition: transform 0.15s ease;
}
.campaign-list .campaign-card:active { transform: scale(0.97); }

.campaign-remain-badge { border-radius: var(--radius-md); }
.campaign-closed { border-radius: var(--radius-md); }
.campaign-apply-btn { border-radius: var(--radius-md); box-shadow: none; }

/* 일정 블록 */
.sch-block { border: none; border-radius: var(--radius-sm); background: var(--color-bg-muted); }
.sch-block.sch-today { border: none; }

/* 내 진행 */
.campaign-card-my { border-top: 1px solid var(--color-border-light); }

/* ──────── 하단 네비 ──────── */
.bottom-nav {
    background: rgba(255,255,255,0.92);
    backdrop-filter: saturate(180%) blur(20px);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    border-top: 0.5px solid rgba(0,0,0,0.06);
}
.nav-label { font-size: 10px; }

/* ──────── 내작업 카드 ──────── */
.status-card {
    background: #fff;
    border: none;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

/* 아이디 행 */
.id-row { border: none; border-radius: var(--radius-sm); background: var(--color-bg-muted); }

/* ──────── 폼 ──────── */
.form-group input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
    border-radius: var(--radius-md);
}

/* ──────── 버튼 ──────── */
.btn { border-radius: var(--radius-md); }
.btn-sm { border-radius: var(--radius-sm); }
.btn-xs { border-radius: var(--radius-sm); }

/* ──────── 공지/FAQ ──────── */
.notice-card, .faq-item {
    background: #fff;
    border: none;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

/* ──────── 검색 입력 ──────── */
.search-input {
    background: var(--color-bg-muted);
    border: none;
    border-radius: var(--radius-md);
}
.search-input:focus {
    background: var(--color-border);
    border: none;
    box-shadow: none;
}

/* ──────── 캠페인 상세 ──────── */
.detail-section {
    background: #fff;
    border: none;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

/* ──────── task 페이지 ──────── */
.id-tab { border: none; border-radius: var(--radius-full); }
.id-status-bar { border: none; border-radius: var(--radius-md); }
.bank-preset-btn { border-radius: var(--radius-md); }

/* ──────── 토스트 ──────── */
.reviewer-toast { border-radius: var(--radius-full); }

/* ──────── 채팅 배너 ──────── */
.chat-top-banner {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
