/* 대시보드 요약 카드 */
.dash-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 24px; }
.dash-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 12px; padding: 18px; transition: transform 0.2s; }
.dash-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.08); }
.dash-card .dc-icon { font-size: 1.8em; margin-bottom: 6px; }
.dash-card .dc-label { font-size: 0.82em; color: #888; margin-bottom: 4px; }
.dash-card .dc-value { font-size: 1.4em; font-weight: 800; color: #1b523c; }
.dash-card .dc-sub { font-size: 0.78em; color: #999; margin-top: 4px; }
.dash-card.warn { border-color: #ff9800; background: #fff8e1; }
.dash-card.warn .dc-value { color: #e65100; }
.dash-card.good { border-color: #3cb371; background: #f0fdf4; }

/* 잔금 납부 일정 */
.dash-deadline { margin-bottom: 24px; }
.dash-deadline .dl-title { font-size: 1em; font-weight: 700; color: #1b523c; margin-bottom: 10px; }
.dl-list { display: flex; gap: 12px; flex-wrap: wrap; }
.dl-item { background: #fff; border: 1px solid #e0e0e0; border-radius: 10px; padding: 12px 16px; display: flex; align-items: center; gap: 12px; min-width: 220px; }
.dl-item .dl-days { font-size: 1.5em; font-weight: 800; min-width: 50px; text-align: center; }
.dl-item .dl-days.urgent { color: #c62828; }
.dl-item .dl-days.soon { color: #e65100; }
.dl-item .dl-days.normal { color: #1b523c; }
.dl-item .dl-info { font-size: 0.85em; }
.dl-item .dl-info .dl-name { font-weight: 600; color: #333; }
.dl-item .dl-info .dl-date { color: #888; }

/* 비로그인 안내 섹션 */
.guest-guide-section { padding: 20px 0; }
.section-intro, .section-features { margin-bottom: 40px; }
.section-intro h2, .section-features h2 {
    font-size: 1.8em; color: #1b523c; margin-bottom: 20px;
    border-bottom: 2px solid #3cb371; padding-bottom: 10px;
}
.intro-card {
    background: #fff; border: 1px solid #e9ecef; padding: 25px;
    border-radius: 15px; box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    margin-bottom: 20px;
}
.intro-card h3 { color: #1b523c; margin-bottom: 15px; font-size: 1.2em; }
.intro-card p { line-height: 1.6; color: #555; }

.feature-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px;
}
.feature-card {
    background: white; padding: 20px; border-radius: 15px;
    border: 1px solid #e9ecef; text-align: center;
    transition: all 0.3s; box-shadow: 0 3px 10px rgba(0,0,0,0.03);
}
.feature-card:hover {
    border-color: #3cb371; transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(60,179,113,0.15);
}
.feature-card .icon { font-size: 2.5em; margin-bottom: 10px; }
.feature-card h4 { color: #1b523c; margin-bottom: 10px; font-size: 1.1em; }
.feature-card p { font-size: 0.9em; color: #666; line-height: 1.4; }

@media (max-width: 1024px) {
    .feature-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .dash-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .feature-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .dash-cards { grid-template-columns: 1fr; }
    .dl-list { flex-direction: column; }
}
