:root { 
    --coffee-dark: #3c2a21; 
    --coffee-medium: #603601;
    --bg-soft: #f8f9fa; 
}

body { 
    background-color: var(--bg-soft); 
    font-family: 'Inter', 'Segoe UI', sans-serif; 
}

.glass-card { 
    background: white; 
    border: none; 
    border-radius: 12px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.04); 
}

.form-label { 
    font-size: 0.75rem; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
    color: #6c757d; 
}

.btn-coffee { 
    background-color: var(--coffee-dark); 
    color: white; 
}

.btn-coffee:hover { 
    background-color: #2a1d17; 
    color: white; 
}

.table thead th { 
    border-top: none; 
    background-color: #fcfcfc; 
    font-size: 0.75rem; 
}

.sticky-form { 
    top: 20px; 
}

.status-badge { 
    font-size: 0.7rem; 
    padding: 4px 8px; 
    border-radius: 6px; 
}

#budgetHint { 
    font-size: 0.7rem; 
    font-weight: bold; 
    transition: all 0.3s; 
}

.step-indicator { 
    display: flex; 
    gap: 4px; 
    margin-top: 5px; 
}

.step-dot { 
    height: 4px; 
    flex-grow: 1; 
    border-radius: 2px; 
    background: #e9ecef; 
}

.step-active { 
    background: #198754; 
}

.sop-link { 
    color: var(--coffee-medium); 
    text-decoration: none; 
    font-weight: 600; 
    cursor: pointer; 
}

.sop-link:hover { 
    text-decoration: underline; 
    color: black; 
}

#map { 
    height: 250px; 
    width: 100%; 
    border-radius: 12px; 
    margin-bottom: 25px; 
    border: 5px solid white; 
    box-shadow: 0 5px 15px rgba(0,0,0,0.05); 
    z-index: 1; 
}

.roi-box { 
    background: #f0fff4; 
    border: 1px solid #c6f6d5; 
    border-radius: 10px; 
    padding: 12px; 
    display: none; 
    margin-bottom: 15px; 
}

.accuracy-tag { 
    font-size: 0.6rem; 
    background: #2f855a; 
    color: white; 
    padding: 2px 8px; 
    border-radius: 20px; 
    float: right; 
}

.heatmap-dot { 
    width: 10px; 
    height: 10px; 
    border-radius: 50%; 
    display: inline-block; 
    margin-right: 5px; 
}

.searching-loader { 
    font-size: 0.7rem; 
    color: #0d6efd; 
    display: none; 
}